В этой статье мы создадим пользовательскую функцию для сортировки данных в алфавитном порядке.

Необработанные данные состоят из случайных имен, которые мы хотим отсортировать.

ArrowMain

Логическое объяснение

Мы создали пользовательскую функцию «SortString» для сортировки данных по алфавиту. Он принимает исходный диапазон и позицию в качестве входных данных и возвращает значения на основе указанной позиции. Эта функция сначала создает отсортированный массив, а затем указанная позиция используется для извлечения требуемого значения из отсортированного массива.

ArrowOutput

Объяснение кода

UBound (значения)

Вышеупомянутая функция используется для подсчета количества значений в массиве.

значения (j) = значения (j — 1)

Приведенный выше код используется для сдвига значений в массиве на один индекс.

Пожалуйста, введите код ниже

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

Если вам понравился этот блог, поделитесь им с друзьями на Facebook и Facebook.

Мы будем рады услышать от вас, дайте нам знать, как мы можем улучшить нашу работу и сделать ее лучше для вас. Напишите нам на [email protected]