Excel VBA質問箱 IV

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

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


9688 / 13646 ツリー ←次へ | 前へ→

【25968】数十万行のデータが存在するCSVに対して処理する方法 Zero 05/6/20(月) 13:21 質問[未読]
【25969】Re:数十万行のデータが存在するCSVに対して... 05/6/20(月) 13:29 回答[未読]
【25995】DAOのCSVの例です・・・ m2m10 05/6/21(火) 7:51 回答[未読]
【26009】Re:DAOのCSVの例です・・・ Zero 05/6/21(火) 16:50 お礼[未読]

【25968】数十万行のデータが存在するCSVに対して...
質問  Zero  - 05/6/20(月) 13:21 -

引用なし
パスワード
   ご教授願います!

数十万行のデータが入っているCSVがあります。
その中で、ある列にある値が入っていたら新規のブックにその行をコピペするマクロを作りたいのですが、CSVファイルを開かずにこのような複雑な処理を行う方法ってあるのでしょうか?

【25969】Re:数十万行のデータが存在するCSVに対し...
回答    - 05/6/20(月) 13:29 -

引用なし
パスワード
   ▼Zero さん:
>ご教授願います!
>
>数十万行のデータが入っているCSVがあります。
>その中で、ある列にある値が入っていたら新規のブックにその行をコピペするマクロを作りたいのですが、CSVファイルを開かずにこのような複雑な処理を行う方法ってあるのでしょうか?
ADO、ODBCについて調べてください。
出来ると思いますよ。

【25995】DAOのCSVの例です・・・
回答  m2m10  - 05/6/21(火) 7:51 -

引用なし
パスワード
   DAOの例ですが、速度はインデツクスが無いので少々遅いですね
一度、アクセル等のデータベースに取り込み、インデツクスを
作成したら、カナリの速度が可能です。

条件は sql  を修正して下さい。

DAOの参照設定が必要です、

"TEXT;HDR=NO;" CSV の最初に項目が無い場合で
有る場合は "TEXT;HDR=ON;" に修正です。


Sub Form_Load()
  Dim db As Database
  Dim rs As Recordset
  Dim strPath As String
  Dim Fname As String
  Dim sql  As String
  

  strPath = Mid(ThisWorkbook.FullName, 1, InStrRev(ThisWorkbook.FullName, "\"))

  Fname = "BstDt.txt"
  sql = "SELECT * FROM [" & Fname & "];" ' ORDER BY F1;"

  Set db = OpenDatabase(strPath, False, False, "TEXT;HDR=NO;")
  Set rs = db.OpenRecordset(sql, dbOpenDynaset)

  Sheet1.Cells(1).CopyFromRecordset rs 
  ' シート1の1個めに取り込む例です。

  rs.Close
  db.Close
  
End Sub

【26009】Re:DAOのCSVの例です・・・
お礼  Zero  - 05/6/21(火) 16:50 -

引用なし
パスワード
   返答いただきありがとうございました!

まだまだ勉強不足の部分があるようです・・・・・
教えていただいたことを自分でも調べて勉強します!
ありがとうございました!

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