我有一个包含 6 个复选框的 Excel 表单。在 VBA 中,我知道如何确定复选框是否被选中,我想要做的是引用它们,以便我可以将该信息连接到字符串中以输出到另一个单元格。
例如,如果选中“复选框 1”,我想在另一个单元格中输出“Box1”,如果选中“复选框 1”和“复选框 2”,我想在一个单元格中输出“Box1,Box2”等等。
If ActiveSheet.Shapes("Check Box 1").ControlFormat.Value = 1 Then
我的总体目标是在另一个单元格中创建一个句子,该句子将引用选中的复选框,以便用户可以复制和粘贴该信息。
以下宏会将结果放在活动工作表中,并在单元格 B2...
Option Explicit
Sub test()
Dim vCheckBoxNames As Variant
Dim vCheckBoxName As Variant
Dim sCheckBoxNames As String
vCheckBoxNames = Array("Check Box 1", "Check Box 2", "Check Box 3", "Check Box 4", "Check Box 5", "Check Box 6")
sCheckBoxNames = ""
For Each vCheckBoxName In vCheckBoxNames
If ActiveSheet.Shapes(vCheckBoxName).ControlFormat.Value = 1 Then
sCheckBoxNames = sCheckBoxNames & ", " & Mid(vCheckBoxName, 7)
End If
Next vCheckBoxName
sCheckBoxNames = Mid(sCheckBoxNames, 3)
Range("B2").Value = sCheckBoxNames
End Sub
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句