Wie das schon ein Gast in der ersten Antwort geschrieben hat, solltest du das nach Möglichkeit in einer Schleife regeln.
Ungefähr so:
Option Explicit
Private Sub CommandButton1_Click()
Dim rngCell As Excel.Range
With ThisWorkbook.Worksheets("Tabelle1")
'erster leere Zelle in Spalte A suchen (von unten aus betrachtet)
Set rngCell = .Cells(.Rows.Count, "A").End(xlUp)
If Not IsEmpty(rngCell.Value) _
Then Set rngCell = rngCell.Offset(1)
End With
Dim i As Long
For i = 1 To 29
With Controls("TextBox" & CStr(i))
If Trim$(.Text) <> "" Then
'Inhalt der TextBox in die aktuelle (leere) Zelle schreiben
If IsNumeric(.Text) Then
rngCell.Value = CDbl(Text)
Else
rngCell.Value = Trim$(.Text)
End If
'eine Zelle tiefer
Set rngCell = rngCell.Offset(1)
End If
End With
Next
End Sub
Zahlen müssen entsprechend der Ländereinstellung des Betriebsystems eingegeben werden, ansonsten kommt es zu einer falschen Darstellung.
|