Clever-Excel-Forum

Normale Version: Zeilen kopieren und mit Formeln und Format, aber ohne Werte einfügen
Du siehst gerade eine vereinfachte Darstellung unserer Inhalte. Normale Ansicht mit richtiger Formatierung.
Hallo zusammen

Ich benötige ein Makro, das die vier Zeilen über dem Cursor kopiert und sie mit den Formeln und den Formaten, aber ohne die Werte oberhalb der vier Zeilen einfügt.

Kann jemand helfen?
Hallo Peter,
Sub Kopiere4ZeilenHoch()
 On Error Resume Next
 ActiveCell.Offset(-4).Resize(4).EntireRow.Copy Cells(ActiveCell.Row - 8, 1)
 ActiveCell.Offset(-8).Resize(4).EntireRow.SpecialCells(xlCellTypeConstants) = ""
 On Error GoTo 0
End Sub
Gruß Uwe
Hallo Uwe,

vielen Dank! Es gibt ein kleines Problem: Das Makro sollte die kopierten Zeilen (über dem Cursor) einfügen, nicht die dortigen Zeilen überschreiben. Geht das?

Gruß Peter
Hallo Peter,

(17.11.2016, 13:36)Peter Pan schrieb: [ -> ]vielen Dank! Es gibt ein kleines Problem: Das Makro sollte die kopierten Zeilen (über dem Cursor) einfügen, nicht die dortigen Zeilen überschreiben. Geht das?

dann so:
Sub Kopiere4ZeilenHoch()
On Error Resume Next
ActiveCell.Offset(-4).Resize(4).EntireRow.Copy
Cells(ActiveCell.Row - 4, 1).Insert
ActiveCell.Offset(-4).Resize(4).EntireRow.SpecialCells(xlCellTypeConstants) = ""
On Error GoTo 0
End Sub
Gruß Uwe
Hallo Uwe,

super, funktioniert perfekt!

Noch eine Frage: Wie könnte ich x-beliebige 4 Zeilen, z.B. 4-7, kopieren und am Ort des Cursors einfügen?

Vielen Dank für Deine Hilfe, die ich sehr schätze.

Gruß Peter
Hallo Peter,

(17.11.2016, 17:34)Peter Pan schrieb: [ -> ]Noch eine Frage: Wie könnte ich x-beliebige 4 Zeilen, z.B. 4-7, kopieren und am Ort des Cursors einfügen?

Sub Kopiere4ZeilenZuAktiverZeile()
 Rows("4:7").Copy
 Cells(ActiveCell.Row, 1).Insert
 Application.CutCopyMode = False
 ActiveCell.Resize(4).EntireRow.SpecialCells(xlCellTypeConstants) = ""
End Sub
Gruß Uwe
Hallo Uwe,

perfekt! Vielen Dank!

Zeile 7 ist eine Leerzeile. Die aktive Zeile ebenfalls. Ich möchte nun diese aktive Zeile (oder ganz einfach eine Leerzeile) zuerst einfügen und danach die Zeilen 4-6 (sonst habe ich keine Leerzeile vor 4 und zwei nach 6). Folgendes funktioniert dank einer Kombination Deiner Formeln:

Sub Kopiere4ZeilenZuAktiverZeile()
ActiveCell.EntireRow.Copy
Cells(ActiveCell.Row, 1).Insert
Rows("4:6").Copy
Cells(ActiveCell.Row + 1, 1).Insert
Application.CutCopyMode = False
ActiveCell.Resize(4).EntireRow.SpecialCells(xlCellTypeConstants) = ""
End Sub


Ich vermute allerdings stark, dass Du das eleganter lösen würdest.

Gruß Peter
Hallo Peter,

(18.11.2016, 04:13)Peter Pan schrieb: [ -> ]Ich vermute allerdings stark, dass Du das eleganter lösen würdest.

ich habe keine "Verbesserungsvorschläge". :)

Gruß Uwe