• ベストアンサー

エクセルVBA 一枚のシートにcsvファイルをまとめる 

教えてください。 以下の処理をしたいのですが、どのようにしたらよいか教えてください。 (1)デスクトップの1つのフォルダに格納しているcsvファイルを全て開く(ファイルがいくつあるかはその時によって違う) (2)開いたcsvファイルのデータがある行を全て選択して、開いてあるデータベースとしてあるシートに貼り付ける。 (これをcsvファイル数分実行する) (3)コピーの終わったcsvファイルを全て閉じる どうしても(2)の処理がわからず、どなたか教えてください。 よろしくお願い致します。

質問者が選んだベストアンサー

  • ベストアンサー
  • snc35744
  • ベストアンサー率20% (8/39)
回答No.1

Sub zzz() Dim l As Long '既に書き込みのあるブックに書き足す場合は、空行まで読み飛ばす l = 1 Do While Cells(l, 1) <> "" l = l + 1 Loop 'ディレクトリ(例はc:\temp)のCSVファイルを検索する Dim csvf As String Dim col1, col2 As String csvf = Dir("c:\temp\*.csv", vbNormal) Do While csvf <> "" 'CSVファイルをopen Open "c:\temp\" & csvf For Input As #1 Do While EOF(1) = False 'CSVファイルがeofになるまで読み、内容(例はcol1、col2)をcellにセット Input #1, col1, col2 Cells(l, 1) = col1 Cells(l, 2) = col2 l = l + 1 Loop 'CSVファイルをclose Close #1 '次のCSVファイルを検索する csvf = Dir Loop End Sub アレンジしてみてください。

daitankame
質問者

お礼

早速教えていただきありがとうございます。 やってみます!

すると、全ての回答が全文表示されます。

関連するQ&A

専門家に質問してみよう