
点“设计模式”,然后按顺序插入6个Activex复选框控件,
假如下图的6个,摆放位置和你的一样
ALT+F11打开代码窗口,对每个控件设置代码,
例如我对右边第一个名为checBox3的复选框设置代码(其他的你复制粘贴后同理修改即可):
Private Sub CheckBox3_Click() '点击复选框3的动作If CheckBox3.Value = True Then '如果复选框CheckBox3打勾,则
CheckBox1.Value = True '复选框CheckBox1打勾
CheckBox2.Value = False '复选框CheckBox2的勾去掉
CheckBox4.Value = False '复选框CheckBox4的勾去掉
CheckBox5.Value = False '复选框CheckBox5的勾去掉
CheckBox6.Value = False '复选框CheckBox6的勾去掉
End If
End Sub
可以先用录制宏功能,学习一下vba代码,调试的时候多用msgbox函数和 msdn的官方帮助 google用EXCEL VBA实现
------------------------------------------------------------------------------------
Sub Macro4()'' Macro1 Macro
For i = 1 To 2
ActiveSheet.CheckBoxes.Add(Cells(i, 1).Left, Cells(i, 1).Top, 24, 16.5).Select '在cells(i,1)处添加复选框
ActiveSheet.Shapes("Check Box " + Str(i)).Select
Selection.Characters.Text = "" '把复选框右边系统自带的注释清空
With Selection
.Value = xlOff
.LinkedCell = "$B$" + Trim(Str(i)) '如果i=1的话,则在B1单元格处显示A1单元格中的复选框是否被选中
' MsgBox """" + "$D$" + Trim(Str(i)) + """"
' MsgBox """" + "$D$1" + """"
.Display3DShading = FalseEnd WithNext iRange("E5").SelectEnd Sub-------------------------------------------------------------------------------------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
' [a1] = "单元格 "
' [b1] = "第一行顶端到该单元格顶端的距离: "
' [c1] = "从A列左边界至该单元格左边界的距离: "
[a2] = Target.Address ’单元格在第几行第几列
[b2] = Target.Top ‘单元格离上边界的距离
[c2] = Target.Left ’单元格离左边界的距离
[d2] = Target.Height ’单元格行高
[e2] = Target.Width ‘单元格列宽
字符串转数值函数 val
数值转字符串函数 str
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)