An Sub übergebenes leeres Array feststellen

30/01/2009 - 11:03 von Andreas Killer | Report spam
Hallo!

Wie kann ich am besten feststellen ob ein Array das an eine sub/
function übergeben wurde leer, also () ist, damit ich es ggf.
dimensionieren kann? IsNull geht hier leider nicht!?!

Sub MySub(ByRef A() As String)
Dim L As Long, U As Long
If IsNull(A) Then
ReDim A(0 To 10) As String
End If
L = UBound(A)
U = UBound(A)
End Sub

Sub Test()
Dim A() As String
MySub A
End Sub

Andreas.
 

Lesen sie die antworten

#1 Matthias Hübner
30/01/2009 - 11:19 | Warnen spam
Salut Andreas,

Andreas Killer wrote:

Hallo!

Wie kann ich am besten feststellen ob ein Array das an eine sub/
function übergeben wurde leer, also () ist, damit ich es ggf.
dimensionieren kann? IsNull geht hier leider nicht!?!

Sub MySub(ByRef A() As String)
Dim L As Long, U As Long
If IsNull(A) Then
ReDim A(0 To 10) As String
End If
L = UBound(A)
U = UBound(A)
End Sub

Sub Test()
Dim A() As String
MySub A
End Sub

Andreas.


Versuche doch mal den folgenden Schnipsel:

On Error Goto Err_DimArray
L = LBound(A)
U = UBound(A)

if (U-L) >= 10 Then exit sub
Err_DimArray:
ReDim A(0 To 10) As String

Du kannst aber auch
Wenn du dein Array in einen Variant packst, dann kannst du über

If Isarray(A) Then ..

Abfragen, ob ein Array im Variant drin steckt.
Grüße
Matthias

Ähnliche fragen