【发布时间】:2017-05-20 03:58:44
【问题描述】:
我已经编写了下面显示的函数。当我在 Sub 中使用它时它可以工作。这是我第一次尝试编写函数。我知道这是一个菜鸟问题,但是我似乎无法运行该功能。这可能是关于没有正确调用函数或者没有正确定义函数头中的变量
谁能指点我正确的方向。
Function SortArray(ArrayToSort As String)
Dim x As Long, y As Long
Dim TempTxt1 As String
Dim TempTxt2 As String
For x = LBound(ArrayToSort) To UBound(ArrayToSort)
For y = x To UBound(ArrayToSort)
If UCase(ArrayToSort(y)) < UCase(ArrayToSort(x)) Then
TempTxt1 = ArrayToSort(x)
TempTxt2 = ArrayToSort(y)
ArrayToSort(x) = TempTxt2
ArrayToSort(y) = TempTxt1
End If
Next y
Next x
End Function
Sub CreateUniquesList()
Dim References() As String
...
SortArray (References)
...
End Sub
【问题讨论】:
-
你想用代码做什么,它没有做什么?看起来您正在对同一个数组进行比较,当一个较大时,将它们切换。本质上是升序?
-
该函数应该按字母顺序对数组进行排序。就像我上面说的,这适用于 Sub。我以前从未编写过函数,所以我不确定这是否是将代码实现为函数的正确方法。本质上,函数中的代码与 Sub 中的代码相同,所以我不确定我哪里出错了
-
您可以将其设为 Sub,因为您的 Function 没有返回任何内容...