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

  関連記事

VBA の演算子(論理演算子:And、Eqv、Imp、Not、Or、Xor)

論理演算子 論理演算を行うときに使用する演算子で、以下の 6 種類があります。 …

日付時刻:日付時刻データを計算( DateAdd 関数 )

DateAdd 関数(日付・時刻の値を加算・減算結果を取得) 【書式】 resu …

データ型を調べてそのデータ型を示す文字列を返す(TypeName 関数)

TypeName 関数 の使い方 TypeName 関数は、引数に、データ型を調 …

取り消し線を設定する(Strikethrough プロパティ)

取り消し線を設定する(Strikethrough プロパティ) Striketh …

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

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

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

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

文字列:文字列の空白を削除(Trim 関数, LTrim関数, RTrim関数)

Trim 関数・LTrim 関数・RTrim 関数の使い方 【書式】 <先頭と末 …

日付時刻:時・分・秒を取得(Hour、Minute、Second 関数)

日付時刻から時・分・秒を取得する関数 【書式】 time_hour = Hour …

ClearContents メソッド 例01
データをクリアする(ClearContents メソッド)

ClearContents メソッド 対象がセル範囲(Range オブジェクト) …

引数の整数部分を取得する(Fix 関数・Int 関数)

Fix 関数・Int 関数の使い方 【書式】 number_fix = Fix …