TextToColumnsメソッド
ひとつのセルに入力されているカンマやスペースで区切られたデータを、複数列に分割する機能です。
氏名をスペースで区切ることはよくありますが、その姓と名を別々のセルに分けたいようなときなどに使います。
構文
Object.TextToColumns ( Destination, DataType, TextQualifier, ConsecutiveDelimiter, Tab, Semicolon, Comma, Space, Other, OtherChar, FieldInfo, DecimalSeparator, ThousandsSeparator, TrailingMinusNumbers )
| Object | Range オブジェクトを表す変数です。 |
| Destination | 分割したデータの表示先を指定します。 |
| DataType | 複数の列に区切るデータの形式を、XlTextParsingType の定数で指定します。 ・ xlDelimited は区切り文字によってデータを分割します。 ・ xlFixedWidth は固定した長さでデータを分割します。 |
| TextQualifier | 文字列の引用符に(“)or(‘)を使用するか、または引用符を使用しないかどうかをXlTextQualifier(下記)の定数で指定します。 |
| ConsecutiveDelimiter | True を指定すると、連続する区切り記号を1つの区切りと見なします。既定値は False。 |
| Tab | 区切り文字がタブ文字の場合Tureを指定します。 既定値は False。 |
| Semicolon | 区切り文字がセミコロン (;) の場合Tureを指定します。 既定値は False。 |
| Comma | 区切り文字がコンマ (,) ですの場合Tureを指定します。 既定値は False。 |
| Space | 区切り文字がスペースですの場合Tureを指定します。 既定値は False。 |
| Other | 区切り文字がタブ、セミコロン、コンマ、スペース以外の文字の場合、Tureを指定します。 既定値は False。 |
| OtherChar | Other が True の場合は必須です。Other が True の場合の区切り文字を指定します。 |
| Fieldinfo | 区切り後の列のデータ形式に関する情報を持つ配列を指定します。 |
| XlTextQualifier | 値 | 説明 |
| xlTextQualifierDoubleQuote | 1 | ダブルクォーテーション (“) |
| xlTextQualifierSingleQuote | 2 | シングルクォーテーション(‘) |
| xlTextQualifierNone | -4142 | 引用符なし |
Fieldinfo
引数 Fieldinfo は Array を使い、何文字目で分割するかを指定できます。
Array(何文字目,文字列形式)
※文字列形式については以下を参照してください
| 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日付形式 |
ユーザー設定リストを追加し、削除するサンプルコード
Public Sub Sample()
'■A1セルに入力されているデータを分割する
'表示先はB1セル
'区切り文字はスペース
Range("A1") = "姓 名" 'A1セルに入力(名前)
Range("A1").TextToColumns Destination:=Range("B1"), _
DataType:=xlDelimited, _
Space:=True
'■文字数を指定して分割する場合
Range("A2") = 1638001 'A2セルに入力(郵便番号)
Range("A2").TextToColumns Destination:=Range("B2"), _
DataType:=xlFixedWidth, _
FieldInfo:=Array(Array(0, 1), Array(3, 1))
End Sub



コメント