Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Userform Textboxen Wert zuweisen

Userform Textboxen Wert zuweisen
03.01.2019 15:16:37
walter
Guten Tag,
erst mal wünsche ich allen ein gesundes neues Jahr !!!
Ich habe eine Userform, anbei Muster, das habe ich auch aus dem Forum
zusammengesetzt.
Wenn es möglich ist, möchte ich gern die Werte der Textboxen in der UF
mit den Werten der aus der Tabelle ändern, ohne jetzt 20 Textboxen-Makros zu
erstellen.
Die Werte sollen automatisch eingelesen werden und das ändern in einer
beliebigen Textbox sollte dann in der richtigen Zelle erfolgen.
Also ändere ich den Wert in der Textbox 3 den Wert, sollte dann der
Wert in der aktiven Tabelle C6 geändert werden.
GEHT sowas ?
https://www.herber.de/bbs/user/126463.xlsm
mfg
walter b
Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Userform Textboxen Wert zuweisen
03.01.2019 15:36:04
ede
Hallo Walter,
ja da geht, du musst dann die Werte zum Beispiel beim Schliessen der Userform zurück in das Sheet schreiben, bzw. beim Wechseln der Sheets!
gruss
ede

Private Sub CommandButton2_Click()
ActiveSheet.Range("C4") = TextBox1
ActiveSheet.Range("C5") = TextBox2
'usw...
Unload Me
End Sub

Anzeige
Hallo Ede...
03.01.2019 15:56:08
walter
Hallo Ede,
danke für die Info. Es sollte der Wert direkt in die aktive Tabelle
eingetragen werden.
mfg
walter b
AW: Userform Textboxen Wert zuweisen
03.01.2019 15:45:47
Daniel
Hi
geht ganz einfach und ohne Code:
Schreibe für jede Textbox in der Eigenschaftsliste in die Eigenschaft: Controlsource die Adresse der Zelle, mit der die Textbox verknüpft sein soll, am besten mit Tabellenblattnamen und Hochkommas: 'Tabelle1'!A1
die Textbox ist dann mit dieser Zelle vernknüft, dh der Zellwert wird automatisch in der Textbox angezeigt und der Zellwert wird geändert, wenn du die Textbox änderst.
Funktioniert alles automatisch ohne weiteren Code.
Die Textbox-änderung wird in die Zelle geschrieben, sobald du die Textbox verlässt.
Gruß Daniel
Anzeige
AW: Userform Textboxen Wert zuweisen
03.01.2019 15:54:07
walter
Hallo Daniel,
das geht doch nicht, wenn ich eine andere Tabelle aufrufe soll auch da
der Wert der aktiven Tabelle rein geschrieben werden.
mfg
walter b
AW: Userform Textboxen Wert zuweisen
03.01.2019 16:21:50
Daniel
Hi
dann musst du die Adresse im Click-Event der Listbox, mit dem du die Blattauswahl machst der Eigenschaft ControlSource zuweisen, dann wird die Vernküpfung beim Blattwechsel angepasst.
da du dich immer auf aktive Blatt beziehst, reicht die Angabe der Adresse.
Private Sub lstBlätter_Click()
'MsgBox lstBlätter.List(lstBlätter.ListIndex, 0)
Sheets(lstBlätter.ListIndex + 1).Activate
TextBox1.ControlSource = "C4"
TextBox2.ControlSource = "C5"
TextBox3.ControlSource = "C6"
usw...
End Sub
du musst dann zwar im Code einmal die Vernknüpfung herstellen, aber du sparst dir damit den Code für das Rückschreiben der Werte.
Gruß Daniel
Anzeige
Daniel klappt !!! -)
03.01.2019 16:28:14
walter
Hallo Daniel,
einwandfrei Danke !
mfg
walter b
AW: Daniel klappt ! - dann Frage nicht mehr offen
03.01.2019 16:42:00
Daniel
hast du genau gelesen, was neben dem Häkchen steht?
Gruß Daniel
Daniel, was meinst Du damit ?
04.01.2019 10:02:04
walter
Guten Morgen Daniel,
was meinst Du mit: "was neben dem Häkchen steht?"
mfg
walter b
Anzeige
AW: Daniel, was meinst Du damit ?
04.01.2019 13:31:43
Werner
Hallo Walter,
na vermutlich, dass du den Text mal lesen solltest. Da steht nämlich, dass man das Kästchen anhaken soll, wenn das Problem noch nicht gelöst ist. Dann wird der Beitrag in der Beitragsliste als noch offen, also ungelöst markiert.
Gruß Werner
Alles erledigt. --))
04.01.2019 16:30:16
walter
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Userform Textboxen in Excel verknüpfen


Schritt-für-Schritt-Anleitung

  1. Userform erstellen: Öffne dein Excel und erstelle eine Userform. Füge die gewünschten Textboxen hinzu (z. B. TextBox1, TextBox2 usw.).

  2. ControlSource festlegen: Wähle jede Textbox aus und setze in den Eigenschaften für jedes Textfeld die ControlSource. Dies verknüpft die Textbox direkt mit einer Zelle in deiner Tabelle. Zum Beispiel:

    'Tabelle1'!C4
  3. Ereignis für Blattwechsel: Implementiere ein Ereignis für den Wechsel zwischen Blättern, um die ControlSource der Textboxen dynamisch anzupassen. Hier ist ein Beispielcode:

    Private Sub lstBlätter_Click()
       Sheets(lstBlätter.ListIndex + 1).Activate
       TextBox1.ControlSource = "C4"
       TextBox2.ControlSource = "C5"
       TextBox3.ControlSource = "C6"
       ' usw...
    End Sub
  4. Werte speichern: Wenn du die Userform schließt oder das Blatt wechselst, werden die Daten automatisch in die Zellen geschrieben.


Häufige Fehler und Lösungen

  • Fehler: Textbox zeigt keinen Wert an.

    • Lösung: Überprüfe, ob die ControlSource richtig gesetzt ist und die Zelle nicht leer ist.
  • Fehler: Änderungen in der Textbox werden nicht in die Zelle geschrieben.

    • Lösung: Stelle sicher, dass du die Textbox verlässt (z. B. durch Tab oder Mausklick), damit die Änderungen gespeichert werden.
  • Fehler: Die Textbox zeigt den Wert der falschen Zelle an.

    • Lösung: Überprüfe die ControlSource und stelle sicher, dass die richtige Zelladresse zugeordnet ist.

Alternative Methoden

Falls du keine VBA-Programmierung verwenden möchtest, kannst du die ControlSource-Eigenschaft jeder Textbox nutzen, wie bereits beschrieben. Diese Methode erfordert keine zusätzlichen Codes und funktioniert automatisch beim Verlassen der Textbox.


Praktische Beispiele

Hier sind einige praktische Szenarien, wo Userform-Textboxen in Excel nützlich sind:

  • Kundendaten eingeben: Erstelle eine Userform, um Kundendaten zu erfassen und direkt in eine Tabelle zu übertragen.
  • Budgetplanung: Verwende Textboxen zur Eingabe von Budgetdaten, die sofort in die entsprechende Tabelle geschrieben werden.

Tipps für Profis

  • Nutzung von Arrays: Wenn du viele Textboxen hast, kannst du ein Array verwenden, um die ControlSource dynamisch zu setzen und den Code zu vereinfachen.

  • Datenvalidierung: Implementiere eine Validierung der Eingaben in den Textboxen, bevor die Daten in die Zellen geschrieben werden, um Fehler zu vermeiden.

  • Design der Userform: Achte auf ein benutzerfreundliches Design der Userform, um die Eingabe für Nutzer angenehmer zu gestalten.


FAQ: Häufige Fragen

1. Frage
Kann ich die Textboxen auch ohne VBA verwenden?
Ja, du kannst die ControlSource-Eigenschaft nutzen, um die Textboxen direkt mit Zellen zu verknüpfen, ohne VBA-Code zu schreiben.

2. Frage
Wie kann ich die Userform schließen?
Du kannst einen Button hinzufügen, der beim Klicken die Userform schließt. Beispiel:

Private Sub CommandButton1_Click()
    Unload Me
End Sub

3. Frage
Was ist der Vorteil der Verwendung von ControlSource?
Der Vorteil ist, dass die Daten automatisch synchronisiert werden, ohne dass du zusätzlichen Code schreiben musst. Änderungen in der Textbox werden direkt in die verknüpfte Zelle geschrieben.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige