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

  関連記事

Option Compare Text 例
Option Compare ステートメント

Option Compare ステートメントの使い方 【書式】 Option C …

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

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

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

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

フォント名(Name,ThemeFont,StandardFont) 例
フォント名(Name,ThemeFont,StandardFont)

フォント名を取得・設定する(Name プロパティ) Name プロパティは、オブ …

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

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

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

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

Timer 関数 使用例
日付時刻:経過時間を取得( Timer 関数 )

Timer 関数の使い方 【書式】 result = Timer () 【戻り値 …

太字・斜体(Bold,Italic,FontStyle)例
フォント 太字・斜体(Bold, Italic, FontStyle プロパティ)

太字の設定(Bold プロパティ) Bold プロパティは、フォントを太字にする …

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

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

四捨五入・切り上げ・切り捨て・丸め(Round 関数 他)

Round 関数(丸め)の使い方 【書式】 value = Round ( ex …