- ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:VBAでフォルダ内の全てのcsvファイルからコピペ)
VBAでフォルダ内の全てのcsvファイルからコピペ
このQ&Aのポイント
- VBAを使用して、特定のフォルダ内の全てのcsvファイルからデータをコピーする方法について教えてください。
- 元のcvsファイルのシート数が一つで、シート名には全てファイル名が付いています。つまり、全てのファイルのシート名が異なります。どのように対応するのか教えてください。
- マクロを作りましたが、正しく動作しません。どなたか詳しい方、解決策を教えていただけないでしょうか。
- みんなの回答 (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
その他の回答 (1)
- nattocurry
- ベストアンサー率31% (587/1853)
回答No.1
どの命令で、どんなエラーが出たのか、くらいは書きましょうよ。
お礼
完璧に動作しました。どうもありがとうございます。 半日がかりの仕事がトイレに行ってる間に済んでしまい、猛烈に感動しています。 ただ、当方のスキルがなさ過ぎ、内容を理解したとまでは到底言えませんので 時間をかけてじっくり解読してみたいと思います。 半ば心折れ掛けておりましたが、マクロ習得のモチベーションも 一気にMAXに上がりました。 重ね重ねありがとうございました。 ちなみに今さらですが 下から7行目くらいののコードで「実行時エラー438、オブジェクトはこのプロパティまたはメソッドをサポートしていません」と出てました。どうも失礼しました。