Clasificación de datos de texto en orden alfabético utilizando VBA en Microsoft Excel
En este artículo, crearemos una función personalizada para ordenar los datos en orden alfabético.
Los datos brutos consisten en nombres aleatorios que queremos ordenar.
Explicación lógica
Hemos creado la función personalizada «SortString» para ordenar los datos alfabéticamente. Toma el rango de fuente y la posición como entradas y devuelve valores basados en la posición especificada. Esta función primero crea una matriz ordenada y luego la posición especificada se usa para extraer el valor requerido de la matriz ordenada.
Explicación del código
UBound (valores)
La función anterior se usa para obtener el recuento del número de valores dentro de la matriz.
valores (j) = valores (j – 1)
El código anterior se usa para cambiar los valores dentro de la matriz en un índice.
Siga el código a continuación
Option Explicit Function SortString(Source As Range, Position As Long) As String 'Declaring variables Dim Cell As Range Dim values() As String Dim i As Long, j As Long Dim Done As Boolean ReDim values(1 To 1) 'Looping through all cells in the range For Each Cell In Source Done = False i = 1 'Creating an array of sorted name Do If Cell.Value < values(i) Then Done = True Else i = i + 1 End If Loop While Done = False And i <= UBound(values) ReDim Preserve values(1 To UBound(values) + 1) If i <= UBound(values) Then 'Adjusting value in sorted name array For j = UBound(values) To i + 1 Step -1 values(j) = values(j - 1) Next j End If values(i) = Cell.Value Next Cell 'Assigning value of required position SortString = values(Position + 1) End Function
Si te gustó este blog, compártelo con tus amigos en Facebook y Facebook.
Nos encantaría saber de usted, háganos saber cómo podemos mejorar nuestro trabajo y hacerlo mejor para usted. Escríbanos a [email protected]