• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:excel vbaで複数のcsvファイルの読み込み)

excel vbaで複数のcsvファイルの読み込み

このQ&Aのポイント
  • excel vbaを使用して、複数のcsvファイルを一つずつ読み込み、データをexcelにコピーする方法を教えてください
  • 複数のcsvファイルを選択して読み込むと、列ごとにデータを連結してexcelに貼り付けるexcel vbaのコードを教えてください
  • excel vbaを使って、複数のcsvファイルを読み込み、データを一つのexcelファイルにまとめる方法を教えてください

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

  • ベストアンサー
  • merlionXX
  • ベストアンサー率48% (1930/4007)
回答No.1

その100件程度のCSVファイルが入っているフォルダーに以下のマクロを書いたエクセルBOOKを保存してください。(パス取得のため必ず「保存」してください。) フォルダー内の全てのCSVファイルからA11:A65536のデータをエクセルの.Sheets("CSV_データ")のRange("A10:A65535")から順に転記していきます。(11行目⇒10行目に1行ずらすのは書き間違いではないですよね?) Sub test01() Dim MyFile As String, MyPath As String Dim i As Long Dim wb As Workbook MyPath = ThisWorkbook.Path & "\" '自分のパスを取得 MyFile = Dir(MyPath & "*.csv", vbNormal) 'パス内のcsvファイル Application.ScreenUpdating = False '画面更新停止 Application.Calculation = xlCalculationManual '自動計算停止 Do Until MyFile = "" '対象ファイルがなくなるまで Set wb = Workbooks.Open(MyPath & "\" & MyFile) '選択したファイルを開く ThisWorkbook.Sheets("CSV_データ").Range("A10:A65535").Offset(, i).Value = wb.Sheets(1).Range("A11:A65536").Value '転記 i = i + 1 'カウント wb.Close (False) '選択したファイルを閉じる MyFile = Dir '次のファイルを検索 If i = 257 Then MsgBox "列が一杯になりました。", vbCritical, "Σ( ̄ロ ̄lll) " Exit Do End If Loop '繰り返し Application.Calculation = xlCalculationAutomatic '自動計算停止解除 Application.ScreenUpdating = True '画面更新停止解除 Set wb = Nothing MsgBox i & "件のCSVファイルから転記しました。", vbInformation, " " & Environ("UserName") & "さん (o^-')v " End Sub

batwith
質問者

お礼

merlionXXさん ありがとうございます。・・・・・・・・・・感謝 動作確認できました。 今までの労力がうその様です。 本当にありがとうございます。

関連するQ&A