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

Forumthread: Text von Textbox 1 in Textbox 2

Text von Textbox 1 in Textbox 2
18.02.2020 15:59:32
Textbox
Hallo,
ich bin gerade dabei, mein erstes kleines VBA Programm zu schreiben.
Folgendes möchte ich machen:
2 UserFormen -> 2. Userform öffnet sich nach Klick auf Schaltfläche in Userform 1
Userform 2 beinhaltet ein Textfeld, welches vom Anwender ausgefüllt wird. Mittels Click auf eine Schaltfläche in UserForm 2 soll der Inhalt von diesem Textfeld auf ein Textfeld in UserForm 1 übertragen werden.
Leider sind meine VBA Kenntnisse nicht sehr gut. Folgendes funktioniert leider nicht:
Private Sub cmd_messungdone_Click()
Value.textbox_messung1_ist = Value.texttbox_messung1
End Sub

Kann mir jemand einen kleinen Tipp geben?
Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: Text von Textbox 1 in Textbox 2
18.02.2020 16:24:48
Textbox
Userform2.Textbox1=Textbox123
Userform2.show

AW: Text von Textbox 1 in Textbox 2
18.02.2020 16:24:59
Textbox
Hi,
wenn userForm1 noch geöffnet ist, dann so:
UserForm1.textbox_messung1_ist = Me.textbox_messung1
Gruß Regina
AW: Text von Textbox 1 in Textbox 2
18.02.2020 16:35:40
Textbox
Hi
1. achte auf die korrekte Schreibung. sonst kann der Interpreter die Objekte nicht erkennen. (texttbox)
2. mach dich mal grundsätzlich mit VBA vertraut, bevor du loslegst.
ich weiß ja nicht, in welcher Sprache du bereits programmiererfahrung hast, aber in VBA ist die Reihenfolge Objekt - Eigenschaft und nicht umgekehrt.
also
Textbox_messung1_ist.value und nicht Value.textbox_messung1_ist
3. wenn man ein Objekt, welches sich in einem anderen Modul befindet als in dem, in welchem man gerade programmiert, ansprechen will, muss man den Modulnamen voranstellen.
nur innerhalb des gleichen Moduls kann man den Modulnamen weglassen.
In deinem Fall ist das Modul die jeweilige Userform.
dh wenn du eine Textbox1 in der Userform1 hast und eine Textbox2 in der Userfomr2, dann läuft der Übertrag so, wenn der Code im Modul der Userfom1 steht:
Userform2.Textbox2.Value = Textbox1.Text

steht der Code in Userform1
Textbox2.value = Userform1.Textbox1.value
am einfachsten wäre der Übertrag über eine gemeinsame ausgabezelle, dh du trägst bei beiden TextBoxen in der Eigenschaft ControlSource dieselbe Zelladresse ein.
dann geht die Übernahme des Textes automatisch ohne Code, allerdings in beide Richtungen.
Gruß Daniel
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Text von Textbox 1 in Textbox 2 übertragen


Schritt-für-Schritt-Anleitung

  1. Erstelle zwei UserForms in Deinem Excel VBA-Projekt. Nenne sie UserForm1 und UserForm2.
  2. Füge TextBoxen hinzu: In UserForm1 füge eine TextBox mit dem Namen TextBox1 hinzu. In UserForm2 füge eine TextBox mit dem Namen TextBox2 hinzu.
  3. Füge Schaltflächen hinzu: Füge eine Schaltfläche in UserForm1 hinzu (nennen wir sie cmd_openUserForm2) und eine in UserForm2 (nennen wir sie cmd_messungdone).
  4. Code in UserForm1: Doppelklicke auf die Schaltfläche cmd_openUserForm2 und füge diesen Code hinzu:
    Private Sub cmd_openUserForm2_Click()
       UserForm2.Show
    End Sub
  5. Code in UserForm2: Doppelklicke auf die Schaltfläche cmd_messungdone und füge diesen Code hinzu, um den Text von TextBox2 in TextBox1 zu übertragen:
    Private Sub cmd_messungdone_Click()
       UserForm1.TextBox1.Text = Me.TextBox2.Text
    End Sub
  6. Teste Deine UserForms: Starte UserForm1, gib etwas in TextBox2 ein und klicke auf die Schaltfläche, um UserForm2 zu öffnen. Klicke dann auf die Schaltfläche in UserForm2, um den Text zu übertragen.

Häufige Fehler und Lösungen

  • Schreibfehler: Achte darauf, dass Du die Namen der TextBoxen genau so schreibst, wie sie definiert sind. Ein häufiger Fehler ist die falsche Schreibweise, z.B. Value.textbox_messung1_ist statt Textbox_messung1_ist.Value.

  • Zugriffsprobleme: Wenn Du versuchst, auf eine TextBox in einer anderen UserForm zuzugreifen, stelle sicher, dass Du den korrekten Namen der UserForm verwendest, z.B. UserForm1.TextBox1.Text.

  • Objekt-Eigenschaft-Reihenfolge: In VBA ist die Reihenfolge wichtig. Verwende immer die Struktur Objekt.Eigenschaft, z.B. Textbox1.Text und nicht Value.textbox1.


Alternative Methoden

Eine einfachere Methode zur Übertragung von Text zwischen TextBoxen ist die Verwendung einer gemeinsamen Zelle als ControlSource. Du kannst die ControlSource-Eigenschaft beider TextBoxen auf die gleiche Zelladresse setzen. Dadurch wird der Text automatisch synchronisiert, ohne dass zusätzlicher Code erforderlich ist.

  1. Wähle TextBox1 in UserForm1 und setze die ControlSource auf eine Zelle, z.B. A1.
  2. Wähle TextBox2 in UserForm2 und setze ebenfalls die ControlSource auf die gleiche Zelle (A1).

So wird der Text in beiden TextBoxen automatisch aktualisiert.


Praktische Beispiele

Hier ist ein Beispiel, das zeigt, wie Du Text von einer UserForm in eine andere überträgst:

Private Sub cmd_messungdone_Click()
    UserForm1.TextBox1.Text = Me.TextBox2.Text
End Sub

Wenn Du UserForm2 öffnest und etwas in TextBox2 eingibst, wird der Inhalt bei Klick auf die Schaltfläche in UserForm2 sofort in TextBox1 von UserForm1 übertragen.


Tipps für Profis

  • Nutze Error-Handling in Deinem VBA-Code, um Fehler abzufangen und zu behandeln. Das macht Deinen Code robuster.
  • Achte auf Benutzerfreundlichkeit: Zeige dem Benutzer eine Bestätigung oder Rückmeldung, wenn der Text erfolgreich übertragen wurde.
  • Nutze Option Explicit am Anfang Deiner Module, um sicherzustellen, dass alle Variablen deklariert sind, was Fehlerquellen reduziert.

FAQ: Häufige Fragen

1. Wie kann ich TextBoxen in einem UserForm hinzufügen? Du kannst TextBoxen über die Toolbox im VBA-Editor einfügen. Ziehe die TextBox-Steuerung auf Deine UserForm.

2. Warum funktioniert mein Code nicht? Überprüfe auf Schreibfehler und stelle sicher, dass Du die richtigen Objektnamen verwendest. Achte auch darauf, dass die UserForms geöffnet sind, wenn Du versuchst, auf ihre Elemente zuzugreifen.

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