【VBA】CSVファイルをエラー処理付きで別ブックとして保存する方法
毎日大量のデータを手作業でCSVファイルからエクセルに移動させている方、いませんか?この記事では、VBAを使ってCSVファイルをエラー処理付きで別のエクセルブックとして保存する方法を紹介します。これにより、業務効率が大幅にアップします。
サンプルコード
VBA
Option Explicit
Sub CSVToWorkbook()
Dim ws As Worksheet
Dim csvFilePath As String
Dim wbCSV As Workbook
Dim wbNew As Workbook
' ユーザーからCSVファイルのパスを取得
csvFilePath = Application.GetOpenFilename(FileFilter:="CSV Files (*.csv), *.csv", Title:="CSVファイルを選択")
If csvFilePath = "" Then Exit Sub
On Error GoTo ErrorHandler
' CSVファイルを開く
Set wbCSV = Workbooks.Open(csvFilePath)
Application.ScreenUpdating = False
Application.DisplayAlerts = False
' 新しいワークブックを作成
Set wbNew = Workbooks.Add
' CSVのデータを新しいワークブックにコピー
For Each ws In wbCSV.Sheets
ws.Copy After:=wbNew.Sheets(wbNew.Sheets.Count)
Next ws
' 既存のワークブックを閉じる
wbCSV.Close SaveChanges:=False
Application.ScreenUpdating = True
Application.DisplayAlerts = True
MsgBox "完了しました。", vbInformation
Exit Sub
ErrorHandler:
MsgBox Err.Description, vbExclamation
If Not wbCSV Is Nothing Then wbCSV.Close SaveChanges:=False
End Subよくある質問
Q 元に戻せますか?
A.
VBAの実行結果は「元に戻す」が効きません。必ずバックアップを取ってから実行してください。
Q エラーが出たら?
A.
シート名や列番号が正しいか確認してください。それでも解決しない場合は、具体的なエラーメッセージを元に原因を探る必要があります。