我正在尝试做一些非常平常的事情:按照其中一个的升序排列两个相关的范围。
我有一个范围从单元格A3开始,长度可变,另一个在单元格B3上,长度可变(假设相等)
With Worksheets(SheetName)
Set range1 = .Range("A3", .Range("A3").End(xlDown))
Set range2 = .Range("B3", .Range("B3").End(xlDown))
End With
Range(range1 , range2) = Range(range1 , range2).Sort(Key1:=range1, Order1:=xlAscending)
我的代码看起来很无辜,但它没有对数据进行排序,而是将每个值声明为TRUE布尔值。我不知道为什么会这样。
在我尝试实现自动排序之前,我的整个模块工作正常,所以我宁愿不要更改我的变量和变量类型。
提前感谢您的帮助!
答案 0 :(得分:1)
而不是
Range(range1 , range2) = Range(range1 , range2).Sort(Key1:=range1, Order1:=xlAscending)
DO
Range(range1 , range2).Sort Key1:=range1, Order1:=xlAscending
范围的分类就位。因此,您无需将Sort
的值重新指定为原始范围。