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

Forumthread: Format und Formeln eine Zeile nach unten kopieren

Format und Formeln eine Zeile nach unten kopieren
06.10.2004 17:12:10
Christian
Hallo,
ich habe zwei UserForms zur Eingabe in eine Tabelle. Die Daten werden in die erste freie Zeile geschrieben. Das klappt! Nun soll in dieser Zeile, deren Nummer ja immer unterschiedlich ist, das Format der vorherigen Zeile übernommen werden (Rahmen, Zentrierung etc.) und die Formeln die in allen Zeilen in AL:AO stehen, sollen auch in diese Zeile kopiert werden. Wie kann ich das ans Ende meines Codes anfügen?
Gruß und Dank im Voraus
Christian
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Format und Formeln eine Zeile nach unten kopie
Klaus
Hallo Christian,
so müsste es gehen:
Die Variable FZ ist die Nummer deiner freien Zeile, wenn du einen anderen Variablennamen benutzt, dann bitte im Code anpassen!
Zuerst wird das Format der letzten benutzten Zeile in die neue Zeile kopiert, dann wird der Formelbereich kopiert. Deine Werte aus der Userform erst nach diesem Code übergeben.

Private Sub CommandButton1_Click()
Dim Formelbereich As Range, Zielbereich As Range
Dim FZ
'FZ = Nummer deiner ersten freien Zeile
FZ = 11
'Format der letzten Zeile in die neue Zeile übertragen
With Rows(FZ)
.Offset(-1, 0).Copy
.PasteSpecial Paste:=xlFormats
End With
'Bereiche festlegen
Set Formelbereich = Range(Cells(FZ - 1, 38), Cells(FZ - 1, 41))
Set Zielbereich = Range(Cells(FZ, 38), Cells(FZ, 41))
'Formeln der letzten Zeile in die neue Zeile kopieren
Formelbereich.Copy Zielbereich
'Kopiermodus aufheben
Application.CutCopyMode = False
Cells(FZ, 1).Select
'... dein Code zum Einfügen deiner Werte
End Sub

Gruß Klaus
Anzeige
AW: Format und Formeln eine Zeile nach unten kopie
Christian
Vielen Dank,
aber das Problem ist: Ich kann nicht FZ=11 setzen, weil ich nicht weiß welche Zeile FZ ist. Die muss ausgelesen werden. Meine ActiveCell ist in Zeile FZ die Spalte 1.
Danke im Voraus
Christian
AW: Format und Formeln eine Zeile nach unten kopie
Christian
So sieht jetzt mein Code aus. Und er funktioniert.Danke
Private Sub CommandButton1_Click()
ActiveWorkbook.Sheets("Gesamt").Activate
ActiveSheet.Range("A1").Activate
ActiveCell.SpecialCells(xlLastCell).Select
ActiveCell.Offset(1, -255).Activate
FZ = ActiveCell.Row
With Rows(FZ)
.Offset(-1, 0).Copy
.PasteSpecial Paste:=xlFormats
End With
Set Formelbereich = Range(Cells(FZ - 1, 38), Cells(FZ - 1, 41))
Set Zielbereich = Range(Cells(FZ, 38), Cells(FZ, 41))
Formelbereich.Copy Zielbereich
Application.CutCopyMode = False
Cells(FZ, 1).Activate
'Meine Eingabe
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

Format und Formeln eine Zeile nach unten kopieren


Schritt-für-Schritt-Anleitung

Um das Format und die Formeln einer Zeile in Excel nach unten zu kopieren, kannst du folgenden VBA-Code verwenden. Dieser Code übernimmt das Format der letzten benutzten Zeile und kopiert die Formeln in die neue Zeile:

Private Sub CommandButton1_Click()
    Dim Formelbereich As Range, Zielbereich As Range
    Dim FZ As Long

    ' Bestimme die erste freie Zeile
    ActiveWorkbook.Sheets("Gesamt").Activate
    ActiveSheet.Range("A1").Activate
    ActiveCell.SpecialCells(xlLastCell).Select
    ActiveCell.Offset(1, -255).Activate
    FZ = ActiveCell.Row

    ' Format der letzten Zeile in die neue Zeile übertragen
    With Rows(FZ)
        .Offset(-1, 0).Copy
        .PasteSpecial Paste:=xlFormats
    End With

    ' Bereiche festlegen
    Set Formelbereich = Range(Cells(FZ - 1, 38), Cells(FZ - 1, 41))
    Set Zielbereich = Range(Cells(FZ, 38), Cells(FZ, 41))

    ' Formeln der letzten Zeile in die neue Zeile kopieren
    Formelbereich.Copy Zielbereich
    Application.CutCopyMode = False
    Cells(FZ, 1).Activate
    ' Hier kannst du deinen Code zum Einfügen der Werte hinzufügen
End Sub

Dieser Code funktioniert in Excel und ermöglicht es dir, eine Zeile nach unten zu kopieren, während das Format und die Formeln automatisch übernommen werden.


Häufige Fehler und Lösungen

  • Fehler: "Runtime Error 1004 - Unable to get the SpecialCells property of the Worksheet class"

    • Lösung: Stelle sicher, dass die Tabelle Daten enthält. Wenn die Tabelle leer ist, gibt es keine "SpecialCells", die ausgewählt werden können.
  • Fehler: "Application-defined or object-defined error"

    • Lösung: Überprüfe, ob die Bereiche korrekt definiert sind. Achte darauf, dass die Zeilen und Spalten existieren und nicht außerhalb des gültigen Bereichs liegen.

Alternative Methoden

Wenn du die Formeln ohne VBA kopieren möchtest, kannst du die folgenden Schritte in Excel ausführen:

  1. Wähle die Zeile aus, die du kopieren möchtest.
  2. Drücke Strg + C, um die Zeile zu kopieren.
  3. Wähle die Zelle unter der letzten Zeile aus, in die du die Daten einfügen möchtest.
  4. Drücke Strg + V, um die Zeile einzufügen.
  5. Um das Format zu übertragen, wähle die eingefügte Zeile aus, gehe zu "Start" und klicke auf "Format übertragen".

Diese Methode ist einfacher, hat jedoch Einschränkungen bei der Automatisierung.


Praktische Beispiele

Wenn du das Format und die Formeln in einer Excel-Tabelle kopieren möchtest, die bereits Daten enthält, kannst du die folgenden Schritte befolgen:

  1. Angenommen, du hast eine Tabelle, in der in den Spalten AL bis AO Formeln stehen.
  2. Füge den oben genannten VBA-Code in das entsprechende VBA-Modul ein.
  3. Führe den Code aus, um die Formeln und das Format in die nächste freie Zeile zu übertragen.

Mit dieser Technik kannst du deine Excel-Tabelle effizient verwalten und sicherstellen, dass die Formeln konsistent bleiben.


Tipps für Profis

  • Verwende den Shortcut Strg + D, um Inhalte nach unten zu kopieren, wenn du sicher bist, dass die Zeile direkt über der gewünschten Zeile identisch ist.
  • Erstelle eine Schaltfläche auf deiner Excel-Oberfläche, um den VBA-Code schnell auszuführen, ohne das VBA-Fenster öffnen zu müssen.
  • Achte darauf, dass du die richtigen Zellreferenzen verwendest. Wenn du die Formeln nicht manuell anpassen möchtest, stelle sicher, dass die Zellbezüge relativ sind.

FAQ: Häufige Fragen

1. Wie kann ich das Format einer Zeile ohne VBA kopieren?
Du kannst das Format mit der Funktion "Format übertragen" aus dem Ribbon "Start" kopieren. Wähle die Quelle aus und klicke dann auf das Formatübertragungssymbol.

2. Was ist der Unterschied zwischen dem Kopieren von Werten und dem Kopieren von Formeln?
Das Kopieren von Werten überträgt nur die sichtbaren Daten, während das Kopieren von Formeln auch die zugrunde liegende Logik und Berechnungen mitnimmt.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige