首页 > 解决方案 > VBA复选框范围到表

问题描述

我有一个包含 13 个复选框的表单。我已经设置好了,如果它被选中,一个单元格被标记为 TRUE 或 FALSE。

我想要做的是将数据从表单导出到表格中。我已经完成了所有其他工作,但是我对如何更好地输入复选框值感到困惑。

而不是为所有复选框执行此 if 语句

If CHECKBOX = TRUE Then
    CHECKBOX_VAL = string
End If

If CHECKBOX2 = TRUE Then
    CHECKBOX_VAL2 = string2
End If

table_object_row.Range(x,x).Value = CHECKBOX_VAL
table_object_row.Range(x,x).Value = CHECKBOX_VAL2

我怎样才能简单地将复选框的 TRUE 值导出到表中。我应该使用数组只存储 True 值吗?

标签: vbaexcel

解决方案


您可以循环浏览用户窗体上的控件,如果元素属于类型,CheckBox则将其放入数组、表格或其他任何内容中。

Dim ctl
For Each ctl In UserForm1.Controls  'the controls collection of your userform
    If TypeName(ctl) = "CheckBox" Then

        Debug.Print "The value of " & ctl.Name & " is " & ctl.Value
        '(do something with your values here)

    End If
Next ctl

更多信息:


推荐阅读