乡下人产国偷v产偷v自拍,国产午夜片在线观看,婷婷成人亚洲综合国产麻豆,久久综合给合久久狠狠狠9

  • <output id="e9wm2"></output>
    <s id="e9wm2"><nobr id="e9wm2"><ins id="e9wm2"></ins></nobr></s>

    • 分享

      VBA二維數(shù)組排序

       藥都之鄉(xiāng) 2013-08-28
      Sub tmp()
          Dim tmp
          tmp = [A1:C10]
          tmp = ArraySort(tmp, 1, DESCENDING_ORDER, 3, ASCENDING_ORDER)
          [I1].Resize(UBound(tmp, 1), UBound(tmp, 2)) = tmp
      End Sub

      Function ArraySort(tmp, ByVal Key1 As Integer, ByVal Order1 As eOrderType, ByVal Key2 As Integer, ByVal Order2 As eOrderType)
          Dim i As Integer, j As Integer, Nm As Integer, Nsorted As Integer, r As Integer, m As Double
          Dim tmp0, tmp1
          ReDim tmp0(LBound(tmp, 1) To UBound(tmp, 1), LBound(tmp, 2) To UBound(tmp, 2))
          ReDim tmp1(LBound(tmp, 1) To UBound(tmp, 1), LBound(tmp, 2) To UBound(tmp, 2))
          On Error Resume Next
          Nsorted = 0
          If Order1 = ASCENDING_ORDER Then
              Do While Nsorted < (UBound(tmp, 1) - LBound(tmp, 1) + 1)
                  m = Application.Min(Application.Index(tmp, , Key1))
                  Nm = 0
                  For i = LBound(tmp, 1) To UBound(tmp, 1)
                      If tmp(i, Key1) = m Then
                          Nm = Nm + 1
                          For j = LBound(tmp, 2) To UBound(tmp, 2)
                              tmp0(Nm, j) = tmp(i, j)
                              tmp(i, j) = ""
                          Next j
                      End If
                  Next i
                  For i = 1 To Nm
                      Nsorted = Nsorted + 1
                      If Order2 = ASCENDING_ORDER Then
                          m = Application.Min(Application.Index(tmp0, , Key2))
                      ElseIf Order2 = DESCENDING_ORDER Then
                          m = Application.Max(Application.Index(tmp0, , Key2))
                      End If
                      r = Application.WorksheetFunction.Match(m, Application.Index(tmp0, , Key2), 0)
                      For j = LBound(tmp, 2) To UBound(tmp, 2)
                          tmp1(Nsorted, j) = tmp0(r, j)
                          tmp0(r, j) = ""
                      Next j
                  Next i
              Loop
          ElseIf Order1 = DESCENDING_ORDER Then
              Do While Nsorted < (UBound(tmp, 1) - LBound(tmp, 1) + 1)
                  m = Application.Max(Application.Index(tmp, , Key1))
                  Nm = 0
                  For i = LBound(tmp, 1) To UBound(tmp, 1)
                      If tmp(i, Key1) = m Then
                          Nm = Nm + 1
                          For j = LBound(tmp, 2) To UBound(tmp, 2)
                              tmp0(Nm, j) = tmp(i, j)
                              tmp(i, j) = ""
                          Next j
                      End If
                  Next i
                  For i = 1 To Nm
                      Nsorted = Nsorted + 1
                      If Order2 = ASCENDING_ORDER Then
                          m = Application.Min(Application.Index(tmp0, , Key2))
                      ElseIf Order2 = DESCENDING_ORDER Then
                          m = Application.Max(Application.Index(tmp0, , Key2))
                      End If
                      r = Application.WorksheetFunction.Match(m, Application.Index(tmp0, , Key2), 0)
                      For j = LBound(tmp, 2) To UBound(tmp, 2)
                          tmp1(Nsorted, j) = tmp0(r, j)
                          tmp0(r, j) = ""
                      Next j
                  Next i
              Loop
          End If
          ArraySort = tmp1
      End Function

        本站是提供個(gè)人知識(shí)管理的網(wǎng)絡(luò)存儲(chǔ)空間,所有內(nèi)容均由用戶發(fā)布,不代表本站觀點(diǎn)。請(qǐng)注意甄別內(nèi)容中的聯(lián)系方式、誘導(dǎo)購(gòu)買(mǎi)等信息,謹(jǐn)防詐騙。如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊一鍵舉報(bào)。
        轉(zhuǎn)藏 分享 獻(xiàn)花(0

        0條評(píng)論

        發(fā)表

        請(qǐng)遵守用戶 評(píng)論公約

        類似文章 更多