아래 표시된 함수를 작성했습니다. Sub에서 사용할 때 작동합니다. 처음으로 함수를 작성하려고합니다. 나는 이것이 멍청한 질문이라는 것을 알고 있지만, 나는 그 기능을 실행할 수없는 것처럼 보입니다. 함수를 올바르게 호출하지 않거나 함수 헤더에 변수를 올바르게 정의하지 않은 것일 수도 있습니다.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