我一直在搜索,但我找不到任何关于这个:我正在编写一个基本的VBA表格,办公室使一些程序更容易,因为这个文件是共享的,但一次只能由一个人打开,我正在尝试使我的表单加载存储在某个Excel文件中的所有数据。除了从Cell B2:B13
读取活动工作表中的值以更新Checkboxes(Tristate)状态之外,我已经能够做所有事情....对此有何帮助?我有一些文本框与复选框一样工作(几乎相同)并且可以解决它们...但是复选框需要检查状态来更改状态...
具体问题:如何根据ComboBox中所选索引的活动工作表中的ICheckBox1
,通过ICheckbox12
,根据单元格B2:B13
的值更新...我的文本框中有这个并且完美地工作:
Private Sub ComboBoxCustomers_SelectedIndexChanged(sender As Object, e As EventArgs) Handles ComboBoxCustomers.SelectedIndexChanged
oXLSheet = oXLBook.Worksheets(ComboBoxCustomers.SelectedIndex + 1)
For i As Integer = 2 To 13
Me.TabPage1.Controls("ITextBox" & (i - 1)).Text = oXLSheet.Cells(i, 1).value'("ICheckBox" & (i - 1)).CheckState = oXLSheet.Cells(i, 2).value
Next
End Sub
评论部分是我想要弄清楚的部分......谢谢!
答案 0 :(得分:0)
您尝试使用的代码是正确的。 您只需在电子表格列中存储0,1,2,视具体情况而定。 使用以下替换:
-
Private Sub ComboBoxCustomers_SelectedIndexChanged(ByVal sender As Object, ByVal e As EventArgs) Handles ComboBoxCustomers.SelectedIndexChanged
oXLSheet = oXLBook.Worksheets(ComboBoxCustomers.SelectedIndex + 1)
For i As Integer = 2 To 13
CType(Me.TabPage1.Controls("ICheckBox" & (i - 1)), System.Windows.Forms.CheckBox).CheckState = oXLSheet.Cells(i, 2).value
Next
End Sub