使用Excel 07
以下是我目前正在使用的代码。但是,当我将它分配给代码时,清除内容的部分不会运行,但其他所有部分都会运行。如果我只是F8通过它清除内容没有问题。我不知道为什么会这样,希望你能帮忙。
Sub Save_Session()
Call UnProtectAll
If Worksheets("Drawing").Range("A2").Value = Worksheets("Drawing").Range("I2").Value Then
i = (Worksheets("Drawing").Range("B2").Value * 25) - 24
Worksheets("Drawing").UsedRange.Copy Destination:=Worksheets("Sessions").Range("A" & i)
Worksheets("Drawing").Range("B2").Value = Worksheets("Drawing").Range("B2").Value + 1
With Sheets("Drawing")
Range("A2").ClearContents
Range("C2:C20").ClearContents
Range("E2:H20").ClearContents
End With
Else
MsgBox "You do not have all the winners yet!!!"
End If
Sheets("Drawing").Select
Call ProtectAll
End Sub
答案 0 :(得分:2)
当你巧合地走过去时,它可能正在工作,因为你碰巧在工作表上#34;绘图"运行宏时。
要访问对象的属性或参数,您需要使用"。"由于您已经使用WITH语句声明了要尝试访问的内容。
以下是MSDN上的一篇文章,解释了WITH...End statement在VBA中的工作原理。
With Sheets("Drawing")
.Range("A2").ClearContents
.Range("C2:C20").ClearContents
.Range("E2:H20").ClearContents
End With