VBAで文字列から配列を生成する

Visual Basic for Applications (VBA)

区切り文字で区切られた文字列を配列する方法です。よくあるパターンとしてはカンマ区切り(”,”)などがありますが、今回の例ではアットマーク(”@”)を区切り文字としています。

Dim arrayValue() As String
arrayValue = Split("a@b@c@d@e", "@")

結果

arrayValue(0) : "a"
arrayValue(1) : "b"
arrayValue(2) : "c"
arrayValue(3) : "d"
arrayValue(4) : "e"

配列はインデックス0から順番にセットされていきます。文字列の最後に区切り文字をつけた場合などは空文字の要素が最後に追加されます。また区切り文字が連続して続いた場合も空文字の要素が作成されます。

Dim arrayValue() As String
arrayValue = Split("あ@い@う@@え@お@", "@")

結果

arrayValue(0) : "あ"
arrayValue(1) : "い"
arrayValue(2) : "う"
arrayValue(3) : ""
arrayValue(4) : "え"
arrayValue(5) : "お"
arrayValue(6) : ""