PasteSpecial ,Code verbessern
frank
Habe ein Makro das ich verbessern möchte.
Es kommt 2 mal PasteSpecial vor. Einmal um mehrere Zeilen einzufügen und einmal um eine Formel in Wert zu änderrn. In der Zelle steht das aktuelle Datum =heute(). Die Zelle befindet sich in den zu kopierenen Zeilen.
Geht das nicht in einmal?
Sub FormularDruckenUndInsArchiv()
Application.ScreenUpdating = False
If Application.WorksheetFunction.CountA(Range("C9:J19")) = 0 Then
Range("A1:J20").PrintOut 'leeres Protokoll drucken
Exit Sub
Else
Range("A1:J20").PrintOut 'gefülltes Protokoll drucken
Rows("1:21").Select 'Spalten ins Archiv kopieren nach unten
Selection.Copy
Sheets("Archiv").Select
Selection.Insert Shift:=xlDown
Selection.PasteSpecial Paste:=xlPasteColumnWidths, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False 'zeilen und spaltenformate bleiben erhalten
ActiveSheet.DrawingObjects.Delete
Range("J1").Select 'hier steht das aktuelle Datum, soll sich im Archiv nicht mehr ändern
Selection.Copy
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Application.CutCopyMode = False
Sheets("Protokoll").Range("C5:F19,G7:J19,I5:J6,G5:H5,C20,E20").ClearContents 'Protokoll _
leeren
End If
Application.ScreenUpdating = True
End Sub
Danke
frank