【问题标题】:How would I Pull Values of 1000+ Checkboxes in Excel?如何在 Excel 中提取 1000 多个复选框的值?
【发布时间】:2018-08-29 00:07:59
【问题描述】:

我需要提取复选框(表单控件版本)的值并将其插入到单元格中。我知道右键单击复选框的方法 - 格式控制 - 控制选项卡 - 单元格链接,但对于我需要这样做的电子表格有 1000 多个复选框。所以执行这个过程将是一个巨大的考验!

在 excel 函数中是否有一个 复选框?换句话说,如果我将该复选框调用到函数中,该复选框将响应什么变量?

即:=IF(CheckBox3 = TRUE, "Complete", " ")(我指的是 CheckBox3 文本)

或者是否有其他方法可以获取此信息?任何帮助或建议将不胜感激! (Photo of checkbox example)

【问题讨论】:

    标签: excel vba checkbox


    【解决方案1】:

    您可以循环形状集合并测试它是否是一个复选框并应用您的公式

    Option Explicit
    Public Sub GetValues()
        Dim shp As Shape, counter As Long
        Application.ScreenUpdating = False
        With Worksheets("Sheet1")
            For Each shp In .Shapes
                If shp.Type = msoFormControl Then
                    counter = counter + 1
                    .Cells(counter, 1) = shp.NAME
                     If shp.ControlFormat.Value = 1 Then .Cells(counter, 2) = "Complete"
                End If
            Next
        End With
        Application.ScreenUpdating = True
    End Sub
    

    您可能需要添加额外的测试,例如,如果它们被称为 Check Box 1、Check Box 2 等,则类似于:

    If shp.Type = msoFormControl And InStr(shp.NAME, "Check Box") > 0 Then
    

    【讨论】:

    • 感谢您的快速回复!因此,我尝试了该代码,并将每个复选框打印到我的电子表格上;但是,无论是否选中了实际复选框,它都会在相邻列中打印“完成”。我是不是在某个地方漏掉了一步?
    • 哦,哇,我一直在试图弄清楚为什么 True/False 在过去的一个小时内不起作用。没想到尝试 1 / 0 哈哈。谢谢!!
    猜你喜欢
    • 2015-02-11
    • 2012-09-11
    • 1970-01-01
    • 1970-01-01
    • 2019-08-16
    • 2012-11-11
    • 2021-11-21
    • 1970-01-01
    • 2019-09-19
    相关资源
    最近更新 更多