如何用vba进行排序?

在编写程序的过程中,排序是一个常见的需求。

利用程序排序的算法有很多,本文将介绍几个常见的排序算法以及它们的vba实现代码。

  1. 冒泡排序
    冒泡排序的算法如下:Step1:对每一对相邻元素作大小比较,然后交换位置,从开始第一对到结尾的最后一对。这一步后,最后的元素会是最大或最小的数。

    Step2:继续对除已经排序的末尾元素外的其它元素继续循环执行第一步操作。

    Step3:持续每次对越来越少的元素重复上面的步骤,直到没有任何一对数字需要比较。

以下示例使用vba实现冒泡排序:

'冒泡排序
Sub mppx()
    arr = Array(4, 3, 5)
    '循环每个元素,直到最开始的两个元素
    For j = 0 To UBound(arr) - 1
        '用UBound(arr) - 1 - j每次循环都忽略到已经排好序的末尾元素
        For i = 0 To UBound(arr) - 1 - j
            '从小到大排序
            If 1 * arr(i) > 1 * arr(i + 1) Then
                '比较大小交换元素
                Temp = arr(i)
                arr(i) = arr(i + 1)
                arr(i + 1) = Temp
            End If
        Next i
    Next j
End Sub

 

       

发表评论