Excel VBA質問箱 IV

当質問箱は、有志のボランティア精神のおかげで成り立っています。
問題が解決したら、必ずお礼をしましょうね。
本サイトの基本方針をまとめました。こちら をご一読ください。

投稿種別の選択が必要です。ご注意ください。
迷惑投稿防止のため、URLの入力を制限しています。ご了承ください。


51767 / 76732 ←次へ | 前へ→

【29823】CSVからデータの取込
質問  ほびっと  - 05/10/14(金) 12:01 -

引用なし
パスワード
   データ件数が10万件を超えるCSVファイルがあります。
11,ab,aba,bba・・・
11,ab,abb,bab
11,ab,abc,bbc
12,ba,baa,bbb
12,ba,baa,bbc
13,ca,cab,ccc
・・・
CSVファイルは上記のように、1列目が同じデータがいくつか続きます。
ここから1列目のデータが変わる最初の行のみデータを取り出し、エクセルファイルに書き込みます。
11,ab,aba,bba・・・
12,ba,baa,bbb
13,ca,cab,ccc
・・・

現在はInputを使用して実行していますが、件数が多いため処理に時間がかかります。
コードの一部です。
  intFF = FreeFile
  iWt = 1
  Open ThisWorkbook.Path & "\tmp.csv" For Input As #intFF
  Do Until EOF(intFF)
    Input #intFF, sCon(1), sCon(2), sCon(3), sCon(4), sCon(5), sCon(6), sCon(7), sCon(8), _
          sCon(9), sCon(10), sCon(11), sCon(12), sCon(13), sCon(14), sCon(15)
    If Not sCBF = sCon(1) Then '1列目)が変わったら書き込む
      For iCt = 1 To 8 '8まで取り込む
        Cells(iWt, iCt).NumberFormatLocal = "@" '取込先のセル書式を文字列にする
        Cells(iWt, iCt) = sCon(iCt)
      Next iCt
      sCBF = sCon(1) '比較用
    End If
  Loop
  Close #intFF

処理をデータベースクエリで行ったら、早くなるような気がするのですが、方法が分かりません。
ご教授願えれば幸いです。
(Win2000/Excel2002)

0 hits

【29823】CSVからデータの取込 ほびっと 05/10/14(金) 12:01 質問
【29828】Re:CSVからデータの取込 awu 05/10/14(金) 14:34 回答
【29830】Re:CSVからデータの取込 小僧 05/10/14(金) 14:58 発言
【29838】Re:CSVからデータの取込 ほびっと 05/10/14(金) 15:59 質問
【29845】Re:CSVからデータの取込 小僧 05/10/14(金) 16:53 発言
【29850】Re:CSVからデータの取込 ほびっと 05/10/14(金) 17:14 発言
【29852】Re:CSVからデータの取込 小僧 05/10/14(金) 18:34 発言
【29853】Re:CSVからデータの取込 ほびっと 05/10/14(金) 19:25 お礼
【29848】Re:CSVからデータの取込 小僧 05/10/14(金) 17:09 発言
【29834】Re:CSVからデータの取込 awu 05/10/14(金) 15:15 発言
【29839】Re:CSVからデータの取込 ほびっと 05/10/14(金) 16:02 発言

51767 / 76732 ←次へ | 前へ→
ページ:  ┃  記事番号:
2610219
(SS)C-BOARD v3.8 is Free