2
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 中的内容。有人可以告诉我为什么以及我哪里出错了吗?

谢谢。

4

1 回答 1

4

看看如何使用循环
这些只是 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
于 2013-06-17T07:06:05.200 回答