• ベストアンサー

VBAでどのようにすればいいのでしょうか。

Excel2007でCSVファイルを取り込むVBAで作成しています。 下記のURLを参考にしています。 http://www.asahi-net.or.jp/~ef2o-inue/vba_o/sub05_110_030.html 皆さんにお聞きしたい事があり、投稿させていただきました。 CSVファイルの先頭行にタイトル行が指定されている場合、VBA上で除外する事は可能でしょうか。 できれば Do Until objTS.AtEndOfStream ※この中で・・・ Loop すみませんがどうかアドバイス宜しくお願いします。 では失礼します。

質問者が選んだベストアンサー

  • ベストアンサー
  • ShowMeHow
  • ベストアンサー率28% (1424/5027)
回答No.1

loopにはいる前に一行読んで(捨てて)しまえばよいだけです。 csvtitle = objts.readline Do Until objTS.AtEndOfStream ※この中で・・・ Loop のように。

digital_taro
質問者

お礼

お礼が遅くなってすみません。 ありがとうございます。 なるほど、参考にさせていただきます。 では、失礼します。

その他の回答 (1)

回答No.2

「タイトル行が常にある」と言う場合は   GYO = 1   ' EOFまで繰り返す   Do Until objTS.AtEndOfStream を   'タイトル行の分を空読みする   objTS.ReadLine   GYO = 1   ' EOFまで繰り返す   Do Until objTS.AtEndOfStream に変えるだけ。 「タイトル行があるか無いか判らない場合」には、1行目を読み込んで、それがタイトルなのかデータなのか判断する必要がありますが、判断は「人間にしか出来ない」ので、プログラムで書く事が出来ません。 「まるでタイトル行のように見えるデータ」や「まるでデータのように見えるタイトル行」とかがあるので「人間が見て判断する以外、どうしようもない」です。 どうしてもプログラムで判断したいなら「1つ目のフィールドは必ず数値なので、1行目の最初のフィールドが数値に変換できない文字列になっていたら、それはタイトル行とみなす」など、何らかの「プログラム可能なデータの規則性」が必要です。

digital_taro
質問者

お礼

お礼が遅くなってすみません。 ありがとうございます。 参考にさせていただきます。 では、失礼します。