VBAコードの解説:指定されたフォルダ内のExcelファイルから特定の列を削除
コード
Sub GからI行削除()
Dim folderPath As String
Dim ws As Worksheet
Dim i As Long
Dim fileName As String
Dim externalWorkbook As Workbook
' フォルダパスを指定
folderPath = ThisWorkbook.Path
' シート名を適切に変更
Set ws = ThisWorkbook.Sheets("Sheet1")
' フォルダ内の全てのファイルに対して処理を実行
fileName = Dir(folderPath & "\*.xls*")
Do While fileName <> ""
' 「削除.xlsm」以外のファイルのみ処理
If fileName <> "削除.xlsm" Then
On Error Resume Next
Set externalWorkbook = Workbooks.Open(folderPath & "\" & fileName)
If Not externalWorkbook Is Nothing Then
Dim lastRow As Long
lastRow = externalWorkbook.Sheets(1).Cells(Rows.Count, 1).End(xlUp).Row
externalWorkbook.Sheets(1).Range("G:I").Delete Shift:=xlToLeft
externalWorkbook.Close SaveChanges:=True
End If
On Error GoTo 0
End If
' 次のファイルを処理
fileName = Dir
Loop
End Sub
1. コードの目的
このVBAコードは、指定されたフォルダ内のExcelファイルから特定の列(G列からI列)を削除するものです。
2. コードの概要
- フォルダパスを指定します。
- シート名を適切に変更します(ここでは「Sheet1」を使用)。
- 指定されたフォルダ内の全てのExcelファイルに対して処理を実行します。
- 「削除.xlsm」以外のファイルのみ処理します。
- 外部のExcelファイルを開き、G列からI列を削除します。
- 外部のExcelファイルを保存して閉じます。
3. コードのポイント
Dir
関数を使用して、指定されたフォルダ内のファイルを順番に処理しています。On Error Resume Next
とOn Error GoTo 0
を使用して、エラーが発生した場合に処理を続行するかどうかを制御しています。