sorting表时Excel 1004运行时错误

好午后堆栈溢出顾客:

我和许多其他人一样,在尝试sorting表时遇到了可怕的1004运行时错误…但是这里是踢球者….当你手动进入开发人员>macros并运行macros时,macros将起作用。

这个macros的目的是在一个名为“Compiled_Data”的表中按照四个步骤对数据进行sorting:首先按date最旧到最新sorting(数据在列A中),然后按字母顺序sorting(数据在列B中),然后按客户名称(C列数据),然后按说明(D列数据)。

这里是macros(由录音创build):

Sub Sort_Compiled_Data_Sheet() Sheets("Compiled_Data").Activate Range("A3").Select Range("A4").Activate ActiveWorkbook.Worksheets("Compiled_Data").ListObjects("Compiled_Data").Sort. _ SortFields.Clear ActiveWorkbook.Worksheets("Compiled_Data").ListObjects("Compiled_Data").Sort. _ SortFields.Add Key:=Range("Compiled_Data[Date]"), SortOn:=xlSortOnValues, _ Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Compiled_Data").ListObjects("Compiled_Data").Sort. _ SortFields.Add Key:=Range("Compiled_Data[Contractor]"), SortOn:= _ xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Compiled_Data").ListObjects("Compiled_Data").Sort. _ SortFields.Add Key:=Range("Compiled_Data[Customer]"), SortOn:= _ xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal ActiveWorkbook.Worksheets("Compiled_Data").ListObjects("Compiled_Data").Sort. _ SortFields.Add Key:=Range("Compiled_Data[Item]"), SortOn:=xlSortOnValues, _ Order:=xlAscending, DataOption:=xlSortNormal With ActiveWorkbook.Worksheets("Compiled_Data").ListObjects("Compiled_Data"). _ Sort .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With 

所以,就像我说的那样,手动运行代码的效果很好。 但是,当我使用第二个macros调用macros来运行时,我每次都在“.apply”行上遇到可怕的运行时错误1004。

我使用主macros运行Sort_Compiled_Data_Sheetmacros使用以下代码:

  Sub MASTER_MACRO() Application.Run "Fill_Compiled_Data_Sheet" Application.Run "Sort_Compiled_Data_Sheet" Application.Run "Column_Width_All_Sheets" End Sub 

每次我使用MASTER_MACRO来运行Sort_Compiled_Data_Sheetmacros,我得到了“.apply”行的运行时错误。

有谁知道如何通过这个错误,为什么它错误的“。应用程序”sorting步骤时被第二个macros调用,但工作时手动运行?

这对我工作:

 Sub Sort_Compiled_Data_Sheet() Dim sht as worksheet Set sht = ActiveWorkbook.Worksheets("Compiled_Data") sht.Activate With sht.ListObjects("Compiled_Data").Sort .SortFields.Clear .SortFields.Add Key:=Range("Compiled_Data[Date]"), SortOn:=xlSortOnValues, _ Order:=xlAscending .SortFields.Add Key:=Range("Compiled_Data[Contractor]"), _ SortOn:=xlSortOnValues, Order:=xlAscending .SortFields.Add Key:=Range("Compiled_Data[Customer]"), _ SortOn:=xlSortOnValues, Order:=xlAscending .SortFields.Add Key:=Range("Compiled_Data[Item]"), SortOn:=xlSortOnValues, _ Order:=xlAscending .Header = xlYes .MatchCase = False .Orientation = xlTopToBottom .SortMethod = xlPinYin .Apply End With End Sub 

我没有看到你发布的内容有什么问题,当我直接浏览它或者从你的MASTER_MACRO子目录中调用时,它对我有用。 表单是否被保护?