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 に答える