|
▼ほびっと さん:
こんにちは。
>小僧さんの方法ですと、数の頭の0が落ちてしまうのですが?
> 「01111」→「1111」
セルを文字列型にする前にデータを貼り付けてしまいました。
ActiveSheet.Cells(1, 1).Resize(UBound(Data, 2) + 1, 8).Value = Application.Transpose(Data)
ActiveSheet.Cells(1, 1).Resize(UBound(Data, 2) + 1, 8).NumberFormatLocal = "@"
上記2行を入れ替えてみて下さい。
>ADOで、できるのであれば考えていただけないでしょうか。
>ぜひともよろしくお願いします。
>例えば、ADOでKen_ALL.csvに接続できたとして
> .MoveFirst
> .Find 条件, , adSearchForward
>で見ていった場合、Ken_ALL.csvの1行目から順に見ていってくれないのでしょうか?
まず、Ken_ALLには見出し行がないのを忘れていました。
CSVファイルを ADO で処理するためには1行目にフィールド名を
入れる必要がでてきてしまいますね。
次に…
Ken_ALL をそのまま開いてしまうと、約12万レコードの処理となります。
さすがに12万レコードのテーブルに対して「MoveNext」を繰り返し使う処理をすると
時間がかかるため、SQL の Where句などを駆使して
Open するレコードに制限を掛けるべきだと思います。
そこで
>>>テーブルを扱う上では「一番上」という概念がないので
という表現になってしまったのですが…。
Ken_ALL に ID のような連番がついていて、フィールド1 でグループ化してIDが最小のもの
というような条件でしたら、SQL で一回で処理できると思います。
|
|