Hallo Walter,
folgender Lösungsvorschlag (falls ich dich richtig verstanden habe):
in ein normales Modul folgender Code:
Option Explicit
Sub FillLine(z As Long)
Const LetzteSpalte = 5 'bis Spalte E
Const AnzahlZeilen = 5
Dim t As Range
Set t = ActiveCell
Application.ScreenUpdating = False
Application.EnableEvents = False
Range("A12:C12").Select
Range(Cells(z, 1), Cells(z, LetzteSpalte)).Select
Selection.AutoFill Destination:=Range(Cells(z, 1), Cells(z + AnzahlZeilen, LetzteSpalte)), Type:=xlFillDefault
Cells(z + 1, 2).ClearContents 'Sicherheitshalber löschen
t.Select
Application.EnableEvents = True
Application.ScreenUpdating = True
End Sub
Im Beispiel werden die Spalten bis E runterkopiert (Konstante "LetzteSpalte")
Du kannst "AnzahlZeilen" auch auf "1" setzen und immer nur eine Zeile runterkopieren.
Der ScreenUpdating-Befehl ist da, damit es nicht so flackert.
Als Nächstes in das Codemodul der betreffenden Tabelle folgenden Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Target.Row = Range("A65536").End(xlUp).Row Then _
FillLine (Target.Row)
End Sub
Wichtig ist, dass das SelectionChange-Modul in das Codemodul der Tabelle kommt (im Projektexplorer des VBA-Editors Doppelklick auf (z.B.) "Tabelle1"!
Sonst wird es beim Selection-Change-Ereignis nicht ausgeführt.
Viel Erfolg,
Matthias