Im Tabellenblatt „Tabelle 1“ gibt es ca. 600 Zeilen. Die soll
ich so bearbeiten, dass es eine Originalzeile mit Inhalten
gibt und eine kopierte, in der ich die Änderungen eintrage.
Die Zeile 1 (bis 600) soll also verdoppelt werden mit dem
identischen Inhalt. Die Inhalte der Zellen reichen von A1:E1
wie auch von A1:AF1 und noch weiter. Es sollte also die
gesamte Zeile sein, die unterhalb der Originalzeile kopiert
wird. Die Krönung wäre, wenn die kopierte Zeile eine andere
Farbe hätte, z. B. hellgelb, damit sie besser unterscheidbar
wären.
Hallo Jorge,
nachfolgender Code benutzt BA als Hilfsspalte.
Teste ihn mal in einer Kopie deiner Mappe.
Alt+F11, Einfügen—Modul, Code reinkopieren, Editor schließen.
Zum Code starten Alt+F8…
Gruß
Reinhard
Option Explicit
Sub Doppeln()
Dim Zei As Long
With Worksheets("Tabelle1")
Zei = .Cells(Rows.Count, 1).End(xlUp).Row
.Rows("1:" & Zei).Copy .Cells(Zei + 1, 1)
.Range("BA1:BA" & Zei).Formula = "=ROW(A1)"
.Range("BA" & Zei + 1 & ":BA" & 2 \* Zei).Formula = "=ROW(A1)"
.Range("BA1:BA" & 2 \* Zei).Value = .Range("BA1:BA" & 2 \* Zei).Value
.Range("A1:BA" & 2 \* Zei).Sort Key1:=.Range("BA1"), Order1:=xlAscending, Header:=xlNo, \_
OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
.Range("BA:BA").ClearContents
.Range("A1:BA" & 2 \* Zei).FormatConditions.Delete
.Range("A1:BA" & 2 \* Zei).FormatConditions.Add Type:=xlExpression, Formula1:= \_
"=REST(ZEILE();2)=0"
.Range("A1:BA" & 2 \* Zei).FormatConditions(1).Interior.ColorIndex = 38
End With
End Sub