Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Wie Variable an Userform übergeben?

Forumthread: Wie Variable an Userform übergeben?

Wie Variable an Userform übergeben?
11.04.2003 08:51:57
Bernhard Reppelmund
Ich stell mich vielleicht blöd an, aber ich schaffe es nicht eine Variable an eine Userform zu übergeben. konkret:
Ich habe im Hauptmodul eine Variable "Zeile" definiert, die ich beim Aufrufen meiner Userform mit Userform.Show an diese übergeben möchte, da in Abhängigkeit von ihr in der Userform bei einem Click-Ereignis weitere Steuerelemente sichtbar werden sollen.

Gruss und Dank,

Bernhard

Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Wie Variable an Userform übergeben?
11.04.2003 08:58:00
Nike

Hi,
in nem separaten Modul (nicht Codebereich einer Tabelle!)
und dann Public definieren...
z.B.
Public VarVariable as Variant

Bye

Nike

Re: Wie Variable an Userform übergeben?
11.04.2003 09:03:53
Bernhard Reppelmund

Hallo Nike,

danke für die Antwort. Allerdings finde ich die Lösung über eine globale Variable wenig ansprechend. Gibt es da wirklich keine direkte Möglichkeit?

Gruss,

Bernhard

Anzeige
Re: Wie Variable an Userform übergeben?
11.04.2003 09:12:27
klausimausi64

Hi Bernhard,

leg eine zusätzliche Textbox auf die Userform blende sie aus und schreibe deine Variable dort vor dem Show rein, etwa so:


Public Sub test()
Testvariable = "Testtext"
    With UserForm1
        .TextBox1.Visible = False
        .TextBox1.Value = Testvariable
        .Show
    End With
End Sub
 
     Code eingefügt mit Syntaxhighlighter 1.16

CU Klaus


Anzeige
Re: Wie Variable an Userform übergeben?
11.04.2003 09:18:49
Bernhard Reppelmund

Hallo Klaus,

ja, so funktionierts. Danke.
Aber es ist schon verrückt, dass man Variablen nicht direkt übergeben kann, sondern das Programm so "überlisten" muss.

Gruss,

Bernhard

Und was ist mit Tag?
11.04.2003 10:02:26
Michael Scheffler



Re: Und was ist mit Tag?
11.04.2003 10:11:08
klausimausi64

Hi Michael,

an das einfachste denkt man meistens nicht. :-) Für die Übergabe von "einem" Wert ist das natürlich die beste Variante.

CU Klaus

Anzeige
Re: Und was ist mit Tag?
11.04.2003 10:33:44
Bernhard Reppelmund

Hi Michael und Klaus,

das ist wirklich noch einfacher. Danke.

Gruss,

Bernhard

;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Infobox / Tutorial

Variable an Userform übergeben in Excel VBA


Schritt-für-Schritt-Anleitung

Um eine Variable an eine Userform in Excel VBA zu übergeben, kannst Du die folgenden Schritte befolgen:

  1. Variable definieren: Erstelle eine Variable im Hauptmodul, zum Beispiel Dim Zeile As Long.

  2. Userform aufrufen: Nutze die Methode UserForm.Show, um die Userform anzuzeigen.

  3. Variable übergeben: Du kannst entweder eine globale Variable verwenden oder die Variable in einer versteckten Textbox auf der Userform übergeben. Hier ein Beispiel mit der Textbox:

    Public Sub ShowUserForm()
       Dim Zeile As Long
       Zeile = 5 ' Beispielwert
    
       With UserForm1
           .TextBox1.Visible = False ' TextBox ausblenden
           .TextBox1.Value = Zeile ' Wert zuweisen
           .Show
       End With
    End Sub
  4. Verarbeiten der Werte: In der Userform kannst Du auf die Textbox zugreifen und den Wert bei einem Click-Ereignis oder anderen Aktionen verwenden.


Häufige Fehler und Lösungen

  • Fehler: Userform zeigt keinen Wert an.

    • Lösung: Überprüfe, ob die Textbox korrekt ausgeblendet ist und der Wert vor dem Aufruf von .Show zugewiesen wird.
  • Fehler: Variable bleibt leer.

    • Lösung: Stelle sicher, dass die Variable im Hauptmodul definiert und beim Aufruf der Userform zugewiesen wird.

Alternative Methoden

Falls Du eine globale Variable vermeiden möchtest, gibt es auch andere Möglichkeiten, eine vba variable an userform übergeben.

  1. Eigenschaften der Userform: Du kannst öffentliche Eigenschaften in der Userform definieren, um Werte zu speichern.

    ' In der Userform
    Public Property Let ZeileWert(ByVal Wert As Long)
       Me.TextBox1.Value = Wert
    End Property
    • Aufrufen der Userform:
    Public Sub ShowUserForm()
       Dim Zeile As Long
       Zeile = 5
       UserForm1.ZeileWert = Zeile
       UserForm1.Show
    End Sub
  2. Verwendung von Tag: Das Tag-Eigenschaft einer Userform kann genutzt werden, um kleine Daten zu speichern.


Praktische Beispiele

Hier ist ein einfaches Beispiel, das den oben beschriebenen Ansatz verdeutlicht:

Public Sub ShowUserForm()
    Dim Zeile As Long
    Zeile = 10 ' Beispielwert

    With UserForm1
        .TextBox1.Visible = False
        .TextBox1.Value = Zeile
        .Show
    End With
End Sub

' Userform Code
Private Sub CommandButton1_Click()
    MsgBox "Der übergebene Wert ist: " & Me.TextBox1.Value
End Sub

In diesem Beispiel wird beim Klick auf den Button in der Userform der übergebene Wert angezeigt.


Tipps für Profis

  • Verwende Module: Halte Deine Variablen und Userforms in separaten Modulen, um die Übersichtlichkeit zu erhöhen.

  • Versteckte Steuerelemente: Nutze versteckte Steuerelemente, um Werte zu übergeben, ohne den Benutzer zu verwirren.

  • Debugging: Verwende Debug.Print, um Werte während der Entwicklung zu überprüfen und sicherzustellen, dass alles wie gewünscht funktioniert.


FAQ: Häufige Fragen

1. Wie kann ich mehrere Werte an die Userform übergeben?
Du kannst mehrere Textboxen oder eine Collection verwenden, um mehrere Werte zu speichern und diese dann im Userform zu verarbeiten.

2. Ist es möglich, die Userform ohne eine Textbox zu verwenden?
Ja, Du kannst auch öffentliche Eigenschaften in der Userform definieren, um Werte zu übergeben, ohne eine Textbox nutzen zu müssen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige