|
[广告] VBA代码宝 - VBA编程加强工具 · VBA代码随查随用 · 内置多项VBA编程加强工具 ★ 免费下载 ★ ★ 使用手册★
本帖最后由 qy1219no2 于 2015-1-5 13:06 编辑
一直拘泥于楼主的源数据不改变的情况,并绕开Range.Sort方法,反倒画蛇添足了。如下代码0.03秒内解决问题:
- Sub txtNumIdSort()
- nR = [a65536].End(xlUp).Row
- arr = [a1].Resize(nR)
- For i = 1 To nR
- brr = Split(arr(i, 1), "-")
- arr = ""
- For k = 0 To UBound(brr)
- arr(i, 1) = arr(i, 1) & Format(brr(k), "0000") & "-"
- Next
- Next
- Application.ScreenUpdating = False
- [b1].Resize(nR) = arr
- [a1].Resize(nR, 2).Sort [b1]
- [b1].Resize(nR).Clear
- Application.ScreenUpdating = True
- End Sub
复制代码 |
|