No.1ベストアンサー
- 回答日時:
一括してXLSに変換するマクロを書いてみました。
同じフォルダにあるCSVファイルを1つずつ開いて別フォルダにXLS形式で保存する、というのを繰り返す処理を行うマクロです。
●前提
・CSVファイルは全て同じフォルダにある。
・ファイル名はすべて*.csvというふうに拡張子がCSVである。
・CSVファイルの各フィールドはコンマで区切られている。
・CSVファイル名に、拡張子の.csv以外の.(ピリオド)は含まれていない。
●準備
・CSVファイルがあるフォルダにXLSという名前のフォルダを作る。
・Excelを起動し、適当に名前をつけて「CSVファイルがあるフォルダ」に保存する。
・そのExcel上でAlt+F11を押してVBAの画面を出し、「挿入」>「標準モジュール」を選択する。
・右の画面に以下のマクロをコピーして貼り付ける。
Sub Csv2Xls()
Application.ScreenUpdating = False
Dim WB As Workbook
Dim FN As String
Dim F As Integer
Dim i As Integer
F = ThisWorkbook.FileFormat
FN = Dir("*.csv")
Do While FN <> ""
i = i + 1
Application.StatusBar = i & "番目:" & FN & " 変換中"
Set WB = Workbooks.Open(FN)
WB.SaveAs "XLS\" & Left(FN, InStr(FN, ".")) & "xls", F
WB.Close
FN = Dir()
Loop
Application.ScreenUpdating = True
Application.StatusBar = ""
End Sub
●実行
・Alt+F11でExcelの画面に戻り、Alt+F8から上記のマクロ「Csv2Xls」を実行する。
・CSVファイルがXLSファイルに変換されて、XLSフォルダに、XXX.csvというファイルならXXX.xlsというファイル名で保存される。
●注意
・実行中はステータスバー(一番下の部分)に、何個目のファイルを処理中か、ファイル名と一緒に表示されます。1000個もあると非常に時間がかかるかもしれませんが、進み具合はその表示を目安にしてください。
・処理中はファイルを次々に開いて閉じて、というのを繰り返すためにタスクバーがちらちらしますが、気にしないでください。
・途中で処理を止めたいときは、Ctrl+Breakキーを押してください。マクロの中断画面が出るので「終了」ボタンを押し、処理中のファイルが開いていたら閉じてください。
・途中で止めて再度やりなおす(あるいは一度やったけどもう一度やりなおす)場合は、XLSフォルダのファイルは全て削除し、空にしてから実行してください。
何か不明な点がある場合や、あるいは希望通りの動作にならない、前提が違う、などの場合は補足をお願いします。
この回答へのお礼
お礼日時:2007/02/27 12:25
返事が遅れてしまい申しわけ有りません。
使用できることを確認しました。便利ですね。
ありがとうございます。私もマクロについて勉強してみたいと思います。
お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!
似たような質問が見つかりました
- Visual Basic(VBA) 複数のcsvファイルをExcelに一括変換したい 2 2023/03/03 12:44
- Excel(エクセル) エクセルのVBAについて とあるサイトのコードを参考に、CSVの文字化けを直すVBAを作成しているの 7 2022/11/04 14:15
- その他(プログラミング・Web制作) データ解析ソフトRでのファイル入力read.csvがエラーになります 7 2022/03/27 22:11
- フリーソフト フォルダ、ファイル名の一括変換について 3 2023/03/16 09:23
- その他(Microsoft Office) 同じフォーマットのCSVファイル複数枚(行数は異なる)を1枚のエクセルファイルにしたいのですが簡単に 3 2023/01/05 16:24
- PDF PDFに精通した方に質問。JPEGファイル群を一つのPDFファイルにするときの容量変化について 6 2023/07/23 19:06
- Excel(エクセル) エクセルでcsvファイルを開いてVBAを使いたい 7 2022/04/28 11:12
- その他(プログラミング・Web制作) python 気象データの取得 2 2023/06/20 23:54
- Excel(エクセル) CSVファイルでVBAを動かす方法 3 2023/04/04 10:22
- Excel(エクセル) Excelについて。 Excelからcsv変換したいのですが、 やり方はファイル→名前をつけて保存→ 7 2022/07/27 01:10
関連するカテゴリからQ&Aを探す
おすすめ情報
デイリーランキングこのカテゴリの人気デイリーQ&Aランキング
-
【マクロ】読取専用のファイル...
-
EXCEL VBA 指定したファイルが...
-
エクセルマクロで不特定なファ...
-
ファイルの保存場所を変えたら...
-
データ参照先が別ファイルの場...
-
ファイルを開かずにマクロを実行
-
EXCELが終了できません
-
excel2007のファイルを一気に97...
-
【Excel VBA】ファイル名が一...
-
VBAでワークブックの名前を変数...
-
word2007ファイル起動時のSQLに...
-
VBAでフォルダ内の全てのcsv...
-
エクセルファイルをHTML化する...
-
秀丸:あらかじめ設定した複数...
-
Accessのaccdbファイルを起動で...
-
エクセルのxls形式からxlsx形式...
-
エクセルのシートの数を数えた...
-
【VBA】フォルダ内のファイル全...
-
vlookup関数の引数を変数で指定...
-
エクセル 複数ファイルの一括...
マンスリーランキングこのカテゴリの人気マンスリーQ&Aランキング
-
EXCEL VBA 指定したファイルが...
-
エクセルマクロで不特定なファ...
-
VBAでワークブックの名前を変数...
-
フォルダ内のexcelファイルを順...
-
エクセルのxls形式からxlsx形式...
-
エクセル 複数ファイルの一括...
-
エクセルのシートの数を数えた...
-
accessフォルダを移動したらフ...
-
vlookup関数の引数を変数で指定...
-
Accessのaccdbファイルを起動で...
-
ファイルを開かずにマクロを実行
-
【Excel VBA】ファイル名が一...
-
EXCELマクロを無効にして開く方法
-
エクセル(マクロ)のファイル...
-
ACCESS VBAでファイルを開くダ...
-
Excel VBA でファイルが開かれ...
-
ファイルの保存場所を変えたら...
-
vba初心者です。 質問です。 毎...
-
フォルダ内のブック全部にパス...
-
エクセルマクロ 異なるファイ...
おすすめ情報