「vba split関数 戻り値」
という検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがあることに気付きました。
VBAのSplit関数が何を返すのかを調べていた方による検索です。
結論からお伝えすると、Split関数は文字列型の配列を返します。
[スポンサードリンク]
Split関数の戻り値をローカルウィンドウで確認しよう
拙著『いちばんやさしいExcel VBAの教本』でも、繰り返し利用しているローカルウィンドウを使って、
配列の中身や型などを確認しましょう。
Sub Split関数の戻り値を確認する1()
Dim tmp
tmp = Split("松;竹;梅", ";")
Stop
End Sub
Dim tmp
tmp = Split("松;竹;梅", ";")
Stop
End Sub
上記のSubプロシージャを実行すると、Stopステートメントで中断モードになりますから、メニュー[表示]-[ローカルウィンドウ]からローカルウィンドウを表示してください。
上図のとおり配列の各要素に、「松」「竹」「梅」という文字列がそれぞれ格納された、文字列型・String型の配列になっていることを確認できます。
Split関数の第2引数を省略した場合
Split関数の第2引数・区切り文字を省略して、スペースが区切り文字とみなされる場合も同じです。
Sub Split関数の戻り値を確認する2()
Dim tmp
tmp = Split("松 竹 梅")
Stop
End Sub
Dim tmp
tmp = Split("松 竹 梅")
Stop
End Sub
Splitで分割されなかった場合も配列
Split関数の戻り値は必ず配列です。結果が1個だったとしても配列として返されます。
Sub Split関数の戻り値を確認する3()
Dim tmp
tmp = Split("松竹梅", ";")
Stop
End Sub
Dim tmp
tmp = Split("松竹梅", ";")
Stop
End Sub
Split関数の第1引数に「松竹梅」、第2引数に「;」を指定した場合、第1引数に指定されている文字列に「;」は含まれませんから分割されない文字列が1つ返されます。
このときも要素数が1、インデックスが0だけの、配列になっています。
数値になりそうでも文字列型配列
Split関数で分割した結果が数値っぽい場合も、文字列型の配列が返されます。
Sub Split関数の戻り値を確認する4()
Dim tmp
tmp = Split("123-456-7890", "-")
Stop
End Sub
Dim tmp
tmp = Split("123-456-7890", "-")
Stop
End Sub
最終更新日時:2018-11-10 07:03
[スポンサードリンク]
- Newer:VBAでブックを保存しないで閉じる
- Older:Offsetプロパティでセル範囲を取得したい?
Home » エクセルマクロ・Excel VBAの使い方 » 配列 » Split関数の戻り値は文字列型配列