目次
で文字列を配列に分割する方法を紹介します。 ブイビーエー . スプリット で使用する最も重要で広く使われている関数の1つです。 ブイビーエー での文字列の分割を学びます。 ブイビーエー を、あらゆる方法で実現します。
VBA スプリット関数(クイックビュー)
=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])
練習用ワークブックをダウンロードする
文字列を配列に分割する.xlsmVBAで文字列を配列に分割する3つの方法
手に糸を持ってみよう "アメリカ、カナダ、オーストラリア、フランスのビザを申請しました。" .
を使って、この文字列をあらゆる方法で配列に分割する方法を紹介します。 スプリット機能 の ブイビーエー .
1.VBAで任意のデリミターを使用して文字列を配列に分割する
で文字列を配列に分割する際に、任意の文字列をデリミタとして使用することができます。 ブイビーエー .
となることがあります。 スペース(" ")。 , a コンマ , a セミコロン は、1文字でも、文字列でも、何でもいいのです。
⧭ 例1.
を使って文字列を分割してみましょう。 カンマ をデリミタとして使用します。
という行になります。
Arr = Split(Text, ",")
完全な VBAコード になります。
⧭ VBAのコードです。
Sub Split_String() Text = "アメリカ、カナダ、オーストラリア、フランスのビザを申請しました。" Arr = Split(Text, ",") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ 出力します。
で構成される配列に文字列を分割します。 {アメリカ、カナダ、オーストラリア、フランスのビザを申請しました。}
⧭ 例2.
を使用することもできます。 スペース(" ")。 をデリミタとして使用します。
という行になります。
Arr = Split(Text, " ")
完全な VBAコード になります。
⧭ VBAのコードです。
Sub Split_String() Text = "アメリカ、カナダ、オーストラリア、フランスのビザを申請しました。" Arr = Split(Text, " ") Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ 出力します。
で構成される配列に文字列を分割します。 {私たち", "申請", "for", "the", "visa", "of", "U.S", "Canada,", "Australia,", "France," }.
⧭ 覚えておきたいこと
- デフォルトのデリミタは スペース(" ")。 .
- つまり、何もデリミタを入れなければ 空間 をデリミタとして使用します。
続きを読む エクセルで文字列を分割する(6つの適切な方法)
類似の読み物。
- Excelでテキストを複数のセルに分割する
- Excelで列から配列に一意な値を取得するVBA(3つの基準)
- Excel VBA:配列で複数条件を指定してフィルタリングする方法(7つの方法)
2.文字列を任意の個数の配列に分割する
文字列を任意の個数の配列に分割することができます。
として挿入する。 3位 の引数は スプリット機能 .
⧭ 例
文字列を分割して、最初の 3 を持つ項目があります。 空間 をデリミタとして使用します。
という行になります。
Arr = Split(Text, " ", 3)
そして、その VBAコード になります。
⧭ VBAのコードです。
Sub Split_String() Text = "アメリカ、カナダ、オーストラリア、フランスのビザを申請しました。" Arr = Split(Text, ", 3) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ 出力します。
これは,文字列を最初の 3 デリミターで区切られた項目 空間 .
⧭ 覚えておきたいこと
- デフォルトの引数は -1 .
- つまり、引数を入力しなければ、文字列を可能な限り分割してくれる。
続きを読む Excelで文字列を長さで分割する方法(8つの方法)
3.VBAで大文字と小文字を区別するデリミターを使用して文字列を配列に分割する
があります。 スプリット機能 の両方を使用することができます。 ケースセンシティブ と ケースインセンシティブ のデリミタです。
については、以下の通りです。 ケースインセンシティブ デリミタを挿入してください。 第4 という引数があります。 1.
そして、そのために ケースインセンシティブ デリミタを挿入してください。 第4 という引数があります。 0 .
⧭ 例1:大文字小文字を区別しないデリミター
与えられた文字列の中で、テキストを考えてみましょう。 "FOR" をデリミタとして使用し 2 を配列の総項目数として返します。
では、そのために ケースインセンシティブ の場合、その行は次のようになります。
Arr = Split(テキスト, "FOR ", 3,1)
そして、コンプリート VBAコード になります。
⧭ VBAのコードです。
Sub Split_String() Text = "アメリカ、カナダ、オーストラリア、フランスのビザを申請しました。" Arr = Split(Text, "FOR", 2, 1) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ 出力します。
デリミタが ケースインセンシティブ ここで、その "FOR" として動作します。 「に対する と入力すると、文字列を2項目の配列に分割します。
⧭ 例2:大文字と小文字を区別するデリミター
今回もまた ケースセンシティブ の場合、その行は次のようになります。
Arr = Split(Text、"FOR ", 3,0)
そして、コンプリート VBAコード になります。
⧭ VBAのコードです。
Sub Split_String() Text = "アメリカ、カナダ、オーストラリア、フランスのビザを申請しました。" Arr = Split(Text, "FOR", 2, 0) Output = "" For i = 0 To UBound(Arr) Output = Output + vbNewLine + vbNewLine + Arr(i) Next i MsgBox Output End Sub
⧭ 出力します。
デリミタが ケースセンシティブ ここで、その "FOR" にはならない 「に対する で、文字列を2項目の配列に分割してくれません。
続きを読む Excel VBA: 配列から重複を取り除く(2例)
⧭ 覚えておきたいこと
- 引数のデフォルト値は 0 .
- つまり、値を入れないと 第4 引数を指定した場合、その引数に対応する ケースセンシティブ に匹敵する。
結論
そのため、これらのメソッドを用いて スプリット機能 の ブイビーエー を使えば、文字列を項目の配列に分割することができます。 ご不明な点がありましたら、お気軽にお問い合わせください。