vba 复选框

来源:百度知道 编辑:UC知道 时间:2024/09/25 06:23:55
任务是这样的:
企业产值分为好几种:10亿以上的,1-10亿的,5000万-1亿的。。。。等
我们的EXCEL上对这几个选项是复选框(别问我为什么,事实是这样)
要求是其中任意一个选项被选中,F32格的颜色就由红变白。
VBA我一点也不会,请教完整代码。

(我只知道 alt+F11 这一步)急!
复选框是窗体控件,底色变红
activeX控件我已经会弄了,但是解析无法通过,还得用窗体控件

选择控件工具栏上的第一个按钮进入编辑模式。
假设三个复选框控件的名称分别为CheckBox1,CheckBox2和CheckBox3。

右键分别点击每个控件,选择“查看代码”,看到类似下面的函数
Private Sub CheckBox1_Click()

End Sub

把下面这段代码拷贝到中间,有几个控件就做几次这样的动作,然后退出编辑模式即可。

If (CheckBox1.Value Or CheckBox2.Value Or CheckBox3.Value) = True Then
Range("F32").Interior.Color = RGB(255, 255, 255)
Else
Range("F32").Interior.Color = RGB(255, 0, 0)
End If

这个很简单啊,但是你急的话也要把问题写清楚啊。
你的复选框是窗体控件,还是控件工具箱控件啊?
F32是字体颜色变红,还是底色变红啊?

明白了,这个不用vba.
你应该会把复选框的逻辑值指定到某以单元格吧。(右键,设置控件格式,在控制里面)
我一般是把它藏在被复选框遮住的单元格。

假定这些逻辑值在E7,E8,E9
你在F32格设条件格式,选公式然后填入=OR(E7,E8,E9),格式是颜色变白当然不用我说啦。
就OK了。

当然你想练编程就另说了,我也喜欢编程,不过这个还是这样简单。