所以我将一堆数据导入到工作表中,然后我想把它变成一个表。我不知道会有多少行数据。这段代码几天前工作正常,但我想我可能会在不知不觉中改变了一些东西。这是代码:
Sheets("Enrollment Data Aggregate").ListObjects.Add(xlSrcRange, Range([A1].End(xlDown), "$n$1"), , xlYes).Name = "EDA_Table"
我收到一条错误消息,上面写着"表格的工作表数据需要与表格在同一张纸上。"据我所知,我将表格放在与数据所在页面相同的页面上。有什么建议吗?
答案 0 :(得分:1)
试试这个。您需要声明一个范围对象,以便您可以访问其属性。
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"
答案 1 :(得分:0)
确保将“范围/表”转换为“功能/子/代码”的表/表放在VBA“项目”窗口中。
答案 2 :(得分:0)
我相信您也可以通过在表格中指定范围来解决该错误。
例如,更改:
Sheets("Enrollment Data Aggregate").ListObjects.Add(xlSrcRange, Range([A1].End(xlDown), "$n$1"), , xlYes).Name = "EDA_Table"
收件人:
Sheets("Enrollment Data Aggregate").ListObjects.Add(xlSrcRange, Sheets("Enrollment Data Aggregate").Range([A1].End(xlDown), "$n$1"), , xlYes).Name = "EDA_Table"