`
阅: 3298 | 回: 1
发表于2015/10/27 12:47:04 楼主 
头像 等级:初学者
积分:0
财富值:0.0
身份:普通用户
字符串数组排序函数(JScript法)

今天在EH中,发现一个利用JScript排序字符串数组的方法,便把它摘录如下:
Function SortArr(Arr As Variant, Optional sPd As Boolean = True)
'*******************************************
'时间:2010-3-22
'出外:http://club.excelhome.net/thread-389688-1-1.html
'作者:LDY
'功能:给指定的数据排序
'说明:sPd参数,True为顺序,False为倒序。
'      其中中文为按笔划排序。
'整理:http://www.excelba.com
'*******************************************
Dim s As String
Static sp1 As Object
If sPd Then
    s = "function sortarr(arr){return(arr.toArray().sort());}"    '顺序
Else
    s = "function sortarr(arr){return(arr.toArray().sort().reverse());}" '倒序
End If
If sp1 Is Nothing Then
    Set sp1 = CreateObject("ScriptControl")
    sp1.Language = "JScript"
End If
sp1.AddCode s
SortArr = sp1.Run("sortarr", Arr)
End Function
这个函数可以排序指定的数组,下面说一个应用,如把Excel当前工作表中A列的数据,按顺序加入窗体中的复合框中(PS:复合框名称为ComboBox1)
Private Sub UserForm_Initialize()
ComboBox1.List = Split(SortArr(Range("A1:A" & Range("A" & Cells.Rows.Count).End(xlUp).Row).Value, False), ",")
End Sub
感觉挺快的,也挺有用的,就在此与大家分享。

我的个性签名
发表于 2016/11/21 16:14:59   
头像 等级:学者
积分:53
财富值:5
身份:普通用户
看看
我的个性签名

快速回复

目前不允许游客发表,请 登录 注册 后再发贴。