Range.TextToColumns メソッド (Excel)
セルに入力されているデータ (1 つのセル内で、カンマ、スペース、タブなどで区切られたデータ) を、複数の列に区切ります。対象となる列は 1 列だけです。
構文
式。TextToColumns (Destination, DataType, TextQualifier, consecutiveDelimiter, Tab, セミコロン, コンマ, スペース, Other, OtherChar, FieldInfo, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers)
expression は Range オブジェクトを表す変数です。
パラメーター
名前 | 必須 / オプション | データ型 | 説明 |
---|---|---|---|
Destination | 省略可能 | バリアント型 | Range オブジェクトでの結果の表示先を指定します。 表示先に指定したセル範囲が複数セルである場合には、左上端のセルが使われます。 |
DataType | 省略可能 | XlTextParsingType | 複数の列に区切るデータの形式を指定します。 |
TextQualifier | 省略可能 | XlTextQualifier | テキスト修飾子として単一引用符、二重引用符、または引用符を使用しないかどうかを指定します。 |
ConsecutiveDelimiter | 省略可能 | バリアント型 | True を指定 すると、連続する区切り記号が 1 つの区切り記号と見なされます。 既定値は False です。 |
Tab | 省略可能 | バリアント型 (Variant) | True を指定すると、引数 DataType は xlDelimited で区切り文字がタブ文字です。 既定値は False です。 |
Semicolon | 省略可能 | バリアント型 (Variant) | True を指定すると、引数 DataType は xlDelimited で区切り文字がセミコロン (;) です。 既定値は False です。 |
Comma | 省略可能 | バリアント型 (Variant) | True を指定すると、引数 DataType は xlDelimited で区切り文字がコンマ (,) です。 既定値は False です。 |
Space | 省略可能 | バリアント型 (Variant) | True を指定すると、引数 DataType は xlDelimited で区切り文字がスペースです。 既定値は False です。 |
Other | 省略可能 | バリアント型 (Variant) | True を指定すると、引数 DataType は xlDelimited で区切り文字が引数 OtherChar で指定した文字です。 既定値は False です。 |
OtherChar | 省略可能 | バリアント型 | Other が True の場合は必須。Other が True の場合の区切り文字。 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 のサポートおよびフィードバックを参照してください。