エクセルVBAで使うコードの備忘録。VBAで文字列を区切り文字で要素に区切ることができるSplit関数の使い方について。
使い方(サンプル)
下記のサンプルプログラムでは、文字列「”私,あなた,みんな”」というコンマで区切られた文字列をSplit関数を使って「”私”」、「”あなた”」、「”みんな”」という要素からなる配列に分割して格納しています。
今回の例では、区切り文字としてコンマ(,)を使用していますが、文字であれば何でも使用できます。キーボードから入力できる文字はもちろん、改行コードのような特殊文字も使用可能です(改行コードについてはこちら)。
サンプルコード
Public Sub SplitTest()
'--- 分割する元の文字列 ---'
Dim orgStr As String
orgStr = "私,あなた,みんな"
'--- 区切り文字 ---'
Dim splitChar As String
splitChar = ","
'--- 分割後の結果を格納する変数 ---'
Dim result As Variant
'--- 文字列を区切る ---'
result = Split(orgStr, splitChar)
End Sub
Split関数の書式
サンプルコードにあるように、Split関数には二つの引数を与えます。
Split("[分割元の文字列]","[区切り文字]")
分割元の文字列 | 区切り文字で分割する前の文字列 |
区切り文字 | 分割前の文字列を分割する際の区切り文字 |
戻り値は文字列の配列になります。Variant型の変数に格納することが一般的です。配列として受け取る場合は、動的配列として宣言しておく必要があります。戻り値の配列のIndexは0から始まります。
戻り値 | 文字列の配列 |