Ordinamento dei dati di testo in ordine alfabetico utilizzando VBA in Microsoft Excel
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.
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.
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]