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