サイトについて      連絡先   検索

VBA 文字列の操作

はじめに

Excel VBA の 文字列 (String) を操作する方法を紹介します。

VBA の文字列の検索、比較、結合、取得、分割などを紹介します。

文字列の検索

文字列を検索するには「InStr 関数」を使用します。引数には (検索元, 検索キーワード) を渡します。

Dim i As Integer
i = InStr("ABCDEF", "C")
Debug.Print (i) ' 3

「大文字と小文字」、「半角と全角」、「ひらがなとカタカナ」を区別するには最後の引数を指定します。

Dim i As Integer
i = InStr(1, "abcABC", "A", vbBinaryCompare) ' 区別する
Debug.Print (i) ' 4

i = InStr(1, "abcABC", "A", vbTextCompare) ' 区別しない
Debug.Print (i) ' 1

検索した文字が見つからないときは 0 が返ります。

文字列の比較

文字列が等しいかどうかは =, <> で比較できます。

If "ABC" = "abc" Then ' 等しいか
End If

If "ABC" <> "abc" Then ' 等しくないか
End If

文字列の大小を比較するには「StrComp 関数」を使用します。引数には (文字列1, 文字列2) を渡します。

比較した結果は次の値を返します。

Dim i As Integer
i = StrComp("あいうえお", "かきくけこ")
Debug.Print (i) ' -1

Dim v As Variant
v = StrComp("あいうえお", Null)
Debug.Print (v) ' Null

「大文字と小文字」、「半角と全角」、「ひらがなとカタカナ」を区別するには最後の引数を指定します。

Dim i As Integer
i = StrComp("あいうえお", "アイウエオ", vbBinaryCompare) ' 区別する
Debug.Print (i) ' -1

i = StrComp("あいうえお", "アイウエオ", vbTextCompare) ' 区別しない
Debug.Print (i) ' 0

文字列の結合

文字列を結合するには & を使用します。

Dim s As String
s = "1" & "2" & "3"
Debug.Print (s) ' "123"

文字数の取得

文字数を取得するには「Len 関数」または LenB 関数を使用します。

Dim i As Integer
i = Len("ABC")
Debug.Print (i) ' 3

i = LenB("ABC")
Debug.Print (i) ' 6

VBA の文字コードは Shift-JIS なので一文字 2 バイトで "ABC" は 6 バイトになります。

文字列の分割

文字列を分割するには「Left 関数」、「Right 関数」または「Mid 関数」を使用します。

Dim s As String
s = Left("ABCDEF", 3)
Debug.Print (s) ' "ABC"

s = Right("ABCDEF", 3)
Debug.Print (s) ' "DEF"

s = Mid("ABCDEF", 2, 3)
Debug.Print (s) ' "BCD"

関連ページ