Einfach UserForm - Variable im Modul verwenden

Informationen und Beispiele zu den hier genannten Dialog-Elementen:
Bild

Betrifft: Einfach UserForm - Variable im Modul verwenden
von: Fabian
Geschrieben am: 06.10.2015 11:40:20

Hallo liebes Forum,
ich habe zur Übung meine erste UserForm geschrieben und bin schon gleich auf ein erstes Problem gestoßen, dass ich bis jetzt einfach nicht lösen konnte.
Es ist ein simples Fenster mit drei Eingabefeldern, einem "Auswählen"-Button und einem "Beenden"-Button.
Hier zunächst der Code für die UserForm:


Option Explicit
Public Variable As Long
Public Sub CommandButton1_Click()
    Variable = TextBox3.Text & "." & TextBox2.Text & "." & TextBox1.Text
    Unload Me
End Sub
Public Sub CommandButton2_Click()
    Unload Me
End Sub
und der Code im Modul

Option Explicit
Public Variable As Long
Sub Test()
    Load UserForm1 'Ist das überhaupt nötig?
    UserForm1.Show
    MsgBox Variable
End Sub
Es passiert, was passieren soll: Beim Ausführen öffnet sich die Eingabemaske, man gibt drei Zahlen ein und klickt auf auswählen. Wie mit der MsgBox überprüft werden kann, ist die Variable "Datum" aber leer. Ich habe die UserForm-Sub und die Variable als Public deklariert, was fehlt noch?
Liebe Grüße
Fabian
P.S.: Noch eine Nicht-Excel-Frage: Ich hatte bei vorigen Fragen scheinbar den Haken bei der E-Mail-Info über Antworten vergessen zu setzen und erst vor kurzem gesehen, dass mir auf meine Fragen geantwortet wurde. Wie kann ich nun zurück antworten? Über "Deine Beiträge" sehe ich zwar alles Geschriebene, aber ich habe irgendwie noch nicht herausgefunden, wie ich antworten kann xD

Bild

Betrifft: AW: Einfach UserForm - Variable im Modul verwenden
von: Peter Feustel
Geschrieben am: 06.10.2015 12:46:57
HalloFabian,
so sollte es mit deinem UserForm(ular) funktionieren

Option Explicit
Public Sub CommandButton1_Click()
    Variable = TextBox3.Text & "." & TextBox2.Text & "." & TextBox1.Text
    
    MsgBox Variable
    
    Unload Me
    
End Sub
Public Sub CommandButton2_Click()
    Unload Me
    
End Sub
Modul
Option Explicit
Public Variable As String
Sub Test()
     
    UserForm1.Show
     
End Sub
Gruß Peter

Bild

Betrifft: AW: Einfach UserForm - Variable im Modul verwenden
von: Peter Feustel
Geschrieben am: 06.10.2015 12:53:43
Hallo Fabian,
wenn du die Variable im Modul verwenden willst, dann so:

Option Explicit
Public Sub CommandButton1_Click()
    Variable = TextBox3.Text & "." & TextBox2.Text & "." & TextBox1.Text
    
    Call Variable_verwenden
    
    Unload Me
    
End Sub
Public Sub CommandButton2_Click()
    Unload Me
    
End Sub
im Modul
Option Explicit
Public Variable As String
Sub Test()
     
    UserForm1.Show
     
End Sub
Sub Variable_verwenden()
   MsgBox "der Inhalt der Variablen: " & Variable
End Sub
Gruß Peter

Bild

Betrifft: AW: Einfach UserForm - Variable im Modul verwenden
von: Fabian
Geschrieben am: 07.10.2015 10:09:44
Hallo Peter,
ich habe den Code direkt so übernommen, doch leider ist die MsgBox immer noch leer. :(
Dafür erscheint in meiner UserForm-Sub (der, die, das Sub?) folgender Code nach der Ausführung:


Private Sub UserForm_Click()
End Sub

Auch wenn ich ihn wieder lösche, nach Ausführung ist dieser Code wieder da.
Fällt dir dazu was ein?
Gruß Fabian

Bild

Betrifft: AW: Einfach UserForm - Variable im Modul verwenden
von: Peter Feustel
Geschrieben am: 08.10.2015 17:02:26
Hallo Fabian,
wenn du in der Entwurfs-Umgebung eines UserForm(ular)s auf einen Button klickst, wird ein neues Modul

Private Sub UserForm_Click()
End Sub
angelegt. Für mich sieht es also so aus, als hättest du das UserForm überhaupt noch nicht aktiv auf den Bildschirm geladen, sondern bist noch in VBA Entwicklungs-Umgebung tätig.
Kann das sein?
Gruß Peter

 Bild

Beiträge aus den Excel-Beispielen zum Thema "Einfach UserForm - Variable im Modul verwenden"