Range.TextToColumns メソッド (Excel)

セルに入力されているデータ (1 つのセル内で、カンマ、スペース、タブなどで区切られたデータ) を、複数の列に区切ります。対象となる列は 1 列だけです。

構文

TextToColumns (Destination, DataType, TextQualifier, consecutiveDelimiter, Tab, セミコロン, コンマ, スペース, Other, OtherChar, FieldInfo, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers)

expressionRange オブジェクトを表す変数です。

パラメーター

名前 必須 / オプション データ型 説明
Destination 省略可能 バリアント型 Range オブジェクトでの結果の表示先を指定します。 表示先に指定したセル範囲が複数セルである場合には、左上端のセルが使われます。
DataType 省略可能 XlTextParsingType 複数の列に区切るデータの形式を指定します。
TextQualifier 省略可能 XlTextQualifier テキスト修飾子として単一引用符、二重引用符、または引用符を使用しないかどうかを指定します。
ConsecutiveDelimiter 省略可能 バリアント型 True を指定 すると、連続する区切り記号が 1 つの区切り記号と見なされます。 既定値は False です。
Tab 省略可能 バリアント型 (Variant) True を指定すると、引数 DataTypexlDelimited で区切り文字がタブ文字です。 既定値は False です。
Semicolon 省略可能 バリアント型 (Variant) True を指定すると、引数 DataTypexlDelimited で区切り文字がセミコロン (;) です。 既定値は False です。
Comma 省略可能 バリアント型 (Variant) True を指定すると、引数 DataTypexlDelimited で区切り文字がコンマ (,) です。 既定値は False です。
Space 省略可能 バリアント型 (Variant) True を指定すると、引数 DataTypexlDelimited で区切り文字がスペースです。 既定値は False です。
Other 省略可能 バリアント型 (Variant) True を指定すると、引数 DataTypexlDelimited で区切り文字が引数 OtherChar で指定した文字です。 既定値は False です。
OtherChar 省略可能 バリアント型 OtherTrue の場合は必須。OtherTrue の場合の区切り文字。 If more than one character is specified, only the first character of the string is used; the remaining characters are ignored.
Fieldinfo 省略可能 バリアント型 (Variant) 区切り後の列のデータ形式に関する情報を持つ配列を指定します。 解釈は DataType の値によって異なります。

データが区切り記号で区切られている場合は、この引数に 2 要素配列の配列を使用して、配列内の各 2 要素配列が特定の列の変換オプションを指定するようにします。 最初の要素は列番号 (1 から始まる) で、2 番目の要素は列の解析方法を指定する XlColumnDataType クラスの定数のいずれかです。
DecimalSeparator 省略可能 バリアント型 (Variant) Excel で数値を認識する場合に使う小数点の記号です。 既定はシステム設定です。
ThousandsSeparator 省略可能 バリアント型 (Variant) Excel で数値を認識する場合に使う桁区切り記号です。 既定はシステム設定です。
TrailingMinusNumbers 省略可能 バリアント型 (Variant) 負記号で始まる数値です。

戻り値

バリアント型

注釈

次の表は、Excel へのテキストのインポートをさまざまなインポート設定で行った場合の結果を示したものです。 数値の結果は右詰めで表示します。

システムの小数点の記号 システムの桁区切り記号 小数点の記号の値 桁区切りの記号の値 インポートしたテキスト セルの値 (データ型)
Period カンマ カンマ ピリオド 123.123,45 123,123.45 (数値)
ピリオド カンマ カンマ カンマ 123.123,45 123.123,45 (文字列)
カンマ ピリオド カンマ ピリオド 123,123.45 123,123.45 (数値)
ピリオド カンマ ピリオド カンマ 123,123.45 123 123.45 (文字列)
ピリオド カンマ ピリオド スペース 123,123.45 123,123.45 (数値)

XlColumnDataType 列挙体の xlEMDFormat 定数は、台湾語の言語サポートがインストールされ、選択されている場合にのみ使用します。 定数 xlEMDFormat は、日付形式に台湾の元号が使用されていることを指定します。

列のデータ形式の設定は、任意の順番で指定できます。 入力したデータの列に対応する列のデータ形式が指定されていないときは、xlGeneralFormat 設定を使って列のデータを変換します。 次の例は、元データの 3 番目の列を削除し (列として作成しないで)、最初の列を文字列に変換し、他の列は xlGeneralFormat 設定で変換します。

 Array(Array(3, 9), Array(1, 2))

引数 DataType が xlFixedWidth の場合 (元データの列幅が固定されている場合) は、配列の 1 番目の要素は、列の最初の文字の位置を、0 から始まる整数で指定します。 2 要素配列の 2 番目の要素は、前に示したように、列の解析オプションを 1 から 9 までの数値として指定します。

次の例は、固定長のデータの 2 つの列を区切ります。 行の先頭から 10 文字目までが 1 列目になり、15 文字目から行の終端までが 2 列目になります。 11 文字目から 14 文字目の文字は、データ形式 9 を指定して列を削除します (列として作成しません)。

Array(Array(0, 1), Array(10, 9), Array(15, 1))

次の使用例は、クリップボードの中にある、空白で区切られて表の形式になっているテキストをシート 1 のリストに変換します。 この使用例を実行する前に、メモ帳やワードパッドなどのテキスト エディターで、空白で区切った単純な表を作成し、それをクリップボードにコピーしてから Excel に切り替えておいてください。

Worksheets("Sheet1").Activate 
ActiveSheet.Paste 
Selection.TextToColumns DataType:=xlDelimited, _ 
 ConsecutiveDelimiter:=True, Space:=True

サポートとフィードバック

Office VBA またはこの説明書に関するご質問やフィードバックがありますか? サポートの受け方およびフィードバックをお寄せいただく方法のガイダンスについては、Office VBA のサポートおよびフィードバックを参照してください。