Hallo!
Ich bin zienlich neu mit VBA. Nun wollte ich eigentlich nur eine ganz einfache Funktion zum Aufsummieren und den zugehörigen Aufruf in VBA schreiben.
Dabei trat leider ein Problem mit benutzerdefinierten Datentypen auf.
Function summe(summand As Variant) As Variant
Dim lsg(2010 To 2060) As Variant
Dim i, j As Integer
Erase lsg
For j = 2010 To 2060
For i = 1 To 30
lsg(j) = summand(i, j) + lsg(j)
Next i
Next j
summe = lsg
End Function
Die Funktion summe wird dann im sub-Programm folgendermaßen aufgerufen:
Sub bla()
Dim a(2010 To 2060) As Double
Dim Vara As Variant
Dim Varb As Variant
Public Type blub
b As Double
end type
Public test(1 To 30, 2010 To 2060) As blub
Vara = a
Varb = test.b
Vara = summe(Varb)
End Sub
(Ich habe gelesen, die Umdefinierung der Arrays als Variant sei nötig.)
Daraufhin erhalte ich die Meldung 'Fehler beim Kompilieren: Ungültiger Bezeichner' für Varb = test.b.
Für 'normale', d.h. nicht-benutzerdefinierte Variablen hat die Ausführung bereits geklappt...War das nur Zufall bzw gibt es etwas was ich noch beachten muss?
Vielen Dank schonmal für die Hilfe!
Sophie
|