- ベストアンサー
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 すみませんがどうかアドバイス宜しくお願いします。 では失礼します。
- みんなの回答 (2)
- 専門家の回答
質問者が選んだベストアンサー
loopにはいる前に一行読んで(捨てて)しまえばよいだけです。 csvtitle = objts.readline Do Until objTS.AtEndOfStream ※この中で・・・ Loop のように。
その他の回答 (1)
- chie65536(@chie65535)
- ベストアンサー率44% (8740/19838)
「タイトル行が常にある」と言う場合は GYO = 1 ' EOFまで繰り返す Do Until objTS.AtEndOfStream を 'タイトル行の分を空読みする objTS.ReadLine GYO = 1 ' EOFまで繰り返す Do Until objTS.AtEndOfStream に変えるだけ。 「タイトル行があるか無いか判らない場合」には、1行目を読み込んで、それがタイトルなのかデータなのか判断する必要がありますが、判断は「人間にしか出来ない」ので、プログラムで書く事が出来ません。 「まるでタイトル行のように見えるデータ」や「まるでデータのように見えるタイトル行」とかがあるので「人間が見て判断する以外、どうしようもない」です。 どうしてもプログラムで判断したいなら「1つ目のフィールドは必ず数値なので、1行目の最初のフィールドが数値に変換できない文字列になっていたら、それはタイトル行とみなす」など、何らかの「プログラム可能なデータの規則性」が必要です。
お礼
お礼が遅くなってすみません。 ありがとうございます。 参考にさせていただきます。 では、失礼します。
お礼
お礼が遅くなってすみません。 ありがとうございます。 なるほど、参考にさせていただきます。 では、失礼します。