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

Forumthread: Werte aus UserForm in andere UserForm übertragen

Werte aus UserForm in andere UserForm übertragen
28.03.2016 18:17:34
Markus
Liebes Forum,
In Userform 1 habe ich eine ListBox1 und diverse TextBoxen, die sich je nach Auswahl der ListBox1 ändern.
Wie lautete der Code, damit ich meine Auswahl in ListBox1 und die Werte aus TextBox1 und Textbox2 in die UserForm3 übertragen werden. Also die Werte sollen in UserForm3 lesbar sein, jedoch nicht mehr änderbar.
In UserForm3 entspricht der ListBox1Wert (UserForm1) der TextBox1; der TextBox1 Wert (UserForm1) der TextBox 2 und der TextBox2 Wert (Userform1) der TextBox2.
Vielen Dank.

Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Werte aus UserForm in andere UserForm übertragen
28.03.2016 18:32:47
Hajo_Zi
userform3.Label3.caption=Textbox1
usw.

AW: Werte aus UserForm in andere UserForm übertragen
28.03.2016 18:35:25
Markus
Super, dankeschön

AW: Werte aus UserForm in andere UserForm übertragen
28.03.2016 21:09:50
snb
Statt eines zweites useforms wäre es besser ein Multipage zu verwenden.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Werte aus UserForm in andere UserForm übertragen


Schritt-für-Schritt-Anleitung

Um Werte aus einer UserForm in eine andere UserForm zu übertragen, kannst du den folgenden VBA-Code verwenden. In diesem Beispiel gehen wir davon aus, dass du bereits zwei UserForms hast: UserForm1 mit einer ListBox und mehreren TextBoxen sowie UserForm3, in die die Werte übertragen werden sollen.

  1. Öffne den VBA-Editor (Alt + F11) in Excel.
  2. Wähle UserForm1 aus der Projektansicht aus.
  3. Füge den folgenden Code in das Codefenster von UserForm1 ein:
Private Sub CommandButton1_Click()
    ' Überträgt Werte von UserForm1 nach UserForm3
    UserForm3.Label3.Caption = Me.TextBox1.Value
    UserForm3.TextBox2.Value = Me.TextBox2.Value
    UserForm3.ListBox1.Value = Me.ListBox1.Value

    ' Deaktiviert die Eingabefelder in UserForm3
    UserForm3.TextBox2.Enabled = False
    UserForm3.Show
End Sub
  1. Stelle sicher, dass die Namen der Controls (TextBox1, TextBox2, Label3, ListBox1) korrekt sind und an deine UserForms angepasst werden.
  2. Schließe den VBA-Editor und teste die UserForms in Excel.

Häufige Fehler und Lösungen

  • Fehler: „Objekt nicht gefunden“

    • Lösung: Überprüfe die Schreibweise der Control-Namen. Diese müssen exakt mit den Namen in deiner UserForm übereinstimmen.
  • Fehler: „UserForm3 nicht angezeigt“

    • Lösung: Stelle sicher, dass der Befehl UserForm3.Show im Code enthalten ist, um die UserForm sichtbar zu machen.
  • Eingabewerte sind veränderbar in UserForm3

    • Lösung: Deaktiviere die Eingabefelder in UserForm3 mit Enabled = False, um die Werte schreibgeschützt zu machen.

Alternative Methoden

Anstelle von UserForms kannst du auch ein Multipage-Element verwenden. Dies ermöglicht es dir, mehrere Seiten innerhalb einer einzigen UserForm zu erstellen, was die Benutzeroberfläche übersichtlicher macht. Hier ist eine kurze Anleitung:

  1. Füge ein Multipage-Control zu deiner UserForm hinzu.
  2. Erstelle verschiedene Seiten für die verschiedenen Daten.
  3. Verwende denselben Code, um Werte zwischen den Seiten zu übertragen.

Praktische Beispiele

Angenommen, in UserForm1 wählst du aus der ListBox einen Kunden aus und gibst den Vor- und Nachnamen in die TextBoxen ein. Der folgende Code überträgt diese Daten zu UserForm3:

Private Sub CommandButton1_Click()
    UserForm3.Label3.Caption = Me.ListBox1.Value
    UserForm3.TextBox1.Value = Me.TextBox1.Value
    UserForm3.TextBox2.Value = Me.TextBox2.Value
    UserForm3.Show
End Sub

In diesem Beispiel wird die Auswahl aus der ListBox als Beschriftung in UserForm3 angezeigt, während die TextBoxen die Werte aus UserForm1 übernehmen.


Tipps für Profis

  • Verwende With-Anweisungen, um deinen Code zu optimieren und lesbarer zu gestalten. Zum Beispiel:
With UserForm3
    .Label3.Caption = Me.ListBox1.Value
    .TextBox1.Value = Me.TextBox1.Value
    .TextBox2.Value = Me.TextBox2.Value
    .Show
End With
  • Dokumentiere deinen Code mit Kommentaren, um die Wartung zu erleichtern.

FAQ: Häufige Fragen

1. Kann ich Werte zwischen mehr als zwei UserForms übertragen?
Ja, du kannst ähnliche VBA-Codes verwenden, um Werte zwischen mehreren UserForms zu übertragen. Achte darauf, die Control-Namen korrekt zu referenzieren.

2. Wie kann ich sicherstellen, dass die Werte korrekt übertragen werden?
Du kannst Debug.Print verwenden, um die Werte im Direktfenster auszugeben und so sicherzustellen, dass die richtigen Daten übertragen werden.

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