Nützliche Array-Funktionen in VBA
Im folgenden einige einfache Funktionen, um das Arbeiten mit Arrays zu erleichtern:
Array erweitern
Sub ArrayAdd(arr As Variant, what As Variant) ' Fügt Element zu Array hinzu Dim ub As Integer If IsEmpty(arr) Then ReDim arr(0) ub = -1 Else ub = UBound(arr) ReDim Preserve arr(ub + 1) End If arr(ub + 1) = what End Sub
Abfragen, ob Array Element enthält
Function ArrayContains(ByVal arr As Variant, what As Variant) As Boolean
' Prüft, ob array ein bestimmtes Element enthält
Dim i As Integer
If IsEmpty(arr) Then Exit Function
For i = 0 To UBound(arr)
If arr(i) = what Then
ArrayContains = True
Exit Function
End If
Next
End Function
Position eines Elements ermitteln
Public Function ArrayPos(ByVal arr As Variant, what As Variant) As Long
' Position eines Elements im Array
' gibt -1 zurück, wenn Element nicht gefunden wird oder Array leer ist
Dim i As Integer
ArrayPos = -1
If IsEmpty(arr) Then
Exit Function
End If
For i = 0 To UBound(arr)
If arr(i) = what Then
ArrayPos = i
Exit Function
End If
Next
End Function
Testen der Array-Funktionen
Sub Array_Test() Dim arr As Variant ' Elemente hinzufügen ArrayAdd arr, "Eins" ArrayAdd arr, "2" ArrayAdd arr, 4 ' Array ausgeben Debug.Print Join(arr, ", ") ' -> Eins, 2, 4 ' Element enthalten? Debug.Print ArrayContains(arr, "2") ' -> Wahr ' An welcher position? Debug.Print ArrayPos(arr, "2") ' - > 1 End Sub
Nützliche Array-Funktionen