Vba: テキストを列に変換する方法
VBA のRange.TextToColumnsメソッドを使用して、テキスト セルを列に変換できます。
次の例は、このメソッドをさまざまなシナリオで実際に使用する方法を示しています。
例 1: テキストを列に変換します (区切り文字としてスペース)
Excel の範囲A1:A9に次の名前のリストがあるとします。
次のマクロを作成して、スペースを区切り文字として使用して、各セルのテキストを個別の列に変換できます。
Sub TextToCols()
Range(" A1:A9 ").TextToColumns_
ConsecutiveDelimiter:=True, _
Space:=True
End Sub
このマクロを実行すると、次の出力が表示されます。
各セルのテキストが個別の列に変換されていることに注目してください。
注: ConsecutiveDelimiter:=True引数は、連続する区切り文字を 1 つの区切り文字として考慮するように VBA に指示します。
例 2: テキストを列に変換します (区切り文字としてカンマを使用)
A1:A9 の範囲にカンマで区切られた次の名前のリストがあるとします。
次のマクロを作成して、カンマを区切り文字として使用して、各セルのテキストを個別の列に変換できます。
Sub TextToCols()
Range(" A1:A9 ").TextToColumns_
ConsecutiveDelimiter:=True, _
Comma:=True
End Sub
このマクロを実行すると、次の出力が表示されます。
各セルのテキストが個別の列に変換されていることに注目してください。
例 3: テキストを列に変換します (テキストを二重引用符で囲みます)
A1:A9の範囲に、スペースで区切られ、二重引用符を含む次の名前のリストがあるとします。
次のマクロを作成して、各セルのテキストを個別の列に変換できます。
Sub TextToCols()
Range(" A1:A9 ").TextToColumns_
TextQualifier:=xlDoubleQuote, _
ConsecutiveDelimiter:=True, _
Space:=True
End Sub
このマクロを実行すると、次の出力が表示されます。
各セルのテキストが個別の列に変換されていることに注目してください。
TextQualifier:=xlDoubleQuote引数を使用して、テキストが二重引用符で囲まれていることを VBA に伝えていることに注意してください。
注: VBA のTextToColumnsメソッドの完全なドキュメントは、ここで見つけることができます。
追加リソース
次のチュートリアルでは、VBA を使用して他の一般的なタスクを実行する方法について説明します。
VBA: 文字列内の文字の出現を数える方法
VBA: 文字列に別の文字列が含まれているかどうかを確認する方法
VBA: 特定のテキストを含むセルを数える方法