プロが教えるわが家の防犯対策術!

フォルダの中に、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

A 回答 (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のフォルダに保存する
マクロを実行する。
    • good
    • 0
この回答へのお礼

早々に、ご回答いただきありがとうございました。

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

お礼日時:2014/07/01 22:07

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!