カンマで区切られたセルの値を分析する(区切り範囲数を取得する)
 セル内にカンマで区切られた値が入力されているとします。
 たとえば、「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次元配列を作成し、
  返します。

Excel97/2000



戻る


Excel Word Access VBA! モーグ