Startseite

Werte übergeben

Auf dieser Seite zeige ich, wie man Werte zwischen UserForm und Tabelle austauschen kann.

Werte in die Tabelle schreiben:

Mit der rechten Maustaste im Objektbereich selektieren und Code anzeigen auswählen. Es öffnet sich der Editor, dort zunächst folgenden Code eingeben:
Es muß nur die Zeile:
Cells(1, 1) = TextBox1
eingegeben werden, der Rest wird automatisch ausgefüllt. Mit diesem kleinen Code könnte man bereits arbeiten, alles was in das Textfeld geschrieben wird, erscheint gleichzeitig auch in der Zelle A1. Allerdings wird eine feste Zuordnung zwischen Textfeld und Tabelle in den meisten Fällen nicht erwünscht sein. Aus diesem Grund wollen wir sehen, wie man das Ganze dynamisieren kann.
Zunächst habe ich einen Schalter erzeugt. Der Quellcode wird vom Textfeld entfernt und in erweiterter Form an den Schalter gekoppelt. Er sieht dann so aus:
Private Sub CommandButton1_Click()
z = Range("A65565").End(xlUp).Row + 1
    Cells(z, 1) = TextBox1
End Sub
Die Zeile:
z = Range("A65565").End(xlUp).Row + 1
liefert uns die erste freie Zeile in der Tabelle, dort wird dann der nächste Eintrag eingefügt. In der Cells-Anweisung wurde der Wert 1 durch die Variable z ersetzt, die ihren Wert aus der zugefügten Zeile bezieht. Damit wird erreicht, daß die neue Eingabe in der nächsten freien Zeile erfolgt.
Nun wollen wir natürlich nicht nur in einer Spalte etwas eingeben, deshalb habe ich Formular und Quelltext entsprechend erweitert. Der obere und der untere Quelltext bewirken das gleiche. Der untere ist durch die Verwendung einer Schleife etwas kürzer.
    Quelltext "lang"
Private Sub CommandButton1_Click()
Dim z As Integer
z = Range("A65565").End(xlUp).Row + 1
    Cells(z, 1) = TextBox1
    Cells(z, 2) = TextBox2
    Cells(z, 3) = TextBox3
    Cells(z, 4) = TextBox4
    Cells(z, 5) = TextBox5
End Sub
Quelltext "kurz"
Private Sub CommandButton1_Click()
Dim sp As Integer
Dim z As Long
z = Range("A65536").End(xlUp).Row + 1
For sp = 1 To 5
    Cells(z, sp) = Controls("TextBox" & sp).Text
Next sp
End Sub
Auch dieses Beispiel findet sich im Downloadbereich.