Gemeinsam zu mehr Effizienz in der Anwendungserstellung
Mit IsArray(..)
kann man zwar prüfen, ob eine Variable ein Array beinhaltet, man kann aber nicht prüfen, ob ein dynamisches Array dimensioniert/initialisiert ist.
Private Function IsInitializedLongArray(ByRef ArrayToCheck() As Long) IsInitializedLongArray = Not ((0 / 1) + (Not Not ArrayToCheck) = 0) End Function Private Function IsInitializedStringArray(ByRef ArrayToCheck() As String) IsInitializedStringArray = Not ((0 / 1) + (Not Not ArrayToCheck) = 0) End Function ...
Dim TestArray() As Long Debug.Print "IsArray(TestArray) = "; IsArray(TestArray), If IsInitializedLongArray(TestArray) Then Debug.Print "Array ist initialisiert", "UBound(TestArray) = "; UBound(TestArray) Else Debug.Print "Array ist nicht initialisiert" End If
Dim TestArray() As Long ReDim TestArray(3) Debug.Print "IsArray(TestArray) = "; IsArray(TestArray), If IsInitializedLongArray(TestArray) Then Debug.Print "Array ist initialisiert", "UBound(TestArray) = "; UBound(TestArray) Else Debug.Print "Array ist nicht initialisiert" End If