Hallo liebe VBA Gemeinde.
Ich wende mich an euch mit folgendem Problem.
Ich möchte in einer Userform den Anwender Zellen angeben lassen und mit den Addressen der Zellen später in meinem Modul weitearbeiten.
Mein erstes Problem war, dass die Userform anscheinend Instanziert ist und ich die Adressen (selbst mit als Public deklarierten Variablen ) nicht an mein Modul übergeben kann.
Dann dachte ich das ich das problem mit Klassenmodulen lösen kann...
musste aber ziemlich schnell feststellen, dass ich vermutlich die Funktion der Klassenmodule nicht gänzlich verstanden habe.
Ich bekomme verschiedenste Fehlermeldungen, wenn ich die Adressen an das Klassenmodul weitergeben möchte ...z.B. "Objekt benötigt..."
Ich werde meinen Code mal hochstellen, in der Hoffnung, dass jemand den fehler findet und mir weiter helfen kann.
Hier Zunächst die Userform
Private Sub Eingabe_inizialise()
Dim Auswahl As Integer
End Sub
Private Sub Iterationen_Change()
End Sub
Private Sub EingabeKrit_BeforeDragOver(Cancel As Boolean, ByVal Data As MSForms.DataObject, ByVal x As stdole.OLE_XPOS_CONTAINER, ByVal y As stdole.OLE_YPOS_CONTAINER, ByVal DragState As MSForms.fmDragState, Effect As MSForms.fmDropEffect, ByVal Shift As Integer)
End Sub
Private Sub Maximum_Click()
Auswahl = 1
End Sub
Private Sub Minimum_Click()
Auswahl = 0
End Sub
Private Sub EingabePara_BeforeDragOver(Cancel As Boolean, ByVal Data As MSForms.DataObject, ByVal x As stdole.OLE_XPOS_CONTAINER, ByVal y As stdole.OLE_YPOS_CONTAINER, ByVal DragState As MSForms.fmDragState, Effect As MSForms.fmDropEffect, ByVal Shift As Integer)
End Sub
Private Sub Start_Click()
Dim Parameter As New Addr
Parameter.Krit = EingabeKrit.Value
' .Param = EingabePara.Value
' .Imax = Iterationen.Value
' .Minmax = Auswahl
Unload Eingabe
MsgBox Parameter.Krit
End Sub
Und das Dazugehöhrige Klassenmodul
Private mvarKrit As String
Private mvarParam As Variant
Private mvarImax As Integer
Private mvarMinmax As Integer
' Krit: Schreibzurgriff
Public Property Let Krit(ByVal eData As String)
mvarKrit = eData
End Property
' Krit: Lesezugriff
Public Property Get Krit() As String
Krit = mvarKrit
End Property
' Param: Schreibzurgriff
Public Property Let Param(ByRef eData As String)
mvarParam = eData
End Property
' Param: Lesezugriff
Public Property Get Param() As String
Param = mvarParam
End Property
' Imax: Schreibzurgriff
Public Property Let Imax(ByVal eData As Integer)
mvarImax = eData
End Property
' Imax: Lesezugriff
Public Property Get Imax() As Integer
Imax = mvarImax
End Property
' Minmax: Schreibzurgriff
Public Property Let Minmax(ByVal eData As Integer)
mvarMinmax = eData
End Property
' Minmax: Lesezugriff
Public Property Get Minmax() As Integer
Minmax = mvarMinmax
End Property
vielen dan schon mal im vorraus an alle die sich die mühe machen über mein Problem nachzudenken
|