我在excel里面想要设置这样一个 *** 作,多个复选框关联,加入单元格计算和判断,如图,我想完成的 *** 作是:

我在excel里面想要设置这样一个 *** 作,多个复选框关联,加入单元格计算和判断,如图,我想完成的 *** 作是:,第1张

点“设计模式”,然后按顺序插入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


欢迎分享,转载请注明来源:内存溢出

原文地址:https://54852.com/bake/11723219.html

(0)
打赏 微信扫一扫微信扫一扫 支付宝扫一扫支付宝扫一扫
上一篇 2023-05-18
下一篇2023-05-18

发表评论

登录后才能评论

评论列表(0条)

    保存