我正在尝试使用此代码对excel中的电子表格进行排序,但我不确定如何在.SetRange
属性中放置预定义范围。我希望使用上面设置的rng1Row
变量。任何帮助将不胜感激。
N = Cells(Rows.Count, "A").End(xlUp).Row
Set rng1 = wb1.Sheets("SourceData").Cells.Range("A2:A" & N)
Set rng1Row = rng1.EntireRow
wb1.Worksheets("SourceData").Sort.SortFields.Clear
wb1.Worksheets("SourceData").Sort.SortFields.Add Key:=wb1.Sheets("SourceData").Cells.Range("A2:A" & N), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:= _
xlSortNormal
With wb1.Worksheets("SourceData").Sort
.SetRange
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
答案 0 :(得分:0)
使用.SetRange rng1Row
,您只排序1行。
更改为:
.SetRange wb1.Sheets("Source Data").Range("A2").CurrentRegion
或者类似于选择整个值表。