Hallo
Als alter Delphianer (nach Lebensjahren) will ich in VBA unter
VBAProject(MyProject)
MicroSoft Excel Objekte
Tabelle1(MyTabelle)
…
einen Variablentyp deklarieren.
Type TAK
AK(17,7) as single
End Type
Dim xxx as …
…
…
Private Sub Button1_Click()
…
…
Bei Datei/Schließen und zurück zu Excel
kommt folgende Fehlermeldung:
„Ein öffentlicher benutzerdefinierter Typ kann nicht innerhalb eines Objektmoduls definiert werden.“
Wo kann ich denn Typen deklarieren?
Was ich eigentlich wollte:
Eigentlich wollte ich globale Variablen deklarieren, um sie ursprünglich in Unterprogrammen mit zu verwenden, ohne diese in Parameterlisten der Funktionen mit übergeben zu müssen
sollte so aussehen
Rem Globale Deklarationen
Dim i,j as Integer
Dim A,B as single
Dim AKW(17,7) as Integer
Rem Unterprogramm welches Variable AKW verwendet
function AK(k, l as integer) as single
AK=(AKW(k,l)+AKW(k+1,l)+AKW(k,l+1)+AKW(k+1,l+1))/4 (x)
End Function
Private Sub Button1_Click()
Dim i,j as Integer
For i := 1 to 17
For j = 1 to 7
AKW(i,j)= Sheets(„MyTabelle“).Cells(7+i,8+j).Value
Next j
Next i
Rem Hier wird das Unterprogramm mit der globalen Variablen verwendet
B = AK(3,4)
Sheets(„MyTabelle“).Cells(1,1).Value = B
…
End Sub
Und genau dabei kommt ein Syntaxfehler in der mit (x) bezeichneten Zeile. Deshalb der Wunsch nach globalen Typen zwecks Variablenübergabe in Function-Parameterliste
Wie geht das?
Viele Dank
E. B.