AW: Zeilen Kopieren mit Formeln u. Formaten
12.08.2008 16:01:00
fcs
Hallo Lemmi,
variable Tabelle:
mit folgender Anpassung wird das Makro immer im aktiven Tabellenblatt ausgeführt und Eingabewerte im kopierten Block entsprechend gelöscht.
Gruß
Franz
Sub CopyBlock()
Dim lngLetzte As Long, lngNrLetzte As Long
Dim wks As Worksheet
Set wks = ActiveSheet 'ggf. Name anpassen
With wks
'letzte benutzte Zeile in Spalte A
lngLetzte = .Cells(.Rows.Count, 1).End(xlUp).Row
'letzte Nr. in Spalte A
lngNrLetzte = .Cells(lngLetzte, 1) 'letzte Nr. in Spalte A
'Zeilen kopieren
.Range(.Rows(6), .Rows(12)).Copy
.Cells(lngLetzte + 1, 1).Insert
'neue Nr in Spalte A für eingefügte Zeilen eintragen
.Range(.Cells(lngLetzte + 1, 1), .Cells(lngLetzte + 7, 1)).Value = lngNrLetzte + 1
'Eingabewerte in kopierter Überschrift löschen
.Range(.Cells(lngLetzte + 1, 3), .Cells(lngLetzte + 1, 14)).ClearContents 'Spalten C bis N
.Cells(lngLetzte + 1, 16).ClearContents 'Spalte P
.Range(.Cells(lngLetzte + 1, 21), .Cells(lngLetzte + 1, 23)).ClearContents 'Spalten U bis W
.Range(.Cells(lngLetzte + 1, 32), .Cells(lngLetzte + 1, 50)).ClearContents 'Spalten AF bis _
AX
'Eingabewerte in kopierten 6 Zeilen löschen
.Range(.Cells(lngLetzte + 2, 3), .Cells(lngLetzte + 7, 16)).ClearContents 'Spalten C bis P
.Range(.Cells(lngLetzte + 2, 21), .Cells(lngLetzte + 7, 23)).ClearContents 'Spalten U bis W
.Range(.Cells(lngLetzte + 2, 32), .Cells(lngLetzte + 7, 50)).ClearContents 'Spalten AF bis _
AX
End With
End Sub