Worksheets类的运行时错误“1004”ShowAllData方法失败

我感到困惑。 有人可以试着为我解释这一点。 下面是使用loggingmacros的一部分。 有时它运行没有错误,而10分钟后生病在标题字段中得到错误消息,并停止在最后ActiveSheet.ShowAllData

这对我们来说太不合逻辑了,但可能有一个解释。 我在激活macros时总是在同一张纸上

Sheets("DB2 Totbel").Select ActiveSheet.ShowAllData Sheets("DB2 Giva").Select ActiveSheet.ShowAllData Sheets("TS4LAGER").Select ActiveSheet.ShowAllData Sheets("PIX").Select ActiveWorkbook.Worksheets("PIX").ListObjects("Table_Query_from_DB2W").Sort. _ SortFields.Clear Sheets("OFO data").Select ActiveSheet.ShowAllData Sheets("Arbetsyta").Select **ActiveSheet.ShowAllData** 

这取决于FilterMode的状态。

就我个人而言,我做了这个(用户不会看到任何事情发生)来取消工作表上的filter:

 Public Sub UnFilter_Tables_On_Sheet(Sheet_Name As String) Dim ActiveS As String, CurrScreenUpdate As Boolean CurrScreenUpdate = Application.ScreenUpdating Application.ScreenUpdating = False ActiveS = ActiveSheet.Name Sheets(Sheet_Name).Activate Sheets(Sheet_Name).Range("A1").Activate On Error Resume Next If Sheets(Sheet_Name).FilterMode = True Then Sheets(Sheet_Name).ShowAllData On Error GoTo 0 DoEvents Sheets(ActiveS).Activate Application.ScreenUpdating = CurrScreenUpdate End Sub 

你可以像这样简单地使用它: Call UnFilter_Tables_On_Sheet("Sheet1")