Excel VBA应用程序运行时错误1004

时间:2018-04-05 20:36:02

标签: vba excel-vba excel

我们已经提供了一个excel-vba文件,该文件在某些​​机器上运行良好,但在某些机器上生成错误:运行时错误1004,应用程序定义或用户定义错误,以下序列:

sheetChoiceList.Sort.SortFields.Add key:=ThisWorkbook.Names("ChoiceList_AllChoices").RefersToRange.Columns(6), _
    SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal

子:

Sub SortChoiceListForCurrentQuestionChoiceList()

' Sorts the Choice List based on the question type of the current question
' A formula in the sheet determines if the choice is applicable to the current question, returning a TRUE/FALSE
' A dyanamic named range uses the count of TRUE values to determine the number of rows extending down from row 2
' The sort is necessary to ensure that the TRUE values start on row 2

sheetChoiceList.Sort.SortFields.Clear
sheetChoiceList.Sort.SortFields.Add key:=ThisWorkbook.Names("ChoiceList_AllChoices").RefersToRange.Columns(6), _
                                                               SortOn:=xlSortOnValues, Order:=xlDescending, DataOption:=xlSortNormal
With sheetChoiceList.Sort
    .SetRange ThisWorkbook.Names("ChoiceList_AllChoices").RefersToRange
    .Header = xlNo
    .MatchCase = False
    .Orientation = xlTopToBottom
    .SortMethod = xlPinYin
    .Apply
End With

End Sub

1 个答案:

答案 0 :(得分:0)

这可能是由于各种原因引起的。

1)可能是,因为宏是在工作表级别记录的。右键单击VBA项目窗口上的模块节点,单击插入模块,然后将宏粘贴到新模块中(确保删除工作表级别记录的宏)。

2)查看excel中是否有任何受保护的单元格或工作表,如果有任何删除保护

3)检查工作表级别是否记录了任何宏。如果工作表级别有任何宏,请将它们移动到模块。右键单击VBA项目窗口上的模块节点,单击插入模块,然后将宏粘贴到新模块中(确保删除工作表级别记录的宏)。

希望这有帮助!

此致 伊比