对Excel进行排序

  经过本人亲自测试,对Excel进行排序,如果用到一般的排序,如冒泡排序,这里效率非常低,即使经过反复优化的话,效率也难达到秒杀地步。(比如 Rows.Count  达到e4的数量级时),如果直接使用VBA那就能实现高效排序:

  升序:

Sub MacroPinyin_Ascend()
'
' Macro1 Macro
' 宏由 Chenwb 录制,时间: 2013-9-22
'
  '表1 双字节区的21003汉字
  '按照GB8030编码增序排列
  Dim lRow As Long
  Dim lCol As Long
  Dim myRng As Range
    With Worksheets("Sheet1")
      lRow = Cells(Rows.Count, 1).End(xlUp).Row
      lCol = Cells(1, "G").Column
      Set myRng = .Range(Cells(1, 1), Cells(lRow, lCol))
      myRng.Sort _
        Key1:=.Range("A1"), _
        Order1:=xlAscending, _
        Header:=xlYes, _
        Orientation:=xlTopToBottom
    End With
'
End Sub

 降序:

Sub MacroPinyin_Descend()
'
' Macro2 Macro
' 宏由 Chenwb 录制,时间: 2013-9-22
'
  '表1 双字节区的21003汉字
  '按照GB8030编码减序排列
  Dim lRow As Long
  Dim lCol As Long
  Dim myRng As Range
    With Worksheets("Sheet1")
      lRow = Cells(Rows.Count, 1).End(xlUp).Row
      lCol = Cells(1, "G").Column
      Set myRng = .Range(Cells(1, 1), Cells(lRow, lCol))
      myRng.Sort _
        Key1:=.Range("A1"), _
        Order1:=xlDescending, _
        Header:=xlYes, _
        Orientation:=xlTopToBottom
    End With
'
End Sub

 

转载于:https://www.cnblogs.com/cwbo-win/p/3332482.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值