删除多个工作表中的内容 – Excel VBA

Private Sub CommandButton2_Click() sheetNo = 1 With Worksheets("Sheet" & sheetNo) .Range("A1:B12").ClearContents End With sheetNo = sheetNo + 1 End Sub 

假设我有10张(Sheet1,Sheet2,Sheet 3,……..),当我点击CommandButton2时,它应该删除范围A1:B12中的任何内容。 但是,此代码仅在Sheet1中删除内容。 有人能告诉我为什么,我哪里出了错?

谢谢。

看看如何使用循环
这些只是3个简单的循环示例(所有3个都在做相同的事情),以便您更好地了解循环如何工作

 Private Sub CommandButton2_Click() ' using for each loop Dim ws As Worksheet For Each ws In ThisWorkbook.Sheets ws.Range("A1:B12").ClearContents Next ' using for loop with an iterator Dim i As Long For i = 1 To Sheets.Count Sheets(i).Range("A1:B12").ClearContents Next i ' using do while loop i = 1 Do While i <= Sheets.Count Sheets(i).Range("A1:B12").ClearContents i = i + 1 Loop End Sub