• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでフォルダ内の全てのcsvファイルからコピペ)

VBAでフォルダ内の全てのcsvファイルからコピペ

このQ&Aのポイント
  • VBAを使用して、特定のフォルダ内の全てのcsvファイルからデータをコピーする方法について教えてください。
  • 元のcvsファイルのシート数が一つで、シート名には全てファイル名が付いています。つまり、全てのファイルのシート名が異なります。どのように対応するのか教えてください。
  • マクロを作りましたが、正しく動作しません。どなたか詳しい方、解決策を教えていただけないでしょうか。

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

  • ベストアンサー
  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.2

私なら、こんな感じで作ります。 Sub test() Const FolderPath As String = "C:\data" Dim Filename As String Dim Sh0 As Worksheet, Sh As Worksheet Dim c As Long Set Sh0 = ActiveSheet Filename = Dir(FolderPath & "\*.csv") Do Until Filename = "" c = c + 1 Set Sh = Workbooks.Open(FolderPath & "\" & Filename).Sheets(1) Sh.Columns(5).Copy Sh0.Columns(c) Application.DisplayAlerts = False Sh.Parent.Close Application.DisplayAlerts = True Filename = Dir() Loop End Sub

mareomareo
質問者

お礼

完璧に動作しました。どうもありがとうございます。 半日がかりの仕事がトイレに行ってる間に済んでしまい、猛烈に感動しています。 ただ、当方のスキルがなさ過ぎ、内容を理解したとまでは到底言えませんので 時間をかけてじっくり解読してみたいと思います。 半ば心折れ掛けておりましたが、マクロ習得のモチベーションも 一気にMAXに上がりました。 重ね重ねありがとうございました。 ちなみに今さらですが 下から7行目くらいののコードで「実行時エラー438、オブジェクトはこのプロパティまたはメソッドをサポートしていません」と出てました。どうも失礼しました。

その他の回答 (1)

  • nattocurry
  • ベストアンサー率31% (587/1853)
回答No.1

どの命令で、どんなエラーが出たのか、くらいは書きましょうよ。

関連するQ&A