Excel的VBA - 表ShowAllData失败(Excel VBA - ShowAllDat

2019-11-05 08:09发布

我有这样的长片VBA(也看到我的前一个问题: https://stackoverflow.com/questions/53206850/copy-rows-which-match-criteria-into-two-or-more-different-sheets-in- Excel的使用-v) 。

一个特别的一块不能正常工作。 我希望有一个表,只要采取了从模块它的前行动ShowAllData。 此代码我迄今所取得的,只要我运行它时,我从表中的单元格之一工作正常 。 当我从工作表上的其他地方运行它,它不会再次显示所有数据 。 它一直挂在桌子FILTERMODE。

   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

Answer 1:

它应该是:

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


文章来源: Excel VBA - ShowAllData of table fails