Sortera en sträng array i Visual Basic for Applications ( VBA ) är inte så enkelt som i andra , nyare programmeringsspråk . I VBA kan du sortera en array i stigande ordning med hjälp av ett par " För ... Loops " och loopa igenom varje element i arrayen . Denna metod är användbar när du behöver visa värdena tillbaka till användaren i stigande ordning , att ge dina data en mer professionellt utseende . Saker du behöver
Microsoft Excel
Visa fler instruktioner
1
Launch Microsoft Excel , klicka på " Utvecklare " fliken , klicka sedan på " Visual Basic " för att öppna VB Editor. Skapa ett nytt sub förfarande genom att lägga till följande kod :
Private Sub SortVBAArray ( )
2
Skapa din sträng array och lägga tio värden till det :
Dim dataArray ( 10 ) As String
dataArray ( 0 ) = " John "
dataArray ( 1 ) = " Zackari "
dataArray ( 2 ) = " Sam "
dataArray ( 3 ) = " Adam "
dataArray ( 4 ) = " Bob "
dataArray ( 5 ) = " Kitzia "
dataArray ( 6 ) = " Daniel "
dataArray ( 7 ) = " Oscar "
dataArray ( 8 ) = " Alan "
dataArray ( 9 ) = " Yarexli "
Billiga 3
Ring sub förfarande som kommer att sortera värdena i arrayen och avsluta proceduren :
Call sortArray ( dataArray ) katalog
End sub
4
Skapa sub förfarande som kommer att sortera strängmatris i stigande ordning och visa resultaten genom direktfönstret :
sub sortArray ( tmpArray ( ) As String ) katalog
Dim firstIdx As Integer
Dim lastIdx As Integer
Dim xCntr As Integer
Dim yCntr As Integer
Dim Temp As String
Dim List As String
firstIdx = LBound ( tmpArray ) katalog
lastIdx = UBound ( tmpArray ) katalog
För xCntr = firstIdx Till lastIdx - en
För yCntr = xCntr + 1 Till lastIdx
p Om tmpArray ( xCntr ) > tmpArray ( yCntr ) Sen
Temp = tmpArray ( yCntr ) katalog
tmpArray ( yCntr ) = tmpArray ( xCntr )
tmpArray ( xCntr ) = Temp
End If
Nästa yCntr
Nästa xCntr
För xCntr = 1 Till UBound ( tmpArray )
List = Lista & vbCrLf & tmpArray ( xCntr ) katalog
Nästa
Debug.Print Lista
End Sub
5
Klicka på den första sub och trycka " Ctrl " + " G " för att visa Immediate fönstret . Tryck " F5 " för att köra programmet och se resultatet .