ExcelWork.info

Excel(エクセル)のマクロ・VBA・関数・操作などのメモ

セルのデータを固定長形式で複数のセルに分割する(TextToColumns メソッド・Parse メソッド)

   

固定長形式でセルを分割

TextToColumns メソッドや Parse メソッドを使用するとセル内のデータを固定長形式で複数のセルに分割することができます。
→「区切り文字」で分割する場合についての詳細は セルのデータを区切り文字で複数のセルに分割する(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 を指定すると、引数 DataTypexlDelimited で区切り文字がタブ文字です。既定値は False
  • Semicolon  ・・・  True を指定すると、引数 DataType
    xlDelimited で区切り文字がセミコロン(;)です。既定値は False
  • Comma  ・・・  True を指定すると、引数 DataTypexlDelimited で区切り文字がコンマ(,)です。既定値は False
  • Space  ・・・  True を指定すると、引数 DataTypexlDelimited で区切り文字がスペースです。既定値は False
  • Other  ・・・  True を指定すると、引数 DataTypexlDelimited で区切り文字が引数 OtherChar で指定した文字です。既定値は False
  • OtherChar  ・・・  引数 OtherTrue の場合の区切り文字を指定します。複数の文字を指定したときは、先頭の文字だけが区切り文字として使われ、残りの文字は無視されます。
  • FieldInfo  ・・・  区切り後の列のデータ形式に関する情報を持つ配列を指定します。
  • DecimalSeparator  ・・・  Excel で数値を認識する場合に使う小数点の記号です。既定はシステム設定です。
  • ThousandsSeparator  ・・・  Excel で数値を認識する場合に使う桁区切り記号です。既定はシステム設定です。
  • TrailingMinusNumbers  ・・・  負記号で始まる数値です。

引数 FieldInfo について
分割後の列に対しての表示形式を指定します。引数 DataType の値が xlFixedWidth の場合(データが固定長形式で区切られている場合)の 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 日付形式



Parse メソッド


【書式】

object.Parse [ ( ParseLine, Destination ) ]


引数・戻り値

  • object  ・・・  対象となる Range オブジェクトを指定します。
  • ParseLine  ・・・  データの区切り位置を文字列で指定します。x で1文字を表し、[] で囲まれた部分が1つのセルに入力されます。[] で囲まれていない部分についてはセルに入力されません。
  • Destination  ・・・  結果の出力先(Range オブジェクト)を指定。省略すると元データが入力されているセルが起点となります。



TextToColumns メソッド 使用例

サンプルVBAソース


実行結果

固定長形式で分割(TextToColumns メソッド)



Parse メソッド 使用例

サンプルVBAソース


実行結果

固定長形式で分割(Parse メソッド)



 - VBA基本 , , , ,

Message

メールアドレスが公開されることはありません。 * が付いている欄は必須項目です

  関連記事

IMEStatus 関数 例
IME の現在の状態を取得します(IMEStatus 関数)

IMEStatus 関数の使い方 【書式】 result = IMEStatus …

定数(改行・タブ) 使用例
文字列:定数(改行・タブ)

改行・タブの定数 これらの定数は、使用前に定義する必要はありません。コード中のど …

フォントサイズ(Size,StandardFontSize)例
フォントサイズ(Size プロパティ・StandardFontSize プロパティ)

フォントサイズを取得・設定する(Size プロパティ) Size プロパティは、 …

オブジェクトの書式をクリアする(ClearFormats メソッド)

ClearFormats メソッド 対象となるオブジェクトの書式(スタイル)を初 …

Split 関数(文字列型の一次配列を作成)

Split 関数の使い方 【書式】 myArray = Split ( expr …

Dictionary オブジェクト 使用例1
連想配列(Dictionary オブジェクト)

連想配列 連想配列とは、添字(キー)に文字列を使用することができる配列です。 V …

Array 関数(1)
Array 関数(バリアント型の配列を作成)

Array 関数の使い方 【書式】 myArray = Array ( elem …

変数宣言と変数のデータ型
変数のデータ型・宣言(Dim ステートメント)

変数の宣言 一般的な方法 【書式】 Dim varname [ As type, …

IgnoreCase プロパティ
VBA で正規表現を使う(RegExp オブジェクトのプロパティ)

RegExp オブジェクトのプロパティ RegExp オブジェクトの詳細に関して …

Resize プロパティ1
指定したセル範囲のサイズを変更(Resize プロパティ)

Resize プロパティ 指定したセル範囲のサイズ(行数や列数)を変更します。 …