运行时错误-Excel宏中为438;试图按升序对数字进行排序

时间:2018-08-06 11:42:59

标签: excel vba excel-vba runtime-error

我的excel宏给出了

  

运行时错误438

在笔记本电脑上可以正常工作,但是当我将Excel邮寄给使用Excel 2013的人员时,会出现此错误。

这是我的错误代码。这将用于按升序对数字进行排序:

Sub SORT_X()
'
' SORT_X Macro
'

'
    Range("A8:A712").Select
    Application.CutCopyMode = False
    Selection.TextToColumns Destination:=Range("E8"), DataType:=xlFixedWidth, _
        FieldInfo:=Array(Array(0, 1), Array(2, 1), Array(3, 1)), TrailingMinusNumbers:= _
        True
    Range("H8").Select
    Application.CutCopyMode = False
    Range("B8:B712").Select
    Selection.Copy
    ActiveWindow.ScrollRow = 704
    ActiveWindow.ScrollRow = 697
    ActiveWindow.ScrollRow = 545
    ActiveWindow.ScrollRow = 342
    ActiveWindow.ScrollRow = 165
    ActiveWindow.ScrollRow = 163
    ActiveWindow.ScrollRow = 151
    ActiveWindow.ScrollRow = 34
    ActiveWindow.ScrollRow = 12
    ActiveWindow.ScrollRow = 10
    ActiveWindow.ScrollRow = 1
    Range("H8").Select
    ActiveSheet.Paste
    Range("G8").Select
    Application.CutCopyMode = False
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.CLEAR   
    ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 Key:=Range("G8"), _    
    SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal   'error

2 个答案:

答案 0 :(得分:1)

更改此部分:

ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2

对此:

ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add

答案 1 :(得分:0)

_是用于将代码拆分到下一行的运算符。因此,请在以下位置删除空白空间:

ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 Key:=Range("G8"), _   

代码应为:

ActiveWorkbook.Worksheets("Sheet1").Sort.SortFields.Add2 Key:=Range("G8"), _   
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal