VBA数组的升序.降序

①升序排序的VBA数组

Function UP(x()) As Variant()

Dim i As Integer, j As Integer, a, d()

ReDim sx(LBound(x) To UBound(x)), d(LBound(x) To UBound(x))

d = x

If LBound(x) = UBound(x) Then

sx = d

Exit Function

End If

For i = LBound(x) To UBound(x) - 1

For j = i + 1 To UBound(x)

If d(j) < d(i) Then

a = d(j): d(j) = d(i): d(i) = a

End If

Next

Next

sx = d

End Function

②VBA数组的降序排序

Function Down(x()) As Variant()

Dim i As Integer, j As Integer, a, d()

ReDim sx(LBound(x) To UBound(x)), d(LBound(x) To UBound(x))

d = x

If LBound(x) = UBound(x) Then

sx = d

Exit Function

End If

For i = LBound(x) To UBound(x) - 1

For j = i + 1 To UBound(x)

If d(j) > d(i) Then

a = d(j): d(j) = d(i): d(i) = a

End If

Next

Next

sx = d

End Function

③针对中文字符的数组排序

如果你想针对字符数组进行排序,可参考如下的代码

Sub Start() Dim arr() As Variant arr = Array("大", "众", "计", "算", "机", "学", "习", "网")

QuickSort2 arr(), 0, UBound(arr) Dim s As String For I = 1 To UBound(arr) s = s & arr(I) & " | " Next MsgBox s

End Sub Sub QuickSort2(MyArray() As Variant, L, R) Dim tp tp = 1

Dim I, J, X, Y I = L J = R X = MyArray((L + R) / 2) While (I <= J) While (StrComp(MyArray(I), X, tp) < 0 And I < R) I = I + 1 Wend While (StrComp(X, MyArray(J), tp) < 0 And J > L) J = J - 1 Wend If (I <= J) Then Y = MyArray(I) MyArray(I) = MyArray(J) MyArray(J) = Y I = I + 1 J = J - 1 End If gIterations = gIterations + 1 Wend

If (L < J) Then Call QuickSort2(MyArray(), L, J) If (I < R) Then Call QuickSort2(MyArray(), I, R)

End Sub

(0)

相关推荐

  • excel表格中怎么按关键词进行升序降序的自动排序

    Excel工作表是我们日常频繁使用的办公软件之一,当我们做完一个表格后,想要自动排序该怎么办呢,下面小编就来介绍一下.具体如下:1. 打开一个编辑好的Excel表格,如图选择数据区域后,点击打开菜单栏 ...

  • Excel从大到小从小到大递增递减升序降序排序

    Excel从大到小从小到大递增递减升序降序排序可以使数据按照大小顺序依次排列,给我们数据处理和分析带来便利. Excel从大到小从小到大递增递减升序降序排序 01 点击数据排序. 选中要排序的单元格, ...

  • WPSExcel如何进行升序降序

    WPSexcel是一款功能强大的表格制作和数据处理软件,下面我们就来看看使用该软件是如何进行升序降序操作的吧. 操作方法 01 使用WPSexcel将我们的表格文件打开,然后选择需要排序的单元格,如图 ...

  • excel表格按字体颜色如何进行升序降序排列-excel排序技巧

    excel表格在数据统计处理方面非常强大,就拿数据排序这一个功能说,就可以从很多纬度来进行升序或降序的排列.下面介绍了excel中对单元格内文字颜色进行排序的方法. 1.打开需要排序的excel表格: ...

  • excel表怎么排序,升序,降序,自动义排序

    为了让数值按由高到低或是由低到高的顺序进行排列,让数据显得更加清晰,就会用到excel表格的排序功能,排序分为三种方式,一是升序,二是降序,三是自定义.其中升序和降序的设置方法一样,自定义排序与升序和 ...

  • word文档总成绩如何实现升序和降序?

    word可以利用excel来调节成绩顺序,那如何只通过word文档来实现升序和降序呢?我们来学习一下吧. 步骤 打开word文档,做一个有成绩的表格. 随意把光标定位在成绩中任意栏,选择布局-降序. ...

  • sql升序和降序排列(sql排序规则)

    在这一节我来讲Excel中如何通过SQL语句对数据进行排序.在Excel中如何使用SQL和SQL的初级语法见我前面的两篇文章,有问题的地方可以在评论区直接问我.本文的所有SQL都是基于下表进行操作的学 ...

  • WPS工作表如何进行升序或降序排序

    我们在进行数据整理时往往需要对数据进行一系列的排序工作,这是个费时费力的工作,WPS工作表为我们提供了简便的方法,一起来学习吧. 操作方法 01 鼠标右键点击桌面空白处 02 选择 新建 03 选择 ...

  • Java选择排序(升序和降序)

    选择排序是简单排序的一种,其排序思想为:首先将第一个数标记为最大数,其位置为最大数的位置:然后排除第一个数,使用第一个数和剩下的数依次比较,若剩下的数大于第一个数,则继续比较,直到找到最大数为止:最后 ...