Dans cet article, nous allons créer une fonction personnalisée pour trier les données par ordre alphabétique.

Les données brutes se composent de noms aléatoires que nous voulons trier.

ArrowMain

Explication logique

Nous avons créé la fonction personnalisée «SortString» pour trier les données par ordre alphabétique. Il prend la plage et la position source comme entrées et renvoie des valeurs basées sur la position spécifiée. Cette fonction crée d’abord un tableau trié, puis la position spécifiée est utilisée pour extraire la valeur requise du tableau trié.

ArrowOutput

Explication du code

UBound (valeurs)

La fonction ci-dessus est utilisée pour obtenir le nombre de valeurs dans le tableau.

valeurs (j) = valeurs (j – 1)

Le code ci-dessus est utilisé pour décaler les valeurs dans le tableau d’un index.

Veuillez suivre ci-dessous pour le code

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 vous avez aimé ce blog, partagez-le avec vos amis sur Facebook et Facebook.

Nous aimerions avoir de vos nouvelles, faites-nous savoir comment nous pouvons améliorer notre travail et le rendre meilleur pour vous. Écrivez-nous à [email protected]