Ordenar una matriz de cadenas en Visual Basic para Aplicaciones (VBA) no es tan sencillo como en otros, los lenguajes de programación más recientes. En VBA, puede ordenar una matriz en orden ascendente utilizando un par de "Para ... Loops" y bucle a través de cada elemento de la matriz. Este método es útil cuando se necesita para mostrar los valores de nuevo al usuario en orden ascendente, para dar a sus datos de un aspecto más profesional.
Cosas que necesitará
Microsoft Excel
Instrucciones
Inicie Microsoft Excel, haga clic en la pestaña "desarrolladores", a continuación, haga clic en "Visual Basic" para abrir el Editor de Visual Basic. Crear un nuevo procedimiento sub añadiendo el siguiente código:
Private Sub SortVBAArray ()
Cree su matriz de cadenas y añadir diez valores a la misma:
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"
Llame al procedimiento sub que ordenar los valores de la matriz y terminar el procedimiento:
Call sortArray(dataArray)
End Sub
Cree el procedimiento sub que ordenar la matriz de cadenas en orden ascendente y mostrar los resultados a través de la ventana Inmediato:
Sub sortArray (tmpArray () As String)
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)
lastIdx = UBound(tmpArray)
For xCntr = firstIdx To lastIdx - 1
For yCntr = xCntr + 1 To lastIdx
If tmpArray(xCntr) > tmpArray(yCntr) Then
Temp = tmpArray(yCntr)
tmpArray(yCntr) = tmpArray(xCntr)
tmpArray(xCntr) = Temp
End If
Next yCntr
Next xCntr
For xCntr = 1 To UBound(tmpArray)
List = List & vbCrLf & tmpArray(xCntr)
Next
Debug.Print List
End Sub
Haga clic en el primer procedimiento sub y pulse la tecla "Ctrl" + "G" para mostrar la ventana Inmediato. Pulse la tecla "F5" para ejecutar el programa y ver los resultados.