Split 関数(文字列型の一次配列を作成)
2015/04/04
Split 関数の使い方
【書式】
myArray = Split ( expression [, delimiter [, limit [, compare ] ] ] )
【引数・戻り値の説明】
- expression ・・・ 分割する文字列を指定します。 expression が長さ 0 の文字列 (“”) である場合、Split 関数は、要素もデータもない空の配列を返します。
- delimiter ・・・ 配列を分割する際の区切り文字を指定します(省略可 ⇒ 省略時は、スペース(” “)が区切り文字に使用されます)。
- limit ・・・ 分割後に作成される配列の最大要素数。「-1」を指定すると制限なしになります。「0」以上の値を指定した場合は作成される要素数は制限され、分割しきれなかった部分は最後の要素にまとめられます(省略可 ⇒ 省略時は「-1」が設定されます)。
- compare ・・・ 文字列の比較モードで、省略時はバイナリモードとなります(詳細は、Compare 設定値表を参照)。
- myArray ・・・ 作成される文字列型(String)の一次元配列
Split 関数を使用して作成した配列のインデックスの最小値は、0 となります。Option Base 1 ステートメントを指定してもインデックスの最小値は 0 のままです。
Compare 設定値表
名前 | 値 | 説明 |
VbUseCompareOption | -1 | Option Compare ステートメントの設定を使用 |
vbBinaryCompare | 0 | バイナリモードで比較します |
vbTextCompare | 1 | テキストモードで比較します |
vbDatabaseCompare | 2 | Microsoft Access の場合のみ使用する値です |
Split 関数の使用例
サンプルVBAソース(その1)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 |
Sub sample_split01() Dim myArray1() As String Dim myArray2() As String Dim myStr As String Dim v Dim i As Long myStr = "月 火 水 木 金 土 日" myArray1 = Split(myStr) Debug.Print "【myArray1】" For i = LBound(myArray1) To UBound(myArray1) Debug.Print "myArray1(" & i; ") = " & myArray1(i) Next i Debug.Print " " Debug.Print "【myArray2】" myStr = "101,105,205,307,420,550" myArray2 = Split(myStr, ",", 3) For i = LBound(myArray2) To UBound(myArray2) Debug.Print "myArray2(" & i; ") = " & myArray2(i) Next i End Sub |
実行結果
サンプルVBAソース(その2)
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 |
Option Base 1 Option Compare Text Sub sample_split02() Dim myArray1, myArray2 Dim myStr1, myStr2, tmp1, tmp2, i myStr1 = "月*火*水*木*金*土*日" myArray1 = Split(myStr1, "*") For i = LBound(myArray1) To UBound(myArray1) tmp1 = tmp1 & "myArray1(" & i & ") = " & myArray1(i) & Chr(13) Next i myStr2 = "月*火*水*木*金*土*日" myArray2 = Split(myStr2, "*", -1, vbBinaryCompare) For i = LBound(myArray2) To UBound(myArray2) tmp2 = tmp2 & "myArray2(" & i & ") = " & myArray2(i) & Chr(13) Next i MsgBox tmp1 MsgBox tmp2 End Sub |
実行結果
関連記事
-
-
四捨五入・切り上げ・切り捨て・丸め(Round 関数 他)
Round 関数(丸め)の使い方 【書式】 value = Round ( ex …
-
-
カレントフォルダ(CurDir 関数、ChDir ステートメント、ChDrive ステートメント)
カレントフォルダ カレントフォルダとは、ブックを開いたり保存するときに既定で参照 …
-
-
メッセージボックスを表示(MsgBox関数)
MsgBox関数 【書式】 result = MsgBox ( Prompt [ …
-
-
VBA の演算子(演算子の優先順位)
演算子の優先順位 演算子の優先順位とは、1つの式の中に演算子が複数ある場合、どの …
-
-
フォントサイズ(Size プロパティ・StandardFontSize プロパティ)
フォントサイズを取得・設定する(Size プロパティ) Size プロパティは、 …
-
-
Erase ステートメント(配列の初期化・動的配列のメモリ解放)
Erase ステートメントの使い方 【書式】 Erase myArray [, …
-
-
色の設定(ThemeColor プロパティ・TintAndShade プロパティ)
ThemeColor プロパティ・TintAndShade プロパティ テーマカ …
-
-
VBA の演算子(論理演算子:And、Eqv、Imp、Not、Or、Xor)
論理演算子 論理演算を行うときに使用する演算子で、以下の 6 種類があります。 …
-
-
色を設定する(QBColor 関数)
QBColor 関数 QBColor 関数は、指定した色番号に対応するRGB コ …
-
-
文字に下線を設定する(Underline プロパティ)
下線を設定(Underline プロパティ) Underline プロパティは、 …
- PREV
- Array 関数(バリアント型の配列を作成)
- NEXT
- Option Compare ステートメント