我正在使用一个非常简单的电子表格,在工作表上直接使用命令按钮(表单控件,而不是ActiveX)。我希望这样做,以便当单击按钮一次时,它被隐藏或锁定,以便无需重新打开工作表就可以再次单击该按钮。
我已尝试过btnNewMonth.Visible
和btnNewMonth.Locked
,但这些都不起作用。我已经检查了大约500次拼写错误,但我找不到任何错误。还有别的我可能做错了吗?
我已将我的整个代码粘贴到此处,但违规行是最后一行。它抛出运行时错误424:需要对象。
Sub btnNewMonth_Click()
Dim lastmonth As Variant
Cells(1, 1) = DateAdd("m", 1, DateValue(Cells(1, 1)))
lastmonth = Range("D6:D9")
Range("C6:C9") = lastmonth
Range("D6:D9") = ""
Range("B17:G18") = ""
Range("B20:G21") = ""
btnNewMonth.Visible = False 'Run-time error 424: Object required
End Sub
答案 0 :(得分:0)
如果您需要在工作表上找到ActiveX或表单控件,请参阅this answer。
在这种情况下,这应该足够了:
ActiveSheet.Shapes.Item("btnNewMonth").Visible = False
我强烈建议您针对特定的Worksheet
对象进行操作,而不是隐式或明确地处理ActiveSheet
。例如,如果您将工作表的(Name)
属性更改为SummarySheet
,那么您可以执行此操作:
SummarySheet.Shapes.Item("btnNewMonth").Visible = False