Thema Datum  Von Nutzer Rating
Antwort
Rot Klassenmodule
11.11.2008 13:35:54 Marc
NotSolved

Ansicht des Beitrags:
Von:
Marc
Datum:
11.11.2008 13:35:54
Views:
2622
Rating: Antwort:
  Ja
Thema:
Klassenmodule
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


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Klassenmodule
11.11.2008 13:35:54 Marc
NotSolved