在本文中,我们将创建一个自定义函数以按字母顺序对数据进行排序。

原始数据由我们要排序的随机名称组成。

ArrowMain

逻辑解释

我们创建了“ SortString”自定义函数以按字母顺序对数据进行排序。它以源范围和位置作为输入,并根据指定的位置返回值。此函数首先创建一个排序数组,然后使用指定位置从排序数组中提取所需的值。

ArrowOutput

代码说明

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]