0
Momentan habe ich einen VBA-Code, der die letzte aktive Zeile mit Formeln und allen kopiert und sie in die nächste Zeile darunter einfügt. Stattdessen möchte ich, dass die letzten 10 aktiven Zeilen kopiert und darunter eingefügt werden. Kann mir jemand helfen, meinen aktuellen Code zu optimieren, um dies zu ermöglichen?Wie die letzten 10 aktiven Zeilen anstelle der letzten aktiven Zeile kopiert werden
'Sub RunMost()
Dim ws As Worksheet
For Each ws In Sheets
If ws.Name = ("Sheet1") Then
ws.Activate
' Go to last cell
Cells(Rows.Count, 2).End(xlUp).Offset(2, 0).Select
' Copy formula from cell above
Rows(Selection.Row - 1).Copy
Rows(Selection.Row).Insert Shift:=xlDown
End If
Next ws
End Sub
Haben Sie versucht, die 'Reihen zu ersetzen (Selection.Row - 1)' 'mit Zeilen (Selection.Row - 10)'? – Dave
Ich empfehle, durch zu lesen, wie man '.Select' vermeidet (http://stackoverflow.com/questions/10714251/how-to-avoid-using-select-in-excel-vba-macros), die etwas verlieren sollte Licht darauf. Ich glaube, wenn man das durchliest, kann man zumindest * anfangen * das obige zu schleifen. Und auch @ Daves Vorschlag ... – BruceWayne
Bereich (Zeilen (selection.row-11), Zeilen (selection.row-1)). Kopieren –