如何在单元格中记录CheckBox标题?

时间:2014-12-16 22:11:24

标签: excel vba excel-vba

背景

我有一个名为UserForm的{​​{1}},允许用户从两个MS SQL数据库表的内连接中选择列。我已为内部联接中的每列构建Select_Fields,其中包含UserFormFrame个。{/ p>

我可以连接到数据库并显示数据,但我试图在数据上方放置一个标题行是徒劳的。

问题

我正在尝试获取值CheckBox的第一个Caption的{​​{1}}并将其写入CheckBox,然后移动True下一个传球右边一个单元格。我的代码看起来像这样:

cur.Value

问题在于以下两行:

cur

此时我一直收到错误“运行时错误'424':对象需要”,我理解这意味着我的类型不匹配。 如何将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 的{​​{1}}写入单元格的cur.Value = ctl.Caption cur = cur.Offset(0, 1) ,然后将该单元格指针移动到下一行?

1 个答案:

答案 0 :(得分:1)

正如我们在评论中讨论的那样,确保在删除后cur实际上仍指向正确的单元格,然后在vba中分配对象时记得使用Set关键字:

Set cur = cur.Offset(0, 1)