Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/vba/16.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
在VBA Excel中创建表时出错_Vba_Excel - Fatal编程技术网

在VBA Excel中创建表时出错

在VBA Excel中创建表时出错,vba,excel,Vba,Excel,因此,我将一组数据导入到一个工作表中,然后我想将其放入一个表中。我不知道会有多少行数据。这段代码几天前运行正常,但我想我可能无意中改变了一些东西。代码如下: Sheets("Enrollment Data Aggregate").ListObjects.Add(xlSrcRange, Range([A1].End(xlDown), "$n$1"), , xlYes).Name = "EDA_Table" 我收到一条错误消息,上面说“表格的工作表数据需要与表格在同一张表上。”据我所知,我将表格制

因此,我将一组数据导入到一个工作表中,然后我想将其放入一个表中。我不知道会有多少行数据。这段代码几天前运行正常,但我想我可能无意中改变了一些东西。代码如下:

Sheets("Enrollment Data Aggregate").ListObjects.Add(xlSrcRange, Range([A1].End(xlDown), "$n$1"), , xlYes).Name = "EDA_Table"

我收到一条错误消息,上面说“表格的工作表数据需要与表格在同一张表上。”据我所知,我将表格制作在数据所在的同一页上。有什么建议吗?

试试这个。您需要声明一个范围对象,以便可以访问其属性

Dim wks As Worksheet
Set wks = ThisWorkbook.Sheets("Enrollment Data Aggregate")
Dim rng As Range
Set rng = wks.Range([A1].End(xlDown), "$n$1")
wks.ListObjects.Add(xlSrcRange, rng, , xlYes).Name = "EDA_Table"

确保将范围转换为表格的函数/Sub/Code位于VBA项目窗口中表格所在的同一工作表中

我相信您也可以通过在表中指定范围来解决该错误

例如,更改:

Sheets(“注册数据聚合”).ListObjects.Add(xlSrcRange,Range([A1]。End(xlDown),“$n$1”),xlYes.Name=“EDA_Table”

致:


Sheets(“注册数据聚合”).ListObjects.Add(xlSrcRange,Sheets(“注册数据聚合”).Range([A1]。End(xlDown),“$n$1”),xlYes)。Name=“EDA_Table”

因此,现在它给了我一个错误,并突出显示了第四行。上面写着“对象的方法“范围”\u工作表“失败”。你确定你在看最新版本吗?刷新页面并重试:-)一切正常!非常感谢。我还查看了一下,发现我有一个命名范围,可能把事情搞砸了。我不确定,但我不需要它,所以我删除了它。我再次运行宏,一切正常。非常感谢。由于某种原因,我不能把你的回答标记为接受。此时会出现一个框,表示发生了错误。我认为这与声誉点有关?很高兴它起作用了。我想你可以稍后再试,应该每个人都可以接受一个答案:-)我会在我能让它工作的时候再做!谢谢这只是一个友好的提示,你可能想仔细阅读这一页:这样你就可以确保你的问题很容易回答并且尽可能清楚。请确保包括您为解决问题所做的任何努力,以及在尝试这些修复时发生的情况。另外,不要忘记显示代码和任何错误消息!