September 24
L'ordinamento di un array di stringhe in Visual Basic, Applications Edition (VBA) non è così semplice come in altri linguaggi di programmazione, più recenti. In VBA, è possibile ordinare un array in ordine crescente utilizzando un paio di "cicli FOR ..." e loop attraverso ogni elemento dell'array. Questo metodo è utile quando è necessario per visualizzare i valori di nuovo all'utente in ordine crescente, per dare i dati un aspetto più professionale.
1 Avviare Microsoft Excel, fare clic sulla scheda "Sviluppatore", poi cliccare su "Visual Basic" per aprire l'editor di VB. Creare una nuova procedura secondaria aggiungendo il seguente codice:
Private Sub SortVBAArray ()
2 Crea il tuo array di stringhe e aggiungere dieci valori ad esso:
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"
3 Chiamare la procedura di sub che ordinare i valori nella matrice e terminare la procedura:
Call sortArray(dataArray)
End Sub
4 Creare la procedura secondaria che ordinare la matrice di stringhe in ordine crescente e visualizzare i risultati attraverso la finestra immediata:
Sub sortArray (tmpArray () As String)
Dim firstIdx As Integer
Dim lastIdx As Integer
Dim xCntr As Integer
Dim yCntr As Integer
Temp Dim As String
Dim List As String
firstIdx = LBound (tmpArray)
lastIdx = UBound (tmpArray)
Per xCntr = firstIdx Per lastIdx - 1
Per yCntr = xCntr + 1 Per lastIdx
Se tmpArray (xCntr)> tmpArray (yCntr) Poi
Temp = tmpArray (yCntr)
tmpArray (yCntr) = tmpArray (xCntr)
tmpArray (xCntr) = Temp
Finisci se
Successivo yCntr
Successivo xCntr
Per xCntr = 1 Per UBound (tmpArray)
List = Elenco & vbCrLf & tmpArray (xCntr)
Il prossimo
Lista Debug.Print
End Sub
5 Fare clic sulla prima procedura secondaria e premere il tasto "Ctrl" + "G" per visualizzare la finestra immediata. Premere il tasto "F5" per eseguire il programma e visualizzare i risultati.