我试图在用户点击它后禁用放在我的sheet1上的按钮。 我经历了几个旧的Stackoverflow answers,但是他的工作符合我的期望。
代码:
Sub Button2_Click()
Call FindADate
Dim myshape As Shape: Set myshape = ThisWorkbook.Worksheets("Sheet1").Shapes("Button 2")
With myshape
.ControlFormat.Enabled = False '---> Disable the button
.TextFrame.Characters.Font.ColorIndex = 15 '---> Grey out button label
End With
End Sub
它实际上是灰色的按钮,让人感觉按钮被禁用但是用户可以反复点击它并运行我的代码。
请让我知道一个解决方案,在点击一下后按钮被禁用,只有关闭并重新打开excel后,该按钮才会再次激活。 (我正在使用MS Office professional Plus 2013)
提前致谢。
答案 0 :(得分:2)
Option Explicit
Sub Button2_Click()
Static vDisable As Variant
If IsEmpty(vDisable) Then
Call FindADate
Dim myshape As Shape: Set myshape = ThisWorkbook.Worksheets("Sheet1").Shapes("Button 2")
With myshape
.ControlFormat.Enabled = False '---> Disable the button
.TextFrame.Characters.Font.ColorIndex = 15 '---> Grey out button label
End With
vDisable = True
End If
End Sub
答案 1 :(得分:0)
if myshape.TextFrame.Characters.Font.ColorIndex = 15 then exit sub
应该够了