これは正しい構文を得られないようです。私は行4から列の最後のセルまで列AからHをクリアするVBAスクリプトを書いてみたいと思います。Excel VBAで特定の列の列をクリアします
行を消去するにはどうすればよいですか?これを変更して、すべての列ではなく、A列からH列にのみ適用するにはどうすればよいですか?
これは正しい構文を得られないようです。私は行4から列の最後のセルまで列AからHをクリアするVBAスクリプトを書いてみたいと思います。Excel VBAで特定の列の列をクリアします
行を消去するにはどうすればよいですか?これを変更して、すべての列ではなく、A列からH列にのみ適用するにはどうすればよいですか?
使用
Sheets("BAC").Range("A4:H" & Sheets("BAC").UsedRange.Rows.Count).ClearContents
Sheets("JPM").Range("A4:H" & Sheets("JPM").UsedRange.Rows.Count).ClearContents
Sheets("CITI").Range("A4:H" & Sheets("CITI").UsedRange.Rows.Count).ClearContents
これはあなたのためにそれを行います。
Sub clearRowsAtoH()
Dim i As Integer
For i = 1 To 8
Sheets("BAC").range(Sheets("BAC").Cells(4, i), Sheets("BAC").Cells(Rows.count, i).End(xlUp)).ClearContents
Sheets("JPM").range(Sheets("JPM").Cells(4, i), Sheets("JPM").Cells(Rows.count, i).End(xlUp)).ClearContents
Sheets("CITI").range(Sheets("CITI").Cells(4, i), Sheets("CITI").Cells(Rows.count, i).End(xlUp)).ClearContents
Next i
End Sub
EDIT: 'with'ステートメントを使用すると、はるかにクリーンにすることができます。
Sub clearRowsAtoH()
Dim i As Integer
For i = 1 To 8
With Sheets("BAC")
.range(.Cells(4, i), .Cells(Rows.count, i).End(xlUp)).ClearContents
End With
With Sheets("JPM")
.range(.Cells(4, i), .Cells(Rows.count, i).End(xlUp)).ClearContents
End With
With Sheets("CITI")
.range(.Cells(4, i), .Cells(Rows.count, i).End(xlUp)).ClearContents
End With
Next i
End Sub
例の場合
With Sheets("BAC")
.Range("A4:H" & .Range("A4").End(xlDown).Row).ClearContents
End With
のためにあなたが本の中で複数のワークシートを持って、これを試してみてください、これを試してみてください。
Sub clear_rows()
Dim Wks As String
Dim i As Integer
Dim last_cell As Long
Application.ScreenUpdating = False
For Each Worksheet In Worksheets ' loop through all worksheets
Wks = Worksheet.Name 'get the name of the sheet as a string
If Wks = "BAC" Or Wks = "JPM" Or Wks = "CITI" Then 'check the string against your list (could use array or modify to fit your application)
Worksheets(Wks).Activate
For i = 1 To 8 'loop through all columns you want a=1,h=8 and so on
last_cell = Worksheets(Wks).Cells(Rows.Count, i).End(xlUp).Row 'get the last used cell in the column i
If Not last_cell < 4 Then Worksheets(Wks).Range(Cells(4, i), Cells(last_cell, i)).Clear 'clear it if the column has more than 3 cells
Next
End If
Next
Application.ScreenUpdating = True
End Sub
は、あなたの好みに合わせて変更します!
これは、すべての列で実際に使用されているすべてのセルのみを消去するため、より良い解決策です。 –