Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/excel/23.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Excel VBA命令按钮代码不';无法识别对象变量_Vba_Excel_Userform - Fatal编程技术网

Excel VBA命令按钮代码不';无法识别对象变量

Excel VBA命令按钮代码不';无法识别对象变量,vba,excel,userform,Vba,Excel,Userform,我为命令按钮编写了以下代码,用于将UserForm的(文本)内容添加到现有(命名)动态范围“MasterTable”: 当我填充for并单击按钮时,它抛出错误91-对象变量或未设置块变量,并突出显示工作表(“表”)。范围(“主表”)。这不是引用范围的有效方法吗?它在我的vba book和sheet模块中工作——UserForm组件没有访问权限吗?我做错了什么?如果MasterTable被创建为ListObject,那么您可以将其称为: Worksheets("Table").ListObject

我为命令按钮编写了以下代码,用于将UserForm的(文本)内容添加到现有(命名)动态范围“MasterTable”:


当我填充for并单击按钮时,它抛出
错误91-对象变量或未设置块变量
,并突出显示
工作表(“表”)。范围(“主表”)
。这不是引用范围的有效方法吗?它在我的vba book和sheet模块中工作——UserForm组件没有访问权限吗?我做错了什么?

如果
MasterTable
被创建为
ListObject
,那么您可以将其称为:

Worksheets("Table").ListObjects("MasterTable")
因此,该代码将起作用:

Private Sub AddDev_Click()

    Application.CutCopyMode = False

    With Worksheets("Table").ListObjects("MasterTable").ListRows.Add
         .Offset(1, 0).Value = NewDevRecord.NewCorp.Value
         .Offset(1, 1).Value = NewDevRecord.NewAddr.Value
         .Offset(1, 1).Value = NewDevRecord.NewFac.Value
    End With

End Sub

我相信在调用命名范围时,您可以将
与范围(“MasterTable”)…
Private Sub AddDev_Click()

    Application.CutCopyMode = False

    With Worksheets("Table").ListObjects("MasterTable").ListRows.Add
         .Offset(1, 0).Value = NewDevRecord.NewCorp.Value
         .Offset(1, 1).Value = NewDevRecord.NewAddr.Value
         .Offset(1, 1).Value = NewDevRecord.NewFac.Value
    End With

End Sub