在Excel中使用VBA字母顺序排序的文本数据
在本文中,我们将创建一个自定义函数以按字母顺序对数据进行排序。
原始数据由我们要排序的随机名称组成。
逻辑解释
我们创建了“ SortString”自定义函数以按字母顺序对数据进行排序。它以源范围和位置作为输入,并根据指定的位置返回值。此函数首先创建一个排序数组,然后使用指定位置从排序数组中提取所需的值。
代码说明
UBound(值)
上面的函数用于获取数组中值的数量计数。
values(j)= values(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]