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

Forumthread: VBA Excel Formatierung beim kopieren erhalten

VBA Excel Formatierung beim kopieren erhalten
25.01.2006 09:36:46
Philipp
Hallo,
Schreibe gerade ein Makro. Ich wende mich an euch, da ich es nicht schaffe, die Formatierung eines Tabellenblattes, genauer gesagt, nur die ersten 3 Zeilen, zu kopieren und diese in ein bereits geöffnetes leeres Tabellenblatt mit allen Formatierungen zu kopieren.
Formatierung heißt: Zusammengefügte Zellen, farbig hinterlegte Zellen, Fett,...... das ganze Programm eben.
Kann mir jemand weiterhelfen?
Vielen Dank
Philipp
Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Excel Formatierung beim kopieren erhalten
25.01.2006 09:45:12
J.Becker
Hallo Philipp,
versuch mal folgendes:
Windows("Datei1").Activate
Rows("1:3").Copy
Windows("Datei2").Activate
Range("A1").Select
Selection.PasteSpecial Paste:=xlPasteFormats, Operation:=xlNone, _
SkipBlanks:=False, Transpose:=False
Ciao Jörg
AW: VBA Excel Formatierung beim kopieren erhalten
27.01.2006 08:28:29
Philipp
Hi Jörg,
sorry die späte Meldung. Habe deinen Vorschlag ausprobiert. Und? FUNKTIONIERT KLASSE. Bseten Dank dafür
Philipp
Anzeige
AW: VBA Excel Formatierung beim kopieren erhalten
25.01.2006 09:51:25
sönke
Hi!
Nimm doch den Makrorecorder und zeichne alles von Hand auf. Kopieren ... Inhalt einfügen .... usw.
Dann hast Du nachher alles, was Du brauchst.
Gruß
Sönke
AW: VBA Excel Formatierung beim kopieren erhalten
27.01.2006 08:30:00
Philipp
Morgen Sönke.
der gute alte Makroeditor, wie konnte ich ihn nur vergessen. Hilft aber viel. Danke.
Problem damit gelöst.
DANKE
Philipp
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Anzeige

Infobox / Tutorial

VBA Excel Formatierung beim Kopieren Erhalten


Schritt-für-Schritt-Anleitung

Um die Formatierung beim Kopieren in Excel mit VBA zu erhalten, kannst du folgende Schritte befolgen:

  1. Makro-Editor öffnen:

    • Drücke ALT + F11, um den VBA-Editor zu öffnen.
  2. Neues Modul hinzufügen:

    • Klicke mit der rechten Maustaste auf ein beliebiges Objekt im Projekt-Explorer und wähle Einfügen -> Modul.
  3. Code einfügen:

    • Füge den folgenden Code ein, um die ersten drei Zeilen von einem Arbeitsblatt zu kopieren und in ein anderes Arbeitsblatt einzufügen:
    Sub FormatKopieren()
       Windows("Datei1.xlsm").Activate
       Rows("1:3").Copy
       Windows("Datei2.xlsm").Activate
       Range("A1").Select
       Selection.PasteSpecial Paste:=xlPasteAllUsingSourceTheme, Operation:=xlNone, SkipBlanks:=False, Transpose:=False
    End Sub
  4. Makro ausführen:

    • Schließe den VBA-Editor und drücke ALT + F8, wähle FormatKopieren und klicke auf Ausführen.

Häufige Fehler und Lösungen

  • Fehler: Das Makro kopiert nur die Werte und nicht die Formatierung.

    • Lösung: Stelle sicher, dass du Paste:=xlPasteAllUsingSourceTheme oder Paste:=xlPasteFormats verwendest, um die Formatierung zu beibehalten.
  • Fehler: Das Zielarbeitsblatt öffnet sich nicht.

    • Lösung: Verwende den vollständigen Dateinamen und stelle sicher, dass das Zielarbeitsblatt offen ist.

Alternative Methoden

Eine Alternative zur Verwendung von VBA ist die Verwendung der Funktion „Einfügen mit Formatierung“ in Excel:

  1. Zellen kopieren (Rechtsklick auf die Zelle -> Kopieren).
  2. Zielzelle auswählen und dann Rechtsklick -> Einfügen mit Formatierung.

Diese Methode funktioniert gut, wenn du keine Programmierung verwenden möchtest.


Praktische Beispiele

  • Bedingte Formatierung kopieren: Du kannst die bedingte Formatierung von einem Arbeitsblatt auf ein anderes übertragen, indem du das gleiche Prinzip wie oben anwendest. Nutze xlPasteFormats in deinem VBA-Code, um nur die Formatierung zu kopieren.

  • Formatierung auf alle Tabellenblätter übertragen: Wenn du die Formatierung auf alle Tabellenblätter übertragen möchtest, kannst du eine Schleife im VBA verwenden, um durch die Blätter zu iterieren.

Sub FormatAufAlleBlätterÜbertragen()
    Dim ws As Worksheet
    For Each ws In ThisWorkbook.Worksheets
        ws.Rows("1:3").Copy
        ws.PasteSpecial Paste:=xlPasteFormats
    Next ws
End Sub

Tipps für Profis

  • Makrorecorder verwenden: Der Makrorecorder kann eine schnelle Möglichkeit sein, häufige Aufgaben zu automatisieren und den VBA-Code zu generieren, ohne dass du ihn manuell schreiben musst.

  • VBA-Funktionen: Nutze Funktionen wie Application.CutCopyMode = False, um den Kopiermodus nach dem Einfügen zu beenden.

  • Fehlerbehandlung: Implementiere Fehlerbehandlung in deinem VBA-Code, um unerwartete Probleme zu vermeiden. Nutze On Error Resume Next für eine einfache Fehlerbehandlung.


FAQ: Häufige Fragen

1. Wie kann ich nur die Formatierung ohne Inhalte kopieren? Du kannst die Methode xlPasteFormats verwenden, um nur die Formatierung zu übertragen. Achte darauf, dass du die Zellen vorher kopierst.

2. Kann ich die bedingte Formatierung auf ein anderes Tabellenblatt übertragen? Ja, du kannst die bedingte Formatierung kopieren, indem du die oben beschriebenen Methoden anwendest. Verwende xlPasteFormats, um die Formatierungsregeln zu übertragen.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige