以下に表示されている関数を記述しました。それは私がサブでそれを使用するときに機能します。私が関数を書くのは初めてです。私はこれが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