Сортировка текстовых данных в алфавитном порядке с использованием VBA в Microsoft Excel
В этой статье мы создадим пользовательскую функцию для сортировки данных в алфавитном порядке.
Необработанные данные состоят из случайных имен, которые мы хотим отсортировать.
Логическое объяснение
Мы создали пользовательскую функцию «SortString» для сортировки данных по алфавиту. Он принимает исходный диапазон и позицию в качестве входных данных и возвращает значения на основе указанной позиции. Эта функция сначала создает отсортированный массив, а затем указанная позиция используется для извлечения требуемого значения из отсортированного массива.
Объяснение кода
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]