Excel VBAで文字列を抽出する方法
Excel VBAで文字列を抽出する方法を紹介します。
1.はじめに
Excel VBAで文字列を抽出するには、下記の方法があります(正規表現による抽出を除く)。
- 文字列の左端から抽出する
- 文字列の右端から抽出する
- 文字列の任意の位置から抽出する
以下、それぞれの方法について紹介します。
2.文字列の左端から抽出する
文字列の左端から抽出するにはLeft()関数を用います。
Left()関数の第1パラメータには対象の文字列、第2パラメータには抽出する文字数を指定します。
サンプル
Sub test()
Dim foo As String
Dim bar As String
foo = "abcde"
bar = Left(foo, 3)
MsgBox bar
End Sub
5行目のLeft()関数で、変数fooの左端から3文字を抽出しています。
bar = Left(foo, 3)
実行結果は次のように「abc」になります。
3.文字列の右端から抽出する
文字列の右端から抽出するにはRight()関数を用います。
Right()関数の第1パラメータには対象の文字列、第2パラメータには抽出する文字数を指定します。
サンプル
Sub test()
Dim foo As String
Dim bar As String
foo = "abcde"
bar = Right(foo, 3)
MsgBox bar
End Sub
5行目のRight()関数で、変数fooの右端から3文字を抽出しています。
bar = Right(foo, 3)
実行結果は次のように「cde」になります。
4.文字列の任意の位置から抽出する
文字列の任意の位置から抽出するにはMid()関数を用います。
Mid()関数の第1パラメータには対象の文字列、第2パラメータには開始位置、第3パラメータには抽出する文字数を指定します。
第2パラメータの開始位置は「1」から数えます。また第3パラメータが文字列の文字数を超えてしまった場合、文字列の最後まで抽出します。
サンプル1
Sub test()
Dim foo As String
Dim bar As String
foo = "abcde"
bar = Mid(foo, 2, 2)
MsgBox bar
End Sub
5行目のMid()関数で、変数fooの2文字目から2文字を抽出しています。
bar = Mid(foo, 2, 2)
実行結果は次のように「bc」になります。
第3パラメータを省略すると開始位置から最後まで抽出します。
サンプル2(第3パラメータを省略)
Sub test()
Dim foo As String
Dim bar As String
foo = "abcde"
bar = Mid(foo, 2)
MsgBox bar
End Sub
5行目のMid()関数で、変数fooの2文字目から最後までの文字を抽出しています。
bar = Mid(foo, 2)
実行結果は次のように「bcde」になります。
Posted by yujiro このページの先頭に戻る
トラックバックURL
コメントする
greeting