TextToColumns メソッド
TextToColumns メソッドを使用するとセル内のデータを指定した区切り文字で複数のセルに分割することができます。
【書式】
object.TextToColumns ( Destination, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers )
引数・戻り値
- object ・・・ 対象となる Range オブジェクトを指定します。
- Destination ・・・ 結果の出力先(Range オブジェクト)を指定。省略すると元データが入力されているセルが起点となります。
- DataType ・・・ 複数セルに分割する形式を XlTextParsingType 列挙の定数(値)で指定します。
定数 値 内容 xlDelimited 1 区切り文字(既定値) xlFixedWidth 2 固定幅 - TextQualifier ・・・ 文字列に使用する引用符を XlTextQualifier 列挙の定数(値)で指定します。
定数 値 内容 xlTextQualifierDoubleQuote 1 二重引用符(既定値) xlTextQualifierSingleQuote 2 一重引用符& xlTextQualifierNone -4142 引用符なし - ConsecutiveDelimiter ・・・ True を指定すると、連続した区切り文字を 1 つの区切り文字として認識します。既定値は False。
- Tab ・・・ True を指定すると、引数 DataType は xlDelimited で区切り文字がタブ文字です。既定値は False。
- Semicolon ・・・ True を指定すると、引数 DataType は
xlDelimited で区切り文字がセミコロン(;)です。既定値は False。 - Comma ・・・ True を指定すると、引数 DataType は xlDelimited で区切り文字がコンマ(,)です。既定値は False。
- Space ・・・ True を指定すると、引数 DataType は xlDelimited で区切り文字がスペースです。既定値は False 。
- Other ・・・ True を指定すると、引数 DataType は xlDelimited で区切り文字が引数 OtherChar で指定した文字です。既定値は False。
- OtherChar ・・・ 引数 Other が True の場合の区切り文字を指定します。複数の文字を指定したときは、先頭の文字だけが区切り文字として使われ、残りの文字は無視されます。
- FieldInfo ・・・ 区切り後の列のデータ形式に関する情報を持つ配列を指定します。
- DecimalSeparator ・・・ Excel で数値を認識する場合に使う小数点の記号です。既定はシステム設定です。
- ThousandsSeparator ・・・ Excel で数値を認識する場合に使う桁区切り記号です。既定はシステム設定です。
- TrailingMinusNumbers ・・・ 負記号で始まる数値です。
引数 FieldInfo について
分割後の列に対しての表示形式を指定します。引数 DataType の値が xlDelimited の場合(データが区切り文字で区切られている場合)の FieldInfo には、Array ( 列番号, 表示形式 ) のように指定します。「表示形式」は、XlColumnDataType 列挙 の定数(値)を指定します。
定数 | 値 | 内容 |
xlGeneralFormat | 1 | 一般形式 |
xlTextFormat | 2 | テキスト形式 |
xlMDYFormat | 3 | MDY 日付形式 |
xlDMYFormat | 4 | DMY 日付形式 |
xlYMDFormat | 5 | YMD 日付形式 |
xlMYDFormat | 6 | MYD 日付形式 |
xlDYMFormat | 7 | DYM 日付形式 |
xlYDMFormat | 8 | YDM 日付形式 |
xlSkipColumn | 9 | 転記しません |
xlEMDFormat | 10 | EMD 日付形式 |
TextToColumns メソッド 使用例 1
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 |
Sub Sample_TextToColumns() Dim myRng As Range Set myRng = Worksheets("Sheet1").Range("A1") myRng.TextToColumns _ Destination:=Range("A5"), _ DataType:=xlDelimited, _ Comma:=True End Sub |
実行結果
TextToColumns メソッド 使用例 2
サンプルVBAソース
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 |
Sub Sample_TextToColumns_FieldInfo() Dim myRng As Range Set myRng = Worksheets("Sheet4").Range("A1").CurrentRegion myRng.TextToColumns _ Destination:=Range("D1"), _ DataType:=xlDelimited, _ Semicolon:=True, _ FieldInfo:=Array( _ Array(1, 2), _ Array(2, 2), _ Array(3, 1), _ Array(4, 4) _ ) End Sub |