Registriert seit: 15.11.2016
Version(en): 2010
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?
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
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
Registriert seit: 15.11.2016
Version(en): 2010
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
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo Peter,
(17.11.2016, 14: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
Registriert seit: 15.11.2016
Version(en): 2010
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
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo Peter,
(17.11.2016, 18: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
Registriert seit: 15.11.2016
Version(en): 2010
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
Registriert seit: 17.04.2014
Version(en): MS Office 365(32)
Hallo Peter,
(18.11.2016, 05:13)Peter Pan schrieb: Ich vermute allerdings stark, dass Du das eleganter lösen würdest.
ich habe keine "Verbesserungsvorschläge". :)
Gruß Uwe