Excel VBA - table 的 ShowAllData 失败

Excel VBA - ShowAllData of table fails

我有这个较长的 VBA(另见我之前的问题:

一个特定的部分不能正常工作。我想要 table 到 ShowAllData 一旦从模块中执行了它以前的操作。 到目前为止,我编写的这段代码 可以正常工作 只要我 运行 当我 来自一个table 的单元格数量。一旦我 运行 它 从工作表上的另一个地方 ,它 将不再显示所有数据 。它一直挂在 table.

的过滤模式
   Sub CopyOrders()

'Sorting column STOCK in ORDERS from A-Z
    Worksheets("Orders").ListObjects("Orders").Sort. _
        SortFields.Clear
    Worksheets("Orders").ListObjects("Orders").Sort. _
        SortFields.Add2 Key:=Range("Orders[[#All],[STOCK]]"), SortOn:= _
        xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
    With Worksheets("Orders").ListObjects("Orders").Sort
        .Apply
    End With

'Delete all rows from table NoStockOrders
On Error Resume Next
Worksheets("NoStockOrders").ListObjects("NoStockOrders").DataBodyRange.EntireRow.Delete

'Copy all orders which have no stock to
'the sheet NoStockOrders
Worksheets("Orders").Range("ORDERS").AutoFilter _
    Field:=6, Criteria1:="0", VisibleDropDown:=True
On Error Resume Next
Worksheets("Orders").Range("ORDERS").SpecialCells _
    (xlCellTypeVisible).Copy
    Range("NoStockOrders").PasteSpecial _
    Paste:=xlPasteValues

If Worksheets("Orders").ListObjects("Orders").FilterMode Then
    Worksheets("Orders").AutoFilter.ShowAllData
End If

应该是:

Worksheets("Orders").ListObjects("Orders").Autofilter.showalldata