如何在单元格中loggingcheckbox标题?
背景
我有一个名为Select_Fields
的用户UserForm
,允许用户从两个MS SQL数据库表的内部连接中select列。 我已经构build了UserForm
,其中包含两个Frame
其中包含内部CheckBox
中每列的CheckBox
es。
我能够连接到数据库并显示数据正常,但是我试图将标题行放在数据上方是徒劳的。
问题
我正在尝试获取具有值True
的第一个CheckBox
的Caption
并将其写入到cur.Value
,然后将一个单元向右移动以进行下一个遍。 我有这样的代码:
Private Sub btnOK_Click() Dim cmd As String Dim ctl As Control Set cur = ActiveSheet.Range("A1") ... For Each ctl In Select_Fields.Controls If TypeName(ctl) = "CheckBox" Then If ctl Then Select Case ctl.Name Case "chkFoo" cmd = cmd & "a.Foo" Case "chkBar" cmd = cmd & "b.Bar" ... End Select cur.Value = ctl.Caption cur = cur.Offset(0, 1) End If End If Next ctl ... End Sub
问题在于这两行:
cur.Value = ctl.Caption cur = cur.Offset(0, 1)
在这一点上,我一直得到一个错误,说: “运行时错误”424“:所需的对象” ,我的理解是指我有一个types不匹配。 如何将CheckBox
的Caption
写入单元格的Value
,然后将该单元格指针移至下一行?
正如我们在评论中所讨论的那样,确保cur
在删除发生后仍然指向正确的单元格,然后在分配vba中的对象时记得使用Set
关键字:
Set cur = cur.Offset(0, 1)