セル内にカンマで区切られた値が入力されているとします。
たとえば、「4/6,天気,晴れ,最高気温,17度」という値です。
セルA1の値がカンマで5つに区切られていることを、InStr関数とSplit関数を
使って分析するサンプルを紹介します。
準備として標準モジュールに次のマクロを作成してください。
<InStr関数を使ったサンプル>Excel97/2000
Sub Sample1()
Dim myBuf As String
Dim i As Integer
myBuf = Range("A1").Value
Do Until InStr(myBuf, ",") = 0
i = i + 1
myBuf = Mid(myBuf, InStr(myBuf, ",") + 1)
Loop
MsgBox i + 1 & "個に分れています"
End Sub
<Split関数を使ったサンプル>Excel2000
Sub Sample2()
Dim AllData As Variant
Dim myData As Variant
Dim i As Integer
AllData = Split(Range("A1"), ",")
For Each myData In AllData
i = i + 1
Next
MsgBox i & "個に分れています"
End Sub
(1)InStr関数は、文字列の中から指定した文字列を検索し、最初に見つかった
文字位置(先頭からその位置までの文字数)を返す文字列処理関数です。
(2)Split関数は、各要素ごとに区切られた文字列から1次元配列を作成し、
返します。
|