Sind Type-Variable anders?
18.09.2024 12:42:36
Florian
bb = Array(bb)
stehen, wenn bb ein Type-Variable ist. Warum ist das so?
Im folgendem Code drei Beispiele, wo diese Zeile gut funktioniert, auch wenn ich die Type-Variable in ein Integer umwandle.
Type SymbolsType
Top As Integer
End Type
Sub aaa()
Dim Sy As SymbolsType
Dim Anzahl As Long
Debug.Print HoleAnzahl(15) 'Ergebnis: 1. Ist richtig
Debug.Print HoleAnzahl(Array(3, 5, 7, 9)) 'Ergebnis: 4. Ist richtig
Sy.Top = 15
Debug.Print HoleAnzahl(CInt(Sy.Top)) 'Ergebnis: 1. Ist richtig
Debug.Print HoleAnzahl(Sy.Top) 'Funktioniert NICHT
End Sub
Function HoleAnzahl(bb)
If Not IsArray(bb) Then bb = Array(bb)
HoleAnzahl = UBound(bb) - LBound(bb) + 1
End Function
In meinem konkreten Fall geht es um eine Funktion, die sowohl einen Wert als auch ein Array verarbeitet. Funktioniert gut, aber nicht mit Type-Variablen.
LG, Florian
Anzeige