Excel VBA 从 NamedTable 中删除重复数组

Excel VBA RemoveDuplicates Array from NamedTable

我用 record-macro 创建了以下宏(所以当时它有效)但是如果我尝试重新使用它,它会失败:

error code 1004

Application.Goto Reference:="table101"
Application.CutCopyMode = False
ActiveSheet.Range("table101[#Alle]").RemoveDuplicates Columns:=Array( _
1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17), Header:=xlYes

table 有 300-2000 列。代码在最后一行失败。

我已经搜索了多个可能的解决方案,但无法找到任何一个。

这对我有用:

Sub TestMe()

    Application.Goto Reference:="table101"
    Application.CutCopyMode = False
    ActiveSheet.Range("table101[#All]").RemoveDuplicates Columns:=Array( _
                            1, 2, 3, 4, 5), Header:=xlYes
End Sub

更改为 AlleAll。这是 奇怪的 并且听起来像 错误 ,因为使用宏记录器会产生 [#Alle] 并且记录的代码不起作用:

如果我删除 e,它会起作用。这是我第一次看到在 MS Excel 中记录的代码不起作用。