AW: kopieren und danach löschen
02.12.2017 02:29:02
Rainer
Hallo Rene,
Sub Eingabe_Kopieren()
Dim shEin As Worksheet
Dim shUeb As Worksheet
Dim ARR 'Array zum kopieren
Dim NoOfCol 'Spaltenzahl zum kopieren
Dim ControlCol 'Kontrollspalte
Dim LastRow 'Letzte Zeile in Übersicht
Set shEin = Sheets(1) 'Eingabe
Set shUeb = Sheets(2) 'Übersicht
NoOfCol = 96 '96 = CR2
ControlCol = 82 '82 = CD2
If shEin.Cells(2, ControlCol) "" Then
'Bedingung zum kopieren: CD2 (82) ist nicht leer
ARR = shEin.Range(shEin.Cells(2, 1), shEin.Cells(2, NoOfCol))
'Kopiere bis CR2 (96)
LastRow = shUeb.Cells(shUeb.Rows.Count, "A").End(xlUp).Row
'Suche letzte Zeile in Übersicht
shUeb.Range(shUeb.Cells(LastRow + 1, 1), shUeb.Cells(LastRow + 1, NoOfCol)) = ARR
'Füge Daten ein
shEin.Range(shEin.Cells(2, 1), shEin.Cells(2, NoOfCol)).Clear
'Lösche Eingabefelder
Else
MsgBox "Kontrollfeld ist nicht ausgefüllt!"
End If
End Sub
Dieser Text kommt am besten in ein neues VBA-Modul.
Du musst nur noch den Aufruf definieren, z.B. erstelle einen Button und weise das Makro zu.
Das kopieren mit Hilfe des Array "ARR" ist das gleiche als wenn du "Kopieren und Werte einfügen" benutzt. Formate, Formeln, etc. werden ignoriert.
Gruß, Rainer