|
▼>エラーの原因がわかりました。
>CSVファイルにいつの間にか改行が入っていました。
>悲しい。気が変になりそうです。
>
>
>またCSVファイル内の日付が下記の様に複数でも対応できるようにしたいのですが、
>20041201
>20041201
>20041201
>20041202
>20041202
>20041202
>20041204
>イメージがつきません。ヒントを頂けないでしょうか
>
>さらに、下記の「先頭フィールが日付と認められるならLoopを抜ける」
>とは何を意味しているのでしょうか?良く理解ができませんでした。
>ご指導お願いします。
>
>
> 'ファイルから日付を取得
> Do Until EOF(dfn)
> 'ファイルから1行読み込み
> Line Input #dfn, strBuff
> 'フィールドに分割
> vntField = Split(strBuff, ",", , vbBinaryCompare)
> '先頭フィールが日付と認められるならLoopを抜ける
> If IsDate(Left(vntField(0), 4) _
> & "/" & Mid(vntField(0), 5, 2) _
> & "/" & Right(vntField(0), 2)) Then
> Exit Do
> End If
> Loop
何処に、どの様に改行が入っているのですか?
データのサンプルをUpしてくれれば解決策が有るかも?
また最初の質問が、日々のデータと言う事でしたので
日付は全て同じと思い、日付は、1回だけしか見ていません
上記のコードは、最初に出てくる日付を1回だけ取得する目的と
先頭行が、データでは無くて、列見出しの場合の対策です
もし、データの日付が複数の場合、日付の列を行毎に探す事も出来ますし、
列の挿入を行っても善いなら、ファイルの日付毎に、日付を昇順に書きこんで
其処に、値を書き込む事も出来ます
|
|