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 を使っています。コメントデータの処理方法の詳細はこちらをご覧ください

  関連記事

Collection 01a
コレクション(Collection)オブジェクト「連想配列」

コレクション(Collection)オブジェクトの使い方 【書式】 Dim my …

指定した文字列を数値に変換する(Val 関数)

Val 関数 の使い方 Val 関数は、指定した文字列に含まれる数字を数値として …

ADO Stream オブジェクト テキスト(UTF-8)読み込み
テキストファイル(UTF-8)を読み込み、書き出し(ADODB.Stream)

Stream オブジェクト ADO(ActiveX Database Objec …

DoEvents 関数 UserForm の設定
CPU に制御を移す(DoEvents 関数)

DoEvents 関数 DoEvents 関数を実行すると、CPU に制御を移し …

Const ステートメント
ユーザー定義定数(Const ステートメント)

定数を使う ユーザー定義の定数を使用するには、Const ステートメントを使って …

配列(多次元配列・配列の次元の変更)

多次元配列 【書式】 多次元配列の宣言 <静的配列(固定長配列)> Dim my …

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

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

Spc 関数 01
指定した数のスペースを挿入する(Spc 関数)

指定した数のスペースを挿入 指定した数のスペースを挿入するには、Spc 関数を使 …

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

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

文字列:指定した数の空白(スペース)からなる文字列を返す(Space 関数)

Space 関数 【書式】 result = Space ( number ) …