本文作者:office教程网

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

office教程网 2023-08-16 12:01:20
后台-系统设置-扩展变量-手机广告位-内容正文顶部
摘要:

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

实现分列的两段excel vba 分列代码

excel vba 分列多用于一般常规的分列操作完成不了的情况。 Excel内置的分列,仅用于有规律的数据进行分列。比如下面的截图,这样的数据源,分列就可以考虑使用excel vba 分列完成。 A列数据源,要将汉字和数字分列后的效果如B:D列。 下面是两段excel vba 分列的代码,案例和答案来自论

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注册组织名称

查询Excel注册组织名称,VBA可查询Excel注册组织名称。Excel2003可通过VBA宏查询Excel的注册组织名称。查询Excel注册组织名称的方法 在Excel VBA中,如果需要查询Excel注册组织名称以方便用户的操作,可通过VBA查询Excel注册组织名称。Excel2003可通过VBA宏查询Ex

后台-系统设置-扩展变量-手机广告位-内容正文底部
未经允许不得转载:

作者:office教程网,原文地址:Excel VBA中实现数组排序的多种方法发布于2023-08-16 12:01:20
转载或复制请以超链接形式并注明出处 演示站

分享到:

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

微信扫一扫打赏

留言与评论(共有 0 条评论)
   
验证码: