我需要提取一个复选框的值(Form Control版本)并将其插入到单元格中。我知道右键单击复选框的方法-格式控制-控件选项卡-单元格链接,但是对于电子表格,我需要这样做,因为它具有1000多个复选框。因此执行该过程将是一项巨大的考验!
excel函数中是否存在复选框符合的值?换句话说,如果我要将该复选框调用到函数中,则该复选框将响应哪个变量?
即:=IF(CheckBox3 = TRUE, "Complete", " ")
(我指的是 CheckBox3 文本)
或者是否有获取此信息的替代方法?任何帮助或建议,将不胜感激! (Photo of checkbox example)
答案 0 :(得分:0)
您可以循环收集形状并测试是否为复选框并应用公式
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
您可能需要添加其他测试,例如,如果它们被称为“复选框1”,“复选框2”等,则类似:
If shp.Type = msoFormControl And InStr(shp.NAME, "Check Box") > 0 Then