Ich nutze per CommandButton folgenden Code:
Private Sub CommandButton1_Click()
Dim Rx As Range, Sx As Range
Dim Fx, DX, N As Integer
Dim Zeile As Long
Fx = Array("die Rechnungsnummer", "das Lieferdatum", "der Rechnungsbetrag")
DX = Array("$C$12", "$G$12", "$K$12")
Set Rx = Worksheets("Datenpflege").Range("$C$12")
Set Sx = Worksheets("Datenquelle").Range("B3")
Zeile = Worksheets("Datenquelle").Cells(Rows.Count, 2).End(xlUp).Row - 2
If Rx.Value "" Or Rx.Offset(0, 3).Value "" Or Rx.Offset(0, 7).Value "" Then
For N = 0 To 2
If Range(DX(N)).Value "" Then
Sx.Offset(Zeile, N * 2).Value = Range(DX(N)).Value
Range(DX(N)).Value = ""
Else
MsgBox "Zur Übernahme ist " & Fx(N) & " notwendig!", vbCritical, "Fehler!"
Exit For
End If
Next
Else
MsgBox "Erforderliche Daten nicht vorhanden", vbCritical, "Fehler!"
End If
Set Rx = Nothing
Set Sx = Nothing
End Sub
Dieser Code kopiert mir die Daten aus den Feldern C12/G12/K12 in das Arbeitsblatt "Datenquelle"
Das einzige was abeändert werden müsste ist, dass im Feld K12 beim kopieren +21 gerechnet wird.
Im Feld K12 steht das Datum und dieses muss in der Datenquelle 21 Tage höher sein als bei Dateneingabe.
Sicherlich eine einfache Angelegenheit, aber da ich mit VBA nicht sehr viel erfahrung habe, krieg ich das allein nicht hin.
Danke für eure Hilfe :)
LG
Sascha