Сортиране на текстови данни по азбучен ред с помощта на VBA в Microsoft Excel

Съдържание

В тази статия ще създадем персонализирана функция за сортиране на данни по азбучен ред.

Суровите данни се състоят от произволни имена, които искаме да сортираме.

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

Създадохме персонализирана функция „SortString“ за сортиране на данни по азбучен ред. Той приема обхвата и позицията на източника като входове и връща стойности въз основа на посочената позиция. Тази функция първо създава сортиран масив и след това посочената позиция се използва за извличане на необходимата стойност от сортирания масив.

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

UBound (стойности)

Горната функция се използва за получаване на броя на стойностите в масива.

стойности (j) = стойности (j - 1)

Горният код се използва за изместване на стойностите в масива с един индекс.

Моля, следвайте кода по -долу

 Опция Експлицитна функция SortString (Източник като обхват, Позиция като дълга) Като низ "Деклариране на променливи 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 всички клетки в диапазона За всяка клетка в източника Готово = False i = 1 'Създаване на масив от сортирано име Do If Cell.Value <values ​​(i) Then Done = True Else i = i + 1 End If Loop While Done = False И i <= UBound (стойности) ReDim Запазване на стойности (1 До UBound (стойности) + 1) Ако i <= UBound (стойности)) Тогава „Регулиране на стойността в сортиран масив с имена За j = UBound (стойности) Към i + 1 стъпка - 1 стойности (j) = стойности (j - 1) Next j End If values ​​(i) = Cell.Value Next Cell 'Присвояване на стойност на необходимата позиция SortString = values ​​(Position + 1) End Function 

Ако този блог ви е харесал, споделете го с приятелите си във Facebook. Също така можете да ни следвате в Twitter и Facebook.

Ще се радваме да чуем от вас, уведомете ни как можем да подобрим работата си и да я направим по -добра за вас. Пишете ни на имейл сайта

Така ще помогнете за развитието на сайта, сподели с приятелите си

wave wave wave wave wave