求救啊:在excel怎么用vba编程,让按钮灰色不可用?

来源:百度知道 编辑:UC知道 时间:2024/05/21 16:45:29
例如我在excel里编写了一个E1+E2+E3=E4的宏来连接一个按钮,其中E1、E2、E3是变量单元格,E4得出结果的单元格。请问我怎样弄,使E1、E2、E3在不填入数字时,按钮是灰色的,不可用?谁能给一个完整的编程?包括这个公式和灰色的要求~~~~

写在Worksheet_Change事件里,如果写在Worksheet_SelectionChange,会有个bug,比如往E1里输入不符合要求的内容,然后直接按保存,这是不会触发Worksheet_SelectionChange事件,然后再按按钮就会出错。

Private Sub Worksheet_Change(ByVal Target As Range)
Dim r1, r2, r3
r1 = Range("e1").Value
r2 = Range("e2").Value
r3 = Range("e3").Value

CommandButton1.Enabled = False
If r1 <> "" And r2 <> "" And r3 <> "" And IsNumeric(r1) And IsNumeric(r2) And IsNumeric(r3) Then
CommandButton1.Enabled = True
End If

End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim r1, r2, r3
r1 = Range("e1").Value
r2 = Range("e2").Value
r3 = Range("e3").Value
CommandButton1.Enabled = False
If r1 <> "" And r2 <> "" And r3 <> "" Then CommandButton1.Enabled = True