- 締切済み
複数のCSVファイルを自動でエクセルに変換したい
フォルダの中に、300近いCSVフォルダがあります。 ネットで探したマクロVBAでやってみたところ、一つのCSVファイルを選び、それをエクセルファイルに変換できました。 このマクロを使って、フォルダ内にあるすべてのCSVファイルを一気にエクセルに変換するには、どうしたらいいのでしょうか。 ご教授のほど、よろしくお願いいたします。 Sub CSVからXLSX() Dim varFileName As Variant varFileName = Application.GetOpenFilename(FileFilter:="CSVファイル(*.csv),*.csv", _ Title:="CSVファイルの選択") If varFileName = False Then Exit Sub End If Workbooks.Open Filename:=varFileName ActiveSheet.Cells.Copy ThisWorkbook.ActiveSheet.Cells ActiveWorkbook.Close SaveChanges:=False End Sub
- みんなの回答 (1)
- 専門家の回答
みんなの回答
- keithin
- ベストアンサー率66% (5278/7941)
空のブックを用意する 次のマクロを登録する sub macro1() dim myPath as string dim myFile as string application.screenupdating = false mypath = thisworkbook.path & "\" myfile = dir(mypath & "*.csv") do until myfile = "" workbooks.open mypath & myfile activeworkbook.saveas split(myfile, ".")(0), fileformat:=xlnormal activeworkbook.close false myfile = dir() loop application.screenupdating = true end sub CSVをイチイチ選択する代わりに、マクロブックをCSVのフォルダに保存する マクロを実行する。
お礼
早々に、ご回答いただきありがとうございました。 このマクロを実行すると、CSVフォルダのどこに保存されるのでしょうか。 どのように使うか教えていただけませんでしょうか。 せっかくお答えいただいたのに理解できなくてすみません。、