Aar*_*ron 6 excel vba excel-vba
我正在使用VBA for Excel 2010并随机收到以下错误:
运行时错误'1004':"排序参考无效.请确保它在您要排序的数据中,并且第一个排序依据框不相同或为空."
这是代码
'Sort the active rows
With ActiveWorkbook.Worksheets("Product Backlog").Sort
.SetRange Range("A4:F51")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Run Code Online (Sandbox Code Playgroud)
排序依据框是空白的,这是你的问题。我从未像您那样使用过 Sort 对象,但我可以看到您没有定义键或排序依据的范围,只是定义要排序的范围。应该定义一个键,例如 Range("A4") 或其他东西。我查了一下,里面应该有.sortfields.add(range),比如:
'Sort the active rows
With ActiveWorkbook.Worksheets("Product Backlog").Sort
.SetRange Range("A4:F51")
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.SortFields.Add Key:=Range("A4:F51").Columns(1), SortOn:=xlSortOnValues, _
Order:=xlDescending, DataOption:=xlSortNormal
.Apply
End With
Run Code Online (Sandbox Code Playgroud)
我使用排序功能如下:
ActiveWorkbook.Worksheets("Product Backlog").Range("A4:F51").Sort _
Key1:= ActiveWorkbook.Worksheets("Product Backlog").Range("A4:F51").Columns(1), _
Header:= xlYes, _
Orientation:=xlSortColumns, _
MatchCase:=False, _
SortMethod:=xlPinYin
Run Code Online (Sandbox Code Playgroud)