VBAで文字列を配列に分割する方法(3つの方法)

  • これを共有
Hugh West

で文字列を配列に分割する方法を紹介します。 ブイビーエー . スプリット で使用する最も重要で広く使われている関数の1つです。 ブイビーエー での文字列の分割を学びます。 ブイビーエー を、あらゆる方法で実現します。

VBA スプリット関数(クイックビュー)

=Split(Expression As String, [Delimiter], [Limit As Long=1], [CompareAsVbCompareMethod=vbBinaryCompare])

練習用ワークブックをダウンロードする

文字列を配列に分割する.xlsm

VBAで文字列を配列に分割する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 引数を指定した場合、その引数に対応する ケースセンシティブ に匹敵する。

結論

そのため、これらのメソッドを用いて スプリット機能 ブイビーエー を使えば、文字列を項目の配列に分割することができます。 ご不明な点がありましたら、お気軽にお問い合わせください。

Hugh West は、業界で 10 年以上の経験を持つ、非常に経験豊富な Excel トレーナー兼アナリストです。彼は会計と財務の学士号と経営管理の修士号を取得しています。ヒューは教えることに情熱を持っており、理解しやすい独自の教育アプローチを開発しました。彼の Excel に関する専門知識は、世界中の何千人もの学生や専門家がスキルを向上させ、キャリアで優れた成果を上げるのに役立ってきました。 Hugh はブログを通じて知識を世界に共有し、個人や企業が潜在能力を最大限に発揮できるよう無料の Excel チュートリアルとオンライン トレーニングを提供しています。