我正在尝试使用此代码对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)
Here is the documentation:表达.SetRange(Rng)
SetRange Range(rng1Row)
(假设rng1Row是一个范围)
但是,让我们看一下代码的第一部分 -
N = Cells(Rows.Count, "A").End(xlUp).Row
Set rng1 = wb1.Sheets("SourceData").Cells.Range("A2:A" & N)
Set rng1Row = rng1.EntireRow
您正在尝试获取列的行。 rng1Row = (Range("A:A").EntireRow)
。这不是对该财产的有效使用。