Excel VBA中实现数组排序的多种方法

时间:2023-12-14 20:52:12 

VBA里面没有现成的Sort方法可以使用,在ExcelVBA里面要对数组进行排序,现有的通常做法:
1,通过单元格赋值以后利用工作表里的Sort方法进行排序,
2,通过SQL实现,也需要调用单元格区域存放数据,
3,直接写循环语句通过算法来实现。

除了上述方法以外,借助一些其他语言工具与VBA相结合,也能利用现成的排序功能来实现数组排序,而不需要借助表格。
例如JavaScript:

JavaScript里面也有Sort方法,可以拿来现成使用,示例代码如下:

Sub 文本升序()
Set js = CreateObject("msscriptcontrol.scriptcontrol")
js.Language = "javascript"
arr = Application.Transpose(Range("A1:A10"))
temp = Join(arr, ",")
js.addcode "function aa(bb){js=bb.split(‘,’);js.sort();return js;}"
sortarr = js.eval_r("aa(‘" & temp & "’)")
Debug.Print sortarr
End Sub

Sub 文本降序()
Set js = CreateObject("msscriptcontrol.scriptcontrol")
js.Language = "javascript"
arr = Application.Transpose(Range("A1:A10"))
temp = Join(arr, ",")
js.addcode "function aa(bb){js=bb.split(‘,’);js.sort();js.reverse();return js;}"
sortarr = js.eval_r("aa(‘" & temp & "’)")
Debug.Print sortarr
End Sub

Sub 数值升序()
Set js = CreateObject("msscriptcontrol.scriptcontrol")
js.Language = "javascript"
arr = Application.Transpose(Range("A1:A10"))
temp = Join(arr, ",")
js.addcode "function aa(bb){js=bb.split(‘,’);js.sort(function(a,b){return a-b;});return js;}"
sortarr = js.eval_r("aa(‘" & temp & "’)")
Debug.Print sortarr
End Sub


标签:升序,排序,数组,方法,Excel函数
0
投稿

猜你喜欢

  • win10中怎么让qq始终以管理员身份运行程序?

    2023-05-29 03:42:26
  • Windows Server 2008 回收站无法清空故障的解决方法

    2023-09-18 06:47:54
  • excel中查找快捷键是哪个?

    2022-10-08 11:27:41
  • excel表格可以复制到word文档吗怎么复制

    2022-07-31 11:52:20
  • Windows7系统管理无线网络图文教程

    2022-03-11 16:07:56
  • 三星Samsung笔记本电脑开机进入BIOS的方法与BIOS设置全功能菜单(F2)

    2023-01-02 23:38:29
  • XLUEOPS.exe是什么进程?彻底删除XLUEOPS.exe进程加快系统运行速度的方法

    2023-10-20 18:48:38
  • 怎么制作自己的pe系统?石大师u盘启动盘制作教程

    2022-04-30 07:55:21
  • Win8系统中音频设备属性应该如何查看?

    2023-04-03 13:34:28
  • 怎么解决Win10 20H2微软账号登录一直转圈进不去系统?

    2023-02-24 15:42:28
  • PS通道抠图的方法

    2022-02-17 17:06:12
  • Win8.1设置滑动屏幕实现关机的解决方法

    2023-09-23 08:05:41
  • Win10底部任务栏无响应重启无效怎么处理?

    2023-11-25 14:41:15
  • 为什么wps表格编辑完后会变大

    2023-12-03 03:30:38
  • word中怎么设置不同的页眉

    2022-12-05 12:29:01
  • Mac系统中Apache Tomcat安装配置

    2023-04-09 11:38:28
  • 如何一次性复制粘贴Word文档到Excel2007

    2023-12-06 15:15:55
  • 序列号不正确无法安装Win2003 SP1 解决办法

    2022-04-18 06:24:03
  • win7系统访问不了ftp的七种解决方法

    2022-07-29 06:51:13
  • 电脑黑屏只有鼠标怎么办?电脑黑屏只有鼠标的解决方法

    2023-10-10 08:01:45
  • asp之家 电脑教程 m.aspxhome.com