Vba 1004访问复选框时出现运行时错误

Vba 1004访问复选框时出现运行时错误,vba,excel,vb6,Vba,Excel,Vb6,这个问题与Excel2003中的VB有关。我的excel工作簿引用了一个VB宏。而且,这个宏有几个用户窗体。我在其中一个窗体中添加了一个新的复选框控件。问题就在这里,当我尝试通过访问新复选框时 ActiveWorkSheet.DialogSheet("Options").EdBox("CheckBox1").Text 它向我抛出一个1004运行时错误。我的脑袋在打转,想弄明白为什么我似乎找不到根本原因。已经存在一些复选框,可以毫无问题地访问这些复选框。非常感谢您的帮助 在我可以从代码访问新复选

这个问题与Excel2003中的VB有关。我的excel工作簿引用了一个VB宏。而且,这个宏有几个用户窗体。我在其中一个窗体中添加了一个新的复选框控件。问题就在这里,当我尝试通过访问新复选框时

ActiveWorkSheet.DialogSheet("Options").EdBox("CheckBox1").Text
它向我抛出一个1004运行时错误。我的脑袋在打转,想弄明白为什么我似乎找不到根本原因。已经存在一些复选框,可以毫无问题地访问这些复选框。非常感谢您的帮助

在我可以从代码访问新复选框之前,是否需要为其设置任何属性?

您已经说过了

所有现有复选框都是通过DialogSheet类的.EdBox方法访问的

因此,从逻辑上讲,1004错误是由于没有
.DialogSheet(“选项”)
或没有
.EdBox(“复选框1”)
——很可能是后者

在即时消息窗格中,输入:

?ActiveWorksheet.DialogSheet("Options").EdBox("CheckBox1").Name

看看它是否会弹出错误。如果是,那么您必须通过查看复选框的属性来找到您添加的复选框的实际名称。如果表单有其他复选框,那么您添加的复选框可能不会命名为CheckBox1。

用户表单中的复选框是否在excel电子表格中?看起来你只是想编辑它的文本,对吗?Alex D,用户表单在宏定义中,我的excel引用了这个宏。我使用默认的“CheckBox1”名称,只是从VB代码中访问它,看看它是否工作。但是,事实并非如此。您实际使用的是DialogSheet还是用户表单?自从旧的Excel 95天以来,我还没有见过DialogSheet,尽管我知道它们仍然受支持。我必须增强现有工作簿。所以,DialogSheet在那里使用。而且,我还使用DialogSheet访问复选框。
.EdBox(“CheckBox1”)
看起来不正确-您是否尝试过使用
.CheckBoxes(“CheckBox1”)