Forum des VBA-Tutorials

In Modul Zugriff auf Array von Klasse (VBA)

Faber, Donnerstag, 23. Februar 2017, 10:27 (vor 238 Tagen)

Hi Leute,

ich bin mittlerweile dabei ein größeres Programm zu schreiben. Dieses funtkioniert, ist aber, da es komplett in einem Modul steht mittlerweile etwas unübersichtlich. Entsprechend möchte ich es gerne in eine "Main" Datei mit "Unterprogrammen" unterteilen und da liegt mein Problem. Hier erstmal der Code vom Modul Main:

 
Option Explicit
Public Zeit(81) As Vekt_Zeit    'Array-Variable für Modul, aber = time

Public Function Test()
    Zeit = Zeit.time
    Debug.Print Zeit(5).time(5)
End Function

Hier der Code vom Klassenmodul Vekt_Zeit:

Option Explicit
 
Public time(81) As Double     'Array-Variable in Funktion

Public Function Vekt_Zeit()
    Dim i_time As Integer
    time(1) = 0         'Startwert
    For i_time = 2 To 81        'von ... bis
        time(i_time) = time(i_time - 1) + 0.0025    'Inkrementbefehl in jedem Schleifendurchlauf
'        Workbooks("Test_Optimierung.xlsm").Worksheets("DYN_ZYK").Range("G1:G82").Cells(i_time) = T90_60Nm(i_time - 1) 'Zwischenspeichern des Arrays in Excel, nur zur Kontrolle
    Next
End Function

Was ich also will ist in der Main das Unterprogramm Vekt_Zeit starten und von dort das Array "time" in "Zeit" speichern bzw. den 5. Wert ausgeben. Hierbei kommt die Fehlermeldung: "Fehler beim Kompilieren: Konstanten, Zeichenfolgen fester Länge, benutzerdefinierte Datenfelder und Declare-Anweisungen sind als Public-Elemente von Objektmodulen nicht zugelassen."
Hieraus wird mir offensichtlich klar, dass ich Arrays nicht so einfach in Verbindung mit Klassen nutzen kann. Auf die Lösung bin ich auch in anderen Foren leider nicht gestoßen.


gesamter Thread:

 RSS-Feed dieser Diskussion

powered by my little forum