窗体checkbox在运行时设置单元格链接

我正在从excel的标准化表单中提取数据。 有一个窗体控件checkbox,我需要的状态。 显然获得这个的唯一方法是从单元链接中把值放到一个单元格中。 问题是,把这个表格放在一起没有设置单元格链接。 有没有办法在运行时使用VBA来做到这一点。 我必须经历许多这些forms,所以我试图避免手动进行。

我想你是指一个表单checkbox控件放置在工作表上,在这种情况下,您可以获得控件的状态,而无需设置单元格链接。 喜欢这个:

 Sub HTH() Dim iLoop As Integer '// Get value of check box by its index MsgBox (GetCheckBoxState(1)) '// Get value of check box by its name MsgBox (GetCheckBoxState("Check Box 1")) '// Loop through all checkboxes and get values For iLoop = 1 To ActiveSheet.CheckBoxes.Count MsgBox (GetCheckBoxState(iLoop)) Next End Sub Function GetCheckBoxState(vCheckBox As Variant) As String Select Case ActiveSheet.CheckBoxes(vCheckBox).Value Case xlOn GetCheckBoxState = "Checked" Case xlOff GetCheckBoxState = "UnChecked" Case xlMixed GetCheckBoxState = "Mixed" End Select End Function 

如果你指的是一个用户表单上的checkbox控件,那么Tim指出它应该是这样的情况:

 MsgBox (UserForm1.CheckBox1.Value)