Excel: VBA - Zellen per Button-Klick nacheinander füllen?

2 Antworten

Geht es immer nur um die eine Zeile oder muss man irgendwann auch die letzte benutzte Zeile ermitteln?

Da Du von verschiedenen Button sprichst, die unterschiedlichen Text erzeugen, würde ich einen Ablauf machen, um die leere Zelle zu ermitteln und den gewünschten Inhalt einzutragen und je Button einen Einzeiler, der diesen Ablauf mit dem gewünschten Text aufruft. 

Die Namen der Sub kannst Du beliebig ändern, ich drück bei Beispielen einfach irgendwo auf die Tastatur, deshalb ist das jetzt tt.
"Inhalt" ist der Parameter mit dem Text, der je Button unterschiedlich übergeben werden kann.

Sub tt(inhalt As String)
For i = 7 To 15 'das sind die Spalten 7=G
If Cells(3, i).Value = "" Then
Cells(3, i).Value = inhalt
Exit Sub
End If
Next

End Sub

Sub knopf1()
Call tt("abc")
End Sub

Sub knopf2()
Call tt("123")
End Sub

Der erste Button wird also mit sub knopf1 verbunden und übergibt den Text abc. Gleiches dann für den zweiten Button mit sub knopf 2. Das lässt sich entsprechend erweitern.

Die nächste, freie Zelle kannst du mittels 

Range("G100000").End(xlUp).Offset(1, 0).Value = "Test - 1"

finden und befüllen.