通过VBA代码将单元格或范围设置为空白在不同的工作表上

我很难在不同的工作表上设置范围和单元格为空值,除非工作表是可见的。

代码如下:

Sub Clean_Up_Ranges() Dim nm As Worksheet On Error Resume Next For Each nm In Worksheets Worksheets("nm").Select Range("d7:d37") = "" Range("k7:k37") = "" Range("L40:l42") = "" '..... plenty more ranges Range("h80:j179") = "" Calculate Debug.Print nm.Name Next On Error GoTo 0 End Sub 

任何想法赞赏。

明确引用表单。

 Sub Clean_Up_Ranges() Dim nm As Worksheet On Error Resume Next For Each nm In Worksheets 'Worksheets("nm").Select nm.Range("d7:d37") = "" nm.Range("k7:k37") = "" nm.Range("L40:l42") = "" '..... plenty more ranges nm.Range("h80:j179") = "" Calculate Debug.Print nm.Name Next On Error GoTo 0 End Sub 

您可以在代码中使用Activate关键字来激活工作表。

请参阅此处了解SHEETS.SELECT或SHEETS.ACTIVATE之间的区别。

 Sub Clean_Up_Ranges() Dim nm As Worksheet On Error Resume Next For Each nm In Worksheets nm.Activate 'Activate the sheet Range("d7:d37") = "" Range("k7:k37") = "" Range("L40:l42") = "" '..... plenty more ranges Range("h80:j179") = "" Calculate Debug.Print nm.Name Next On Error GoTo 0 End Sub