【VBA】文字列を区切り文字で区切り配列に格納する(Split関数) | あじゅWeb

【VBA】文字列を区切り文字で区切り配列に格納する(Split関数)

エクセル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から始まります。

戻り値文字列の配列