如何sorting超过1500行的范围?

Public r1 As Range, rOb As Range, rDat As Range Set r1 = Range(db.Range("B3"), db.Range("I" & Rows.Count).End(xlUp)) ' about 1500 rows Set rOb = Range(db.Range("B3"), db.Range("B" & Rows.Count).End(xlUp)) Set rDat = Range(db.Range("G3"), db.Range("G" & Rows.Count).End(xlUp)) r1.Sort Key1:=rOb 'Or r1.Sort Key1:=rDat 

只有大约900行被sorting。 其余的都不是。
有时候,sorting根本不起作用。
还试过:

 r1.Sort Key1:=Range(db.Range("G3"), db.Range("G" & Rows.Count).End(xlUp)) 

同样的结果

确保你的范围select最后一行。 如果列I在底部有空单元格,则范围不完整。

尝试使用

 Set r1 = db.Range("B3").currentregion 

要么

 r1 = Range(db.Range("B3"), db.Range("I" & db.cells(Rows.Count,"B").End(xlUp).row) 

在那里你将“B”设置为数据中没有空白的列