Home » エクセルマクロ・Excel VBAの使い方 » 配列 » Split関数の戻り値は文字列型配列

Split関数の戻り値は文字列型配列

「vba split関数 戻り値」
という検索キーワードで、このサイト『インストラクターのネタ帳』へアクセスがあることに気付きました。

VBAのSplit関数が何を返すのかを調べていた方による検索です。

結論からお伝えすると、Split関数は文字列型の配列を返します。

[スポンサードリンク]

Split関数の戻り値をローカルウィンドウで確認しよう

拙著『いちばんやさしいExcel VBAの教本』でも、繰り返し利用しているローカルウィンドウを使って、

配列の中身や型などを確認しましょう。
Sub Split関数の戻り値を確認する1()
 Dim tmp
 tmp = Split("松;竹;梅", ";")
 Stop
End Sub

上記のSubプロシージャを実行すると、Stopステートメントで中断モードになりますから、メニュー[表示]-[ローカルウィンドウ]からローカルウィンドウを表示してください。

上図のとおり配列の各要素に、「松」「竹」「梅」という文字列がそれぞれ格納された、文字列型・String型の配列になっていることを確認できます。

Split関数の第2引数を省略した場合

Split関数の第2引数・区切り文字を省略して、スペースが区切り文字とみなされる場合も同じです。
Sub Split関数の戻り値を確認する2()
 Dim tmp
 tmp = Split("松 竹 梅")
 Stop
End Sub

Splitで分割されなかった場合も配列

Split関数の戻り値は必ず配列です。結果が1個だったとしても配列として返されます。
Sub Split関数の戻り値を確認する3()
 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

最終更新日時:2018-11-10 07:03

[スポンサードリンク]

Home » エクセルマクロ・Excel VBAの使い方 » 配列 » Split関数の戻り値は文字列型配列

「配列」の記事一覧

検索


Copyright © インストラクターのネタ帳 All Rights Reserved.

.