\\'示例用代码
Function PaiMing(rg As Range, rg1 As Range)Dim iOuter As LongDim iInner As LongDim iLBound As LongDim iUBound As LongDim iTemp As DoubleDim x As Long, k As LongDim arr1, arr2, arr3(1 To 10000, 1 To 3)arr1 = rgarr2 = rg1If UBound(arr1, 2) > 1 Thenarr1 = Application.Transpose(arr1)arr2 = Application.Transpose(arr2)End IfiLBound = LBound(arr1)iUBound = UBound(arr1)\\'冒泡排序For iOuter = iLBound To iUBoundFor iInner = iLBound To iUBound - iOuter\\'比较相邻项If arr1(iInner, 1) < arr1(iInner + 1, 1) Then\\'交换值iTemp = arr1(iInner, 1)iTemp1 = arr2(iInner, 1)arr1(iInner, 1) = arr1(iInner + 1, 1)arr1(iInner + 1, 1) = iTemparr2(iInner, 1) = arr2(iInner + 1, 1)arr2(iInner + 1, 1) = iTemp1End IfNext iInnerNext iOuterFor x = 1 To UBound(arr1)arr3(x, 1) = arr2(x, 1)arr3(x, 2) = arr1(x, 1)k = k + 1If x > 1 ThenIf arr1(x, 1) = arr1(x - 1, 1) Then k = k - 1End Ifarr3(x, 3) = kNext xPaiMing = arr3End Function