我寫了下面顯示的功能。它適用於我在Sub中使用它。這是我第一次嘗試寫一個函數。我知道這是一個noob問題,但我似乎無法得到運行的功能。這可能是關於不正確調用函數或者可能沒有正確定義函數頭中的變量的問題Excel VBA排序數組功能
任何人都可以請指點我正確的方向。
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,因爲您的函數不會返回任何內容... – MacroMarc