如何将多个复选框名称返回到Excel电子表格

时间:2014-04-07 22:31:15

标签: vba checkbox

在表单框架中创建了一堆复选框并创建了一个' Ok'命令按钮,能够将复选框名称发送回电子表格到A列第22行的代码是什么,然后使用每个复选框名称继续向下。例如,如果我有复选框名称(绿色,蓝色,紫色,红色),则用户选中蓝色和红色,然后单击“确定”。我希望电子表格显示" Blue"在细胞A22上然后在细胞A23上发红。

谢谢。

1 个答案:

答案 0 :(得分:0)

对表单.Controls集合进行简单循环/迭代。由于集合可能包含其他类型的控件(列表框,选项按钮等),因此在继续操作之前使用简单的If/Then逻辑来检查控件的类型

Sub Example()
Dim ctrl as control
Dim i as Integer

For each ctrl in Me.MyFrame.Controls
    If TypeName(ctrl) = "CheckBox" Then
        Range("A22").Offset(i).Value = ctrl.Name
        i = i + 1
    End If
Next

End Sub