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.

ArrowMain

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.

ArrowOutput

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]