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

Forumthread: bedingte Formatierung kopieren

bedingte Formatierung kopieren
27.11.2012 10:12:16
Snewi
HAllo,
ich habe in meinem Excel Sheet bedingte Formatierungen!
Diese Sheet kopiere ich mir ja und lege eine Kopie an:

Sheets("Bericht").Copy
With ActiveSheet
.Cells.Copy
.Range("A1").PasteSpecial xlPasteValues
.Range("C3").Select
Application.CutCopyMode = False
With .Parent
With .VBProject.VBComponents(ActiveSheet.CodeName).CodeModule
.DeleteLines 1, .CountOfLines
End With
Pfad = Ordner_vorhanden(Verzeichnis, Sheets("Bericht").Range("C3"))
.SaveAs Filename:=Pfad & SpeicherName & ".xlsx", _
FileFormat:=xlOpenXMLWorkbook, CreateBackup:=False
.Close
End With
End With
Die Kopie verschiebt mir leider die Reihenfolge der Regeln bei der bedingten Formatierung!
Was kann ich also tun damit die Formate 1:1 dem original entsprechen?
Gruß

Anzeige

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bedingte Formatierung kopieren
27.11.2012 17:34:10
Hajo_Zi
Mit dem Code werden Werte übertragen keine Formate.
Ich teste den Code nicht, da ich Zugriff auf VBA Projekt nicht zulasse.

AW: bedingte Formatierung kopieren
28.11.2012 08:23:36
Snewi
Guten Morgen,
OK was müsste ich am Syntax ändern, dass auch Formate mitkopiert werden?
xlPasteValuesAndNumberFormats habe ich versucht es ändert sich aber nichts!
Gruß

Anzeige
probier mal den Macrorecorder - owT
28.11.2012 12:55:48
robert

AW: probier mal den Macrorecorder - owT
28.11.2012 14:00:12
Snewi
Habe ich doch und der sagt mir xlPasteValuesAndNumberFormats! Wenn ich es einzeln mache, also erst Werte und dann nochmal Formate scheint es zu gehen! Wo müsste ich das xlPasteFormats dann bei meinem Code noch mit einbauen?
Gruß

AW: probier mal den Macrorecorder - owT
29.11.2012 00:40:13
Matze,Matthias
Hallo Snewi,
könnte es denn an der "bedingten" Formatierung liegen? Poste die doch mal.
Matze

Anzeige
das zeichnet mein Recorder auf....
29.11.2012 07:39:14
robert
Selection.PasteSpecial Paste:=xlPasteAllMergingConditionalFormats, Operation _
:=xlNone, SkipBlanks:=False, Transpose:=False
Gruß
robert

AW: das zeichnet mein Recorder auf....
29.11.2012 14:30:49
Snewi
das kann ich aber nicht nutzen :-(
ich möchte in meinem Code:

With ActiveSheet
.Cells.Copy
.Range("A1").PasteSpecial xlPasteValues
.Range("C3").Select
Application.CutCopyMode = False
noch zusätzlich das xlPasteFormats anwenden! Wie mache ich das?
So?:

With ActiveSheet
.Cells.Copy
.Range("A1").PasteSpecial xlPasteValues
.Range("A1").PasteSpecial xlPasteFormats
.Range("C3").Select
Application.CutCopyMode = False
Gruß

Anzeige
AW: das zeichnet mein Recorder auf....
01.12.2012 18:58:24
schauan
Hallo snewi,
ja, man kann die Paste mehrfach ausführen. Hast Du bestimmt schon ausprobiert ...
Grüße, André

AW: das zeichnet mein Recorder auf....
03.12.2012 09:08:47
Snewi
Moin,
also ich versteh es einfach nicht! Meine bedingte Formatierung vor der Kopie und danach:
Userbild
Was kann ich noch tun, dass beide Reihenfolgen einfach gleich sind?
Gruß

Anzeige
ich würd versuchen ...
03.12.2012 09:33:57
Klaus
... die bedingten Formatierungen nicht zu kopieren, sondern per VBA zu setzen. Makrorekordere dir halt einmal den gesamten Vorgang des "bedingte Formatierungen definieren" und flicke den Rekorder Code 1:1 in deinen Code, direkt nach dem Paste. Oder setzt hier einfach einen "call" auf das augezeichnete Makro.
Wenn du ganz mutig bist, schaust du dir den Rekordercode noch Zeile für Zeile an und nimmst die unmengen von .select und selection. heraus die das erzeugt hat.
Um sicherzugehen, verschiebe die Reihenfolge der bedingten Formatierungen gar nicht erst, sondern zeichne sie gleich in der richtigen Reihenfolge auf. Dann müsste das eigentlich klappen.
Aus akademischen Gründen interessiert mich allerdings, wie und weshalb da die Reihenfolge verändert wird. Magst du deine fehlerhafte Datei hochladen? Vielleicht aufs Problem reduziert, dH. nur eine Seite mit 2 oder 3 bedingt formatierten Zellen und dem fraglichen Codefetzen.
Grüße,
Klaus M.vdT.
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige
Anzeige

Infobox / Tutorial

Bedingte Formatierung in Excel kopieren und übertragen


Schritt-für-Schritt-Anleitung

  1. Kopiere das gesamte Arbeitsblatt:

    Sheets("Bericht").Copy
  2. Wähle die Zellen aus, die du kopieren möchtest:

    With ActiveSheet
       .Cells.Copy
  3. Füge die Werte ein:

       .Range("A1").PasteSpecial xlPasteValues
  4. Übertrage die bedingte Formatierung:

       .Range("A1").PasteSpecial xlPasteFormats
  5. Schließe den Vorgang ab:

       .Range("C3").Select
       Application.CutCopyMode = False
    End With

Um die bedingte Formatierung in ein anderes Tabellenblatt zu kopieren, kannst du die gleichen Schritte befolgen, indem du das Ziel-Tabellenblatt in der Range-Anweisung änderst.


Häufige Fehler und Lösungen

  • Problem: Die Reihenfolge der bedingten Formatierungen stimmt nicht überein.

    • Lösung: Achte darauf, dass du die Formatierungen in der richtigen Reihenfolge anwendest. Nutze ggf. xlPasteAllMergingConditionalFormats, um Änderungen zu vermeiden.
  • Problem: Formate werden nicht korrekt übertragen.

    • Lösung: Stelle sicher, dass du sowohl Werte als auch Formate nacheinander überträgst. Verwende zwei PasteSpecial-Befehle hintereinander.

Alternative Methoden

  • VBA Makro: Erstelle ein VBA-Skript, um die bedingte Formatierung automatisch zu setzen, anstatt sie zu kopieren. Hier ist ein Beispiel:

    Sub FormatierungenSetzen()
       ' Füge hier deine Regeln für die bedingte Formatierung ein.
       With ActiveSheet
           .Range("A1:A10").FormatConditions.Add Type:=xlCellValue, Operator:=xlGreater, Formula1:="=10"
           .Range("A1:A10").FormatConditions(1).Interior.Color = RGB(255, 0, 0)
       End With
    End Sub
  • Google Sheets: Wenn du mit Google Sheets arbeitest, kannst du die bedingte Formatierung ebenfalls kopieren. Nutze die Funktion "Format kopieren" für eine einfache Übertragung.


Praktische Beispiele

  1. Bedingte Formatierung von Zellen: Wenn du Zellen basierend auf ihrem Wert einfärben möchtest, setze folgende Regel in VBA:

    With Range("B1:B10").FormatConditions.Add(Type:=xlCellValue, Operator:=xlLess, Formula1:="=5")
       .Interior.Color = RGB(0, 255, 0) ' Grün für Werte unter 5
    End With
  2. Kopieren von bedingten Formatierungen zwischen Arbeitsblättern:

    Sheets("Tabelle1").Range("A1:A10").Copy
    Sheets("Tabelle2").Range("A1").PasteSpecial Paste:=xlPasteAllMergingConditionalFormats

Tipps für Profis

  • Nutze den Macro-Recorder, um den richtigen VBA-Code für deine bedingte Formatierung zu generieren.
  • Achte darauf, dass die Reihenfolge der bedingten Formatierungen in Excel beachtet wird, um unerwartete Ergebnisse zu vermeiden.
  • Verwende xlPasteAllMergingConditionalFormats, wenn du bedingte Formatierungen zusammen mit anderen Formaten kopieren möchtest.

FAQ: Häufige Fragen

1. Wie kann ich die bedingte Formatierung in eine andere Datei kopieren? Um die bedingte Formatierung in eine andere Datei zu kopieren, öffne die Ziel-Datei und verwende die PasteSpecial-Methode, um die bedingten Formate zu übertragen.

2. Gibt es eine Möglichkeit, die bedingte Formatierung fortlaufend zu kopieren? Ja, du kannst eine Schleife in VBA verwenden, um die bedingte Formatierung fortlaufend auf eine Reihe von Zellen anzuwenden. Achte darauf, die Formatierungsregeln in der gewünschten Reihenfolge anzuwenden.

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige