• 締切済み

複数の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

みんなの回答

  • keithin
  • ベストアンサー率66% (5278/7941)
回答No.1

空のブックを用意する 次のマクロを登録する 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のフォルダに保存する マクロを実行する。

kuskus_2
質問者

お礼

早々に、ご回答いただきありがとうございました。 このマクロを実行すると、CSVフォルダのどこに保存されるのでしょうか。 どのように使うか教えていただけませんでしょうか。 せっかくお答えいただいたのに理解できなくてすみません。、

関連するQ&A