我是excel工作的新手。基本上我是在一个结果框中打印一些语句,如果在给定列中选中了所有相关的复选框。对于给定的列,它的布局如下:
A B
Number of checkboxes: 8
Overall status: ["Pass" if all 8 checkboxes are checked below, else "fail"]
Checkboxs: checkbox 1 []
checkbox 2 []
...
checkbox 8 [X]
我正在使用表单控件复选框,如何引用单元格b2中的8个复选框?
答案 0 :(得分:1)
您可以右键单击复选框,转到格式控件并将其链接到单元格。然后该单元格将包含True或False,具体取决于是否选中该框。然后,您可以使用if公式(例如,=if(A1=TRUE, ...
)确定单元格是否为真。如果确实如此,则选中该框。由于您有8个复选框,因此可能需要类似
=if(AND(A1=TRUE, A2=TRUE, A3=TRUE, ..., A8=TRUE), "Pass", "Fail")
如果您确实发现自己感兴趣的宏会自动链接到复选框下方的单元格,则可以将每个复选框分配给宏,例如此
Private Sub CheckBox1_Click()
thisLink = ActiveSheet.Shapes("Check Box 1").TopLeftCell.Offset(2).Address()
ActiveSheet.Shapes.Range(Array("Check Box 1")).Select
With Selection
.LinkedCell = thisLink
End With
ActiveCell.Select
End Sub
答案 1 :(得分:0)
你需要VBA。
Sub ckBoxChecked()
Dim allChecked As Boolean
Dim ckbx As Variant
For Each ckbx In ActiveSheet.CheckBoxes
If ckbx.Value > 0 Then
allChecked = True
Else
allChecked = False
Exit For
End If
Next
End Sub