セルのデータを区切り文字で複数のセルに分割する(TextToColumns メソッド)
2017/11/03
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 |
実行結果
関連記事
-
指定した値を16進数で表記した文字列に変換する(Hex 関数)
Hex 関数 の使い方 【書式】 result = Hex ( expressi …
-
文字列:指定した数の空白(スペース)からなる文字列を返す(Space 関数)
Space 関数 【書式】 result = Space ( number ) …
-
変数が日付型かどうかをチェックする( IsDate 関数 )
IsDate 関数の使い方 【書式】 result = IsDate( expr …
-
対象のオブジェクトをクリアする(Clear メソッド)
Clear メソッド 対象となるオブジェクト全体をクリアします。Range オブ …
-
VBA で正規表現を使う(RegExp オブジェクトのメソッド)
RegExp オブジェクトのメソッド RegExp オブジェクトの詳細に関しては …
-
VBA の演算子(論理演算子:And、Eqv、Imp、Not、Or、Xor)
論理演算子 論理演算を行うときに使用する演算子で、以下の 6 種類があります。 …
-
フォントサイズ(Size プロパティ・StandardFontSize プロパティ)
フォントサイズを取得・設定する(Size プロパティ) Size プロパティは、 …
-
IME の現在の状態を取得します(IMEStatus 関数)
IMEStatus 関数の使い方 【書式】 result = IMEStatus …
-
VBA で正規表現を使う(RegExp オブジェクト)
RegExp オブジェクト VBA で正規表現を使うには、VBScript のR …
-
配列(多次元配列・配列の次元の変更)
多次元配列 【書式】 多次元配列の宣言 <静的配列(固定長配列)> Dim my …