wie müsste der Code aussehen wenn ich eine Zeile markiere und eine neue Zeile einfüge, dabei aber die Formeln von oben übernehme?
Selection.Insert Shift:=xlDown
und weiter?Gruß
Dietz
Selection.Insert Shift:=xlDown
und weiter?
Sub Kopieren()
Selection.Insert Shift:=xlDown
Selection.Offset(-1).Copy
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End Sub
Sub Kopieren()
Dim lngZeile As Long
Selection.Insert Shift:=xlDown
Selection.Offset(-1).Copy
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
lngZeile = Selection.Row
Union(Range(Cells(lngZeile, 3), Cells(lngZeile, 4)), Cells(lngZeile, 6), _
Range(Cells(lngZeile, 8), Cells(lngZeile, 10)), Cells(lngZeile, 12), _
Range(Cells(lngZeile, 17), Cells(lngZeile, 20))).ClearContents
End Sub
ALT + F11 drückst.Sub ZeileEinfügenUndFormelÜbernehmen()
Selection.Insert Shift:=xlDown
Selection.Offset(-1).Copy
Selection.PasteSpecial Paste:=xlPasteFormulas, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
End SubALT + F8 drückst, das Makro auswählst und auf „Ausführen“ klickst.Fehler: „Laufzeitfehler 1004“: Dieser Fehler tritt auf, wenn Du versuchst, eine Zeile einzufügen, während die Auswahl ungültig ist. Stelle sicher, dass Du eine Zeile markiert hast, bevor Du das Makro ausführst.
Lösung: Überprüfe die Auswahl: Stelle sicher, dass Du eine gültige Zeile markiert hast. Wenn Du die Zeile mit Formeln von oben übernehmen möchtest, vergewissere Dich, dass die Zeile über der markierten Zeile Formeln enthält.
Direktes Einfügen ohne VBA: Du kannst auch manuell eine Zeile einfügen, indem Du mit der rechten Maustaste auf die Zeilennummer klickst und „Zeile einfügen“ wählst. Danach kannst Du die Formeln manuell kopieren.
Formelübernahme mit „Füllen“: Markiere die Zellen in der Zeile oberhalb, die Du kopieren möchtest, und ziehe das Füllkästchen nach unten in die neue Zeile.
Einfügen einer neuen Zeile mit allen Formeln:
Sub NeueZeileMitFormelEinfügen()
Selection.Insert Shift:=xlDown
Selection.Offset(-1).Resize(1).Copy
Selection.PasteSpecial Paste:=xlPasteFormulas
End Sub
Einfügen einer neuen Zeile und nur bestimmter Zellen:
Sub BestimmteZellenKopieren()
Dim lngZeile As Long
Selection.Insert Shift:=xlDown
lngZeile = Selection.Row
Union(Range(Cells(lngZeile, 2), Cells(lngZeile, 2)), _
Range(Cells(lngZeile, 5), Cells(lngZeile, 5)), _
Range(Cells(lngZeile, 7), Cells(lngZeile, 7))).Copy
Selection.PasteSpecial Paste:=xlPasteFormulas
End Sub
Application.CutCopyMode = False nach dem Einfügen, um den Auswahlrahmen um die kopierten Zellen zu entfernen.1. Wie kann ich das Makro anpassen, um nur bestimmte Spalten zu kopieren?
Du kannst die Union-Funktion verwenden, um nur die gewünschten Zellen zu definieren und dann die Formeln von diesen Zellen zu kopieren.
2. Ist es möglich, das Format der neuen Zeile zu übernehmen?
Ja, Du kannst das Format der Zeile mit Selection.Offset(-1).Copy und Selection.PasteSpecial Paste:=xlPasteFormats übernehmen, nachdem Du die Zeile eingefügt hast.