Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Zeile unten einfügen & format übernehmen

Zeile unten einfügen & format übernehmen
13.06.2016 11:57:36
Sandra
Folgendes Ziel habe ich:
Ich markiere eine Zeile, dann Makro:
Ich füge eine Zeile unter die aktive Zeile ein
Ich kopiere das Format der aktiven Zeile
Ich schreibe eine Formel in die neue Zeile

Was Excel macht: Er nimmt die Zeile unter meiner aktiven Zeile, kopiert davon das Format und fügt unterhalb meiner aktiven Zeile eine Zeile ein.
Was funktioniert: Zeile oberhalb einfügen, Format von aktiver Zeile übernehmen und Formel einfügen.
Hier meine Text:
Funktioniert nicht:
Sub ZeileUntenEinfuegen()
Dim iA As Integer
iA = ActiveCell.Row
'ActiveCell.Rows(A & ":" & A).EntireRow.Select
Rows(iA + 1 & ":" & iA + 1).EntireRow.Insert ' leere Zeile einfügen
Rows(iA & ":" & iA).Copy    'Zeile kopieren
Rows(iA & ":" & iA).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False 'nur Eigenschaften der Zeile (Formate) einfügen
Cells(iA, 15).Select
Selection.FormulaR1C1 = "=IF(COUNTIF(Dokumentenänderung!C[-12],Meetings!RC[-6]),""!"","""")" _
Application.CutCopyMode = False
Cells(iA, 1).Select
End Sub
Funktioniert:
Sub ZeileObenEinfuegen()
Dim iA As Integer
iA = ActiveCell.Row
'ActiveCell.Rows(A & ":" & A).EntireRow.Select
Rows(iA & ":" & iA).EntireRow.Insert   ' leere Zeile einfügen
Rows(iA + 1 & ":" & iA + 1).Copy 'Zeile kopieren
Rows(iA & ":" & iA).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False 'nur Eigenschaften der Zeile (Formate) einfügen
Cells(iA, 15).Select
Selection.FormulaR1C1 = "=IF(COUNTIF(Dokumentenänderung!C[-12],Meetings!RC[-6]),""!"","""")" _
Application.CutCopyMode = False
Cells(iA, 1).Select
End Sub

Help :)

Anzeige

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeile unten einfügen & format übernehmen
13.06.2016 12:42:49
Rudi
Hallo,
Sub ZeileUntenEinfuegen()
Dim iA As Integer
iA = ActiveCell.Row
'ActiveCell.Rows(A & ":" & A).EntireRow.Select
Rows(iA + 1).EntireRow.Insert ' leere Zeile einfügen
Rows(iA).Copy    'Zeile kopieren
Rows(iA + 1).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False 'nur Eigenschaften der Zeile (Formate) einfügen
Cells(iA + 1, 15).FormulaR1C1 = "=IF(COUNTIF(Dokumentenänderung!C[-12],Meetings!RC[-6]),""!" _
","""")" _
Application.CutCopyMode = False
Cells(iA + 1, 1).Select
End Sub
Gruß
Rudi

Anzeige
AW: Zeile unten einfügen & format übernehmen
13.06.2016 13:49:38
Sandra
Es hat funktioniert. Fantastisch. Danke!
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Zeile unten einfügen und Format übernehmen in Excel


Schritt-für-Schritt-Anleitung

  1. Öffne Excel und das Arbeitsblatt, in dem Du eine neue Zeile einfügen möchtest.

  2. Markiere die Zeile, unter der Du eine neue Zeile einfügen möchtest.

  3. Öffne den VBA-Editor: Drücke ALT + F11.

  4. Füge ein neues Modul hinzu: Rechtsklick im Projektfenster > Einfügen > Modul.

  5. Kopiere den folgenden VBA-Code in das Modul:

    Sub ZeileUntenEinfuegen()
       Dim iA As Integer
       iA = ActiveCell.Row
       Rows(iA + 1).EntireRow.Insert ' leere Zeile einfügen
       Rows(iA).Copy    'Zeile kopieren
       Rows(iA + 1).PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
       SkipBlanks:=False, Transpose:=False 'nur Eigenschaften der Zeile (Formate) einfügen
       Cells(iA + 1, 15).FormulaR1C1 = "=IF(COUNTIF(Dokumentenänderung!C[-12],Meetings!RC[-6]),""!"","""")"
       Application.CutCopyMode = False
       Cells(iA + 1, 1).Select
    End Sub
  6. Schließe den VBA-Editor und gehe zurück zu Deinem Arbeitsblatt.

  7. Führe das Makro aus: Drücke ALT + F8, wähle ZeileUntenEinfuegen und klicke auf Ausführen.

Jetzt wird eine neue Zeile unterhalb der aktiven Zeile mit dem gleichen Format erstellt, und die Formel wird automatisch in die neue Zeile übernommen.


Häufige Fehler und Lösungen

  • Fehler 1: Das Makro fügt die Zeile nicht korrekt ein.

    • Lösung: Stelle sicher, dass Du eine Zeile markiert hast, bevor Du das Makro ausführst.
  • Fehler 2: Die Formel wird nicht korrekt übernommen.

    • Lösung: Überprüfe die Zellreferenzen in der Formel und passe sie gegebenenfalls an.
  • Fehler 3: Formatierung wird nicht übernommen.

    • Lösung: Stelle sicher, dass Du den richtigen PasteSpecial-Befehl verwendest. Der Code sollte xlPasteFormats enthalten.

Alternative Methoden

  • Excel-Funktion: Du kannst auch die Funktion Einfügen aus dem Kontextmenü verwenden, um eine Zeile manuell hinzuzufügen und anschließend die Formatierung zu kopieren.
  • Tastenkombination: Drücke Strg + Shift + +, um eine neue Zeile unterhalb der aktiven Zeile einzufügen, und nutze anschließend Strg + C und Strg + V, um das Format zu kopieren.

Praktische Beispiele

  1. Beispiel 1: Du hast eine Tabelle mit Umsätzen und möchtest eine neue Zeile für den nächsten Monat hinzufügen. Nutze das Makro, um die Zeile schnell einzufügen und die Formeln automatisch zu übernehmen.

  2. Beispiel 2: In einem Bericht musst Du regelmäßig neue Zeilen für zusätzliche Daten einfügen. Mit dem VBA-Makro kannst Du diesen Prozess automatisieren und Zeit sparen.


Tipps für Profis

  • Makros speichern: Stelle sicher, dass Du Deine Excel-Datei im xlsm-Format speicherst, um die Makros zu behalten.
  • Fehlerbehandlung: Füge Fehlerbehandlungsroutinen in Dein Makro ein, um unerwartete Fehler elegant zu handhaben.
  • Formeln anpassen: Je nach Bedarf kannst Du die eingefügte Formel im Makro anpassen, um spezifische Berechnungen durchzuführen.

FAQ: Häufige Fragen

1. Wie kann ich das Makro in einer anderen Excel-Version nutzen? Das Makro funktioniert in Excel 2016 und neueren Versionen. Ältere Versionen könnten andere Einschränkungen haben.

2. Kann ich das Makro anpassen, um mehrere Zeilen gleichzeitig einzufügen? Ja, Du kannst die Logik im Makro erweitern, um mehrere Zeilen einzufügen, indem Du eine Schleife implementierst.

3. Wie kann ich sicherstellen, dass die Formatierung korrekt übernommen wird? Achte darauf, dass die Zeile, die Du kopierst, die gewünschten Eigenschaften hat. Du kannst auch zusätzliche PasteSpecial-Befehle verwenden, um spezifische Formatierungen zu übernehmen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige