VBA Excel - Mehrere Formulardaten in Arbeitsmappe speichern

Pinky

Erfahrenes Mitglied
Hallo luete von Tutorials,

ich habe eine Arbeitsmappe erstellt, in der ich gerne per Visual Basic Daten eintragen würde. Die Arbeitsmappe sieht wie folt aus

Zug Name Vorname

Ich möchte mittels drei Formularfelder und einem Button das Script so schreiben, dass es mir direkt alle drei Einträge an die richtige stelle schreibt.

Mit einem Eintrag habe ich es bereits geschafft:

Code:
Private Sub eintragen_Click()
Dim reihe As Integer, spalte As Integer
        spalte = 1
        reihe = 1
        While ActiveSheet.Cells(reihe, spalte).Value <> ""
            reihe = reihe + 1
        Wend
        Cells(reihe, spalte) = zug.Text
End Sub
Private Sub fertig_Click()
    UserForm1.Hide
    Range("a1").Select
End Sub

Wie müss ich das mit mehreren Formfelder machen? Ich habe es mit "Function" versucht, aber da klappt es irgendwie auch nicht. VB ist eben Neuland für mich.

Vielen Dank für die Hilfe
Pinky

PS: Die Arbeitsmappe wird später logischerweise noch erweitert, sonst würde es ja keinen Sinn machen.
 
Huhu, also eine Möglichkeit wäre

Code:
Private Sub eintragen_Click()
Dim reihe As Integer, spalte As Integer
Dim varControl As Control
spalte = 1
reihe = 1
'Suchen der nächsten leeren Reihe
Do While Not ActiveSheet.Cells(reihe, 1) = ""
    reihe = reihe + 1
Loop

'Die Textfelder heißen alle txt1, txt2...
'um sie in einer Schleife durchlaufen zu können
For spalte = 1 To 3 'Anzahl der Einzutragenden Werte
    For Each varControl In UserForm1.Controls
        If varControl.name = "txt" & spalte Then
            Cells(reihe, spalte) = varControl.Text
        End If
    Next
Next spalte
End Sub
 
Zurück