Nützliche Array-Funktionen

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

Schreibe einen Kommentar

Deine E-Mail-Adresse wird nicht veröffentlicht. Erforderliche Felder sind mit * markiert