Die Textbox erlaubt Eingaben direkt in das Objekt, man kann aber auch Daten per VBA aus der Liste in die TextBox übertragen. Dazu brauchen wir ein kurzes Stück Quelltext. Um diesen einzutragen, müssen wir das Modul des UserForm öffnen. Ein UserForm kann in der Entwicklungsumgebung so aussehen:
Auf diesem Bild sehen wir drei Objekte: das UserForm selbst, ein Bezeichnungsfeld (Label) und die TextBox, um die es hier im Wesentlichen geht. Um für dieses Objekt einen Quelltext zu hinterlegen, wird es mit der rechten Maustaste markiert. Es öffnet sich das abgebildete Kontextmenü. Dort wird Code anzeigen gewählt.
Nach dieser Auswahl öffnet sich ein Fenster, das Modul des UserForms. Hier können die gewüschten Quelltexte eingegeben werden.
Bevor es aber so weit ist, müssen noch einige grundsätzliche Dinge erläutert werden. Zunächst fällt auf, das von Excel bereits ein "Rumpfquelltext" eingetragen wurde. Er befindet sich links oben im Eingabebereich und umfasst zwei Zeilen. Sehen wir uns zunächst die erste Zeile an: Private Sub TextBox1_Change(). Der linke Teil Private Sub bezeichnet den Quelltext und kann hier vernachlässigt werden. Der rechte Teil besteht aus dem Namen des Objekts (TextBox1), einem Unterstrich und dem Ereignis (Change), dass den Quelltext startet. Hier wird von Excel ein Standard vorgegeben, der bei den einzelnen Objekten verschieden sein kann. In diesem Fall ist es ein Change-Ereignis, das bedeutet, immer wenn der Inhalt der Textbox geändert wird, läuft der Quelltext ab, weil das Change-Ereignis ausgeölöst wurde.
Oben im letzten Bild sehen wir zwei Auswahlobjekte. Das links im Bild befindliche zeigt den Inhalt TextBox1, das rechts im Bild befindliche, Change. Hinter diesen Auswahlen verbergen sich auf der linken Seite alle im Userform befindlichen Objekte, auf der rechten Seite alle für das aktuell ausgewählte Objekt zulässigen Ereignisse. Die folgende Aufstellung zeigt alle Ereignisse, die für die TextBox zur Verfügung stehen. Die Begriffe sind meiner Ansicht nach selbst erklärend, deshalb gehe ich darauf nicht weiter ein.
Bleibt der Hinweis, dass es natürlich auch möglich ist, mit dem Ereignis des einen Objekts, eine Aktion in einem anderen Objekt auszuführen. Genau das machen wir jetzt mit der TextBox.
Option Explicit

Private Sub UserForm_Activate()
TextBox1 = Sheets("Tabelle1").Cells(2, 1)
End Sub

Alle Quelltexte eingefügt mit: Excel Code Jeanie
Dieser Quelltext läd in die TextBox1 den Inhalt der Zelle A2, wenn das UserForm aufgerufen (aktiviert) wird. Damit kennen wir einen Weg, wie man Listeninhalte in ein Objekt bekommt. Umgedreht geht das auch:
Option Explicit

Private Sub TextBox1_Change()
Sheets("Tabelle1").Cells(2, 1) = TextBox1
End Sub
Dazu der Hinweis, dass dieses Beispiel so nicht verwendet werden sollte, da das Change-Ereignis in diesem Fall bewirkt, dass jede Eingabe sofort in die Liste geschrieben wird. Der Text wird also Buchstabenweise in die Liste geschrieben. Da gibt es bessere Wege, die im folgenden noch dargestellt werden.
Wie der Name schon sagt, übergeben TextBoxen Texte. Man kann das aber auf andere Formate umsetzen, das wird in einem eigenständigen Kapitel ausgeführt.