使用第一列中的值对未定义范围的数据进行排序

时间:2013-07-01 04:00:21

标签: excel excel-vba excel-2010 vba

我正在尝试使用第一列作为包含员工ID的排序条件对工作表中的数据进行排序。下面的代码是我试过的,它可以工作,但你可以看到它是有限的范围(“A2:F7”)。现在我可以使用excel向下更改第一列选择,但我对如何在整个范围内进行操作毫无头绪。 shift + ctrl + end或其他变体是否有效?

' Sort Data According to emp_id
                    '
                    ActiveWorkbook.Worksheets("Temp Calc").Sort.SortFields.Clear
                    ActiveWorkbook.Worksheets("Temp Calc").Sort.SortFields.Add Key:=Range("A2:A7" _
                    ), SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
                    With ActiveWorkbook.Worksheets("Temp Calc").Sort
                        .SetRange Range("A1:F7")
                        .Header = xlYes
                        .MatchCase = False
                        .Orientation = xlTopToBottom
                        .SortMethod = xlPinYin
                        .Apply
                    End With

1 个答案:

答案 0 :(得分:0)

这样的事情应该会有所帮助:

.SetRange Range("A1:F7", Range("A1:F7").End(xlDown))