使用变量作为.setrange属性

时间:2014-09-30 15:16:55

标签: excel vba

我正在尝试使用此代码对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

1 个答案:

答案 0 :(得分:0)

使用.SetRange rng1Row,您只排序1行。

更改为:

.SetRange wb1.Sheets("Source Data").Range("A2").CurrentRegion

或者类似于选择整个值表。