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

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

このサイトはスパムを低減するために Akismet を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

メッセージボックス使用例
メッセージボックスを表示(MsgBox関数)

MsgBox関数 【書式】 result = MsgBox ( Prompt [ …

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

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

指定した値を16進数で表記した文字列に変換する(Hex 関数)

Hex 関数 の使い方 【書式】 result = Hex ( expressi …

文字列:2つの文字列を比較する(StrComp 関数)

StrComp 関数の使い方 【書式】 result = StrComp ( s …

変数がオブジェクト型かどうかをチェックする( IsObject 関数 )

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

文字列:指定した文字の文字コードを取得する(Asc 関数)

Asc 関数 【書式】 result = Asc ( string ) 引数・戻 …

乱数(Rnd 関数)例1
乱数を生成する(Rnd 関数)

Rnd 関数の使い方 Rnd 関数は、0 以上、1 未満の範囲の乱数を単精度浮動 …

変数がNull 値かどうかをチェックする( IsNull 関数 )

IsNull 関数の使い方 【書式】 result = IsNull ( exp …

Randomize 関数 例1
乱数ジェネレータを初期化 (乱数系列を再設定) する(Randomize ステートメント)

Randomize ステートメントの使い方 Rnd 関数 を使用する前に使用しま …

配列の添字の最小値を「1」に設定する

Option Base ステートメントを使用する 【書式】 Option Bas …