Button.Visible属性不工作VBA

时间:2017-12-14 22:12:10

标签: vba excel-vba excel

我正在使用一个非常简单的电子表格,在工作表上直接使用命令按钮(表单控件,而不是ActiveX)。我希望这样做,以便当单击按钮一次时,它被隐藏或锁定,以便无需重新打开工作表就可以再次单击该按钮。

Photo of button and name here.

我已尝试过btnNewMonth.VisiblebtnNewMonth.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

1 个答案:

答案 0 :(得分:0)

如果您需要在工作表上找到ActiveX或表单控件,请参阅this answer

在这种情况下,这应该足够了:

ActiveSheet.Shapes.Item("btnNewMonth").Visible = False

我强烈建议您针对特定的Worksheet对象进行操作,而不是隐式或明确地处理ActiveSheet。例如,如果您将工作表的(Name)属性更改为SummarySheet,那么您可以执行此操作:

SummarySheet.Shapes.Item("btnNewMonth").Visible = False