In questo articolo, creeremo una funzione personalizzata per ordinare i dati in ordine alfabetico.

I dati grezzi sono costituiti da nomi casuali che vogliamo ordinare.

ArrowMain

Spiegazione logica

Abbiamo creato la funzione personalizzata “SortString” per ordinare i dati in ordine alfabetico. Prende l’intervallo di origine e la posizione come input e restituisce i valori in base alla posizione specificata. Questa funzione crea innanzitutto un array ordinato e quindi la posizione specificata viene utilizzata per estrarre il valore richiesto dall’array ordinato.

ArrowOutput

Spiegazione del codice

UBound (valori)

La funzione precedente viene utilizzata per ottenere il conteggio del numero di valori all’interno dell’array.

valori (j) = valori (j – 1)

Il codice precedente viene utilizzato per spostare i valori all’interno della matrice di un indice.

Segui sotto per il codice

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

Se ti è piaciuto questo blog, condividilo con i tuoi amici su Facebook e Facebook.

Ci piacerebbe sentire la tua opinione, facci sapere come possiamo migliorare il nostro lavoro e renderlo migliore per te. Scrivici a [email protected]