ExcelTip.Net留存知识帖 ---【注:附件之前被网盘供应商清空后,现已修复-现已修复-现已修复为本地下载!】
现在位置:首页 > 我的酷贴 > Excel VBA > 如何使用VBA对数组的值进行排序?

如何使用VBA对数组的值进行排序?

作者:绿色风 分类: 时间:2022-08-18 浏览:93
楼主
wise
Q:如何使用VBA对数组的值进行排序?
A:ALT+F11→插入模块→输入以下代码:

  1. Sub test()
  2. Dim Arr(1 To 6) As String
  3. Dim WS As Worksheet
  4. Dim R As Range
  5. Dim i As Long
  6. Arr(1) = "AA"
  7. Arr(2) = "BB"
  8. Arr(3) = "YY"
  9. Arr(4) = "PP"
  10. Arr(5) = "CC"
  11. Arr(6) = "EE"
  12. Application.ScreenUpdating = False
  13. Set WS = ThisWorkbook.Worksheets.Add '添加一个工作表
  14. Set R = WS.Range("A1").Resize(UBound(Arr) - LBound(Arr) + 1, 1)
  15. R = Application.Transpose(Arr) '把数组放在A列
  16. R.Sort key1:=R, order1:=xlAscending, MatchCase:=False '对A列进行排序
  17. For i = 1 To R.Rows.Count '把排序后的值赋予数组Arr
  18.      Arr(i) = R(i, 1)
  19. Next i
  20. Application.DisplayAlerts = False
  21. WS.Delete  '删除添加的工作表
  22. Application.DisplayAlerts = True
  23. Application.ScreenUpdating = True
  24. For i = LBound(Arr) To UBound(Arr) '输出排序后数组的值在立即窗口
  25.         Debug.Print Arr(i)
  26. Next i

  27. End Sub


本例子中借用了一个新建工作表来进行排序后再放入到数组
2楼
liuguansky
[Excel VBA] VBA中几种常用的排序方法 http://www.exceltip.net/thread-8024-1-1.html
3楼
wise


阿木的帖子我看过的阿

免责声明

有感于原ExcelTip.Net留存知识的价值及部分知识具有的时间限定性因素, 经与ExcelTip.Net站长Apolloh商议并征得其同意, 现将原属ExcelTip.Net的知识帖采集资料于本站点进行展示, 供有需要的人士查询使用,也慰缅曾经的论坛时代。 所示各个帖子的原作者如对版权有异议, 可与本人沟通提出,或于本站点留言,我们会尽快处理。 在此,感谢ExcelTip.Net站长Apolloh的支持,感谢本站点所有人**绿色风(QQ:79664738)**的支持与奉献,特此鸣谢!
------本人网名**KevinChengCW(QQ:1210618015)**原ExcelTip.Net总版主之一

评论列表
sitemap