Sub arrAtoZ3() '二维数组排序纵向排序 arr = Range("a1:c2000") ' 此处仅仅是简单获取一个数组 a = LBound(arr) b = UBound(arr) x = LBound(arr, 2) y = UBound(arr, 2) L = 1 ' --------------------------------指定要排序的列序号 L = a + L - 1 tm = Timer For i = a To b s = arr(i, L) k = i For j = i + 1 To b If arr(j, L) < s Then s = arr(j, L) k = j End If Next If k > i Then For j = x To y s = arr(k, j) arr(k, j) = arr(i, j) arr(i, j) = s Next End If Next Debug.Print Timer - tm, ttt Range("d1").Resize(b - a + 1, y - x + 1) = arr End Sub 以上代码中:Range("d1").Resize(b - a + 1, y - x + 1) = arr 是什么意思? |