Hallo,
grundsätzlich dauert das Schreiben von einzelnen Zellen in moderneren Excel-Versionen deutlich länger als in älteren Versionen.
Du könntest probieren, mal die Berechnung und Bildschirmaktualisierung während der Vorgänge auszuschalten.Code: Visual Basic
Sub Zeileeinfügen() Dim Zelle As Range ActiveCell.EntireRow.Copy Cells(ActiveCell.Row + 1, 1).Insert Shift:=xlDown Application.Calculation = xlCalculationManual Application.ScreenUpdating = False For Each Zelle In Range(Cells(ActiveCell.Row + 1, 1), Cells(ActiveCell.Row + 1, 255).End(xlToLeft)) If Not Zelle.HasFormula Then Zelle.ClearContents End If Next Zelle Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Cells(ActiveCell.Row + 1, 1).Select End Sub
Gruß
Hallo,
auf die schnelle ohne zu testen, versuche es mal damit...Code: Visual Basic
Sub Zeileeinfügen() Dim Zelle As Range ActiveCell.EntireRow.Copy Cells(ActiveCell.Row + 1, 1).Insert Shift:=xlDown Application.Calculation = xlCalculationManual Application.ScreenUpdating = False For Each Zelle In Range(Cells(ActiveCell.Row + 1, 1), Cells(ActiveCell.Row + 1, 255).End(xlToLeft)) If Not Zelle.HasFormula Then Zelle.ClearContents Select Case Zelle.Offset(-1, 0).Column Case 2 To 3 Zelle.Value = Zelle.Offset(-1, 0).Value Case Else End Select End If Next Zelle Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Cells(ActiveCell.Row + 1, 1).Select End Sub
Gruß