Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: nur bedingte Formatierung kopieren

nur bedingte Formatierung kopieren
Rosa
Hallo,
ich suche jetzt schon eine weile nach einer Lösung für dieses Problem:
Wir haben viele Tabellen, die manuell grau-weiß-grau-weiß eingefärbt sind.
Diese wollen wir jetzt mit einer bedingten Formatierung hinterlegen, da immer wieder Zeilen hinzukommen.
Ich möchte vermeiden, in jeder Tabelle einzeln die bedingte Formatierung eingeben zu müssen.
Jedoch wenn wir die bedingte Formatierung kopieren, werden auch alle anderen Formateinstellungen überschrieben. Das soll aber nicht. Fett/Normal, Schriftgröße soll in den Tabellen erhalten bleiben und ist jeweils unterschiedlich.
Gibt es eine Möglichkeit, nur die bedingte Formatierung zu kopieren? Ich weiß, mit STRG+ALT+C kann ich das Dialogfenster öffnen aber wenn ich dort alle zusammenführenden bedingten formate wähle, wird dennoch Schriftgröße, Fett etc mitkopiert.
Vielen Dank schon jetzt
Anzeige
AW: nur bedingte Formatierung kopieren
19.07.2012 23:02:12
Matze,Matthias
Hallo Rosa,
mach erst eine Kopie deiner Mappe falls dir die Lösung nicht zusagt.
Jede 2te Zeile im einfärben
1. den Bereich markieren
2. bedingte Formatierung öffnen
3. Formel eingeben =REST(ZEILE();2)=1
4. Farbe auswählen
fettich.
Gruß Matze
AW: nur bedingte Formatierung kopieren
19.07.2012 23:05:24
Rosa
Hallo Matze,
die Formel ist mir bekannt. Nur wollte ich sie nicht in jeder einzelnen Tabelle eintippel, da es sehr viele Tabellen sind, sondern ich wollte eine vorlage machen, aus der man die Formatierung rauskopiert.
Anzeige
AW: nur bedingte Formatierung kopieren
19.07.2012 23:13:06
Matze,Matthias
Hallo Rosa,
Da man ja nicht alle Tabellen gleichzeitig mit bedingter Formatierung bearbeiten kann,
hilft da nur eine VBA Lösung.
Da wiederum müßte man wissen- sehen die Tabellenbereiche alle gleich aus.
Oder kann man sagen:
Ab Zeile bis Zeile u. von Spalte zu Spalte , als wäre es eine DinA4 Seite mit abwechselden Farbreihen.
Nur das Format kann auf der selben Seite mit dem Pinselwerkzeug übertragen werden.
Gruß Matze
Anzeige
AW: nur bedingte Formatierung kopieren
19.07.2012 23:17:44
Rosa
Hallo Matze,
genau das ist ja mein Problem: ich möchte NICHT die gesamte Formatierung übertragen, sondern nur die bedingte Formatierung
AW: nur bedingte Formatierung kopieren
19.07.2012 23:21:06
Matze,Matthias
Hallo Rosa,
du hast meine Fragen nicht beantwortet:
-sehen die Tabellen alle gleich aus ?
-könnte man davon ausgehen einen festen Bereich für alle Tabellen zu nehmen?
-ich bin dabei dir eine Musterdatei zu machen- aber ich kenne den Aufbau deiner Tabellen nicht
Matze
Anzeige
AW: nur bedingte Formatierung kopieren
19.07.2012 23:23:49
Rosa
Hallo Matze,
die Tabellen sind alle unterschiedlich.
Ich hatte überlegt, ob man sich eine Zellenformatvorlage erstellen könnte, aber da finde ich nur die üblichen Formatierungsmöglichkeiten.
Es muss aber eine bedingte Formatierung sein, da oft Zeilen eingefügt werden und grau-weiß-grau-weiß erhalten bleiben soll
Anzeige
Du musst doch nicht wissen wie die Tabellen ...
19.07.2012 23:30:36
Luc:-?
genau aufgebaut sind, Matze,
sondern höchstens die Koordinaten des TabBereichs! Aber auch das kann man nachträglich über eine PgmKonstante variabel änderbar gestalten. Alles andere läuft dann nach dem Schema: Wenn BedFmt in QuellTab vorhanden, dann zellweise (bzw da xl14 → geltungsbereichweise) auslesen und ebenso in ZielTab in analogen Bereich eintragen. Fertig!
Gruß Luc :-?
Anzeige
@Luc, dann uebernimm,...
19.07.2012 23:59:54
Matze,Matthias
du bitte das Ruder, ist für mich wird es zu kompliziert.
Auf deine Lösung bin ich neugierig, denn die werde ich mir dann sichern.
Sowas kann man ja schließlich immer mal gebrauchen.
Gruß Matze
AW: nur bedingte Formatierung kopieren
20.07.2012 10:41:56
JoWe
Hallo ihr 3,
könnte die Bedingte Formatierung in den einzelnen Tabellen über das aktivieren-Ereignis nicht durch ein selbst erstelltes AddIn jeweils neu gesetzt werden? Z.B. so:
Sub setze_Bedingte_Formatierung()
Dim dl As Long
For dl = 1 To ThisWorkbook.Sheets.Count     'hier könnten Bedingungen gesetzt weden
With Sheets(dl).UsedRange
On Error Resume Next
.FormatConditions.Delete
.FormatConditions.Add _
Type:=xlExpression, Formula1:="=REST(ZEILE();2)=0"
.FormatConditions(.FormatConditions. _
Count).SetFirstPriority
With .FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.249946592608417
End With
End With
Next
End Sub

Gruß
Jochen
Anzeige
@JoWe,...
20.07.2012 11:25:19
Matze,Matthias
Hi Jowe,
genau das hatte ich gestern schon im Hinterkopf,war mir aber mit dem UsedRange noch im unklaren
darüber ob Sie sowas braucht.
Noch eine Andere Frage: Die Formel =Rest(Zeile();2)=0 fängt ja immer in der "ersten" Zeile an.
Nun habe ich den UsedRange aber Z.B.: B3:I27 somit würde er mir mit einer "nicht gefärbten Zeile"
beginnen. Wie mache ich das er den Startpunkt des UsedRange als Zeile1 erkennt?
Das ganze muss ja wieder in eine Schleife, da er ja jedes Tabellenblatt nach den UsedRange Startpunkt abfragen muss.
Lösungsansatz in etwas so: ab der Startzeile
Wenn Startpunkt ungerade Zeile dann =Rest(Zeile();2)=1 , wenn gerade dann =Rest(Zeile();2)=0
Ich bekomme das mit dem Startpunkt nicht hin.
Gruß Matze
Anzeige
Codeverbesserung gesucht!
20.07.2012 14:01:50
Matze,Matthias
Hallo @ All,
Nur erstes Sheet wird hier formatiert, wo ist mein Gedankenfehler?
Auf jedem Sheet soll er die erste benutzte Zeile finden und dann den entsprechenden
Code starten um den UsedRange zu formatieren.
Bitte schaut euch den Code mal an ,anbei : https://www.herber.de/bbs/user/81102.xlsm
Dankender Matze
Anzeige
AW: Codeverbesserung gesucht!
20.07.2012 15:12:15
JoWe
Hallo,
vllt so?
Sub setzeBdFg_Gerade()
Dim dl As Long
Dim op As String
For dl = 1 To Sheets.Count     'hier könnten Bedingungen gesetzt weden
Select Case Sheets(dl).Range(Left(Sheets(dl).UsedRange. _
Address, InStr(1, Sheets(dl).UsedRange.Address, ":") - 1)).Row Mod 2
Case Is = 1
op = "=REST(ZEILE();2)=1"
Case Is = 0
op = "=REST(ZEILE();2)=0"
End Select
With Sheets(dl).UsedRange
On Error Resume Next
.FormatConditions.Delete
.FormatConditions.Add _
Type:=xlExpression, Formula1:=op
.FormatConditions(.FormatConditions. _
Count).SetFirstPriority
With .FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.ThemeColor = xlThemeColorDark1
.TintAndShade = -0.249946592608417
End With
End With
Next
End Sub

Gruß
Jochen
Anzeige
@JoWe; Besten Dank....
20.07.2012 15:41:05
Matze,Matthias
genauso sollte es sein.
allerdings muss ich mir das:
Select Case Sheets(dl).Range(Left(Sheets(dl).UsedRange. _
Address, InStr(1, Sheets(dl).UsedRange.Address, ":") - 1)).Row Mod 2
nochmal genauer ansehen, verstehe das noch nicht genau, daher ein paar Fragen dazu
a) du holst mit Left und InStr die Adresse der ersten "leeren" Zelle?
b) der ":" dient der Trennung des Adressbezuges?
c) Warum -1?
d) InStr(1, ist da Zeile1 gemeint?
Anzeige
AW: @JoWe; Besten Dank....
20.07.2012 16:30:28
JoWe
Hi,
zu a) genau
zu b) korrekt
zu c) der Doppelpunkt soll ja im Adressbezug nicht mehr erscheinen
zu d) nein, die 1 steht die Suche ab dem 1 Zeichen des zu durchsuchenden Strings
mit der Funktion Sheets(dl).Range(Left(Sheets(dl).UsedRange.Address, InStr(1, Sheets(dl).UsedRange.Address, ":") - 1)).Row Mod 2 erhalte ich ein 0 für eine gerade Zeile / eine 1 für eine ungerade Zeile der linken obersten Zelle des UsedRange.
Reicht Dir das?
Gruß
Jochen
Anzeige
AW: noch was...
20.07.2012 16:38:08
JoWe
kürzer:
habe gerade festgestellt dass die instr-Geschichte überflüssig ist, mit .UsedRange.row erhalte ich die Zeile der linken oberen Zelle des UsedRange viel einfacher:
Select Case Sheets(dl).UsedRange.Row Mod 2
Gruß
Jochen
Danke Jochen ,.. owT
20.07.2012 16:49:09
Matze,Matthias
;

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

Nur bedingte Formatierung kopieren in Excel


Schritt-für-Schritt-Anleitung

Um nur die bedingte Formatierung in Excel zu kopieren, ohne die Inhalte oder anderen Formateinstellungen zu überschreiben, kannst du die folgenden Schritte befolgen:

  1. Bereich auswählen: Markiere die Zellen, die die bedingte Formatierung enthalten, die du kopieren möchtest.
  2. Kopieren: Drücke STRG + C, um die Zellen zu kopieren.
  3. Zielbereich auswählen: Klicke auf die Zelle, in die du die bedingte Formatierung übertragen möchtest.
  4. Einfügen Spezial: Klicke mit der rechten Maustaste und wähle „Inhalte einfügen“ oder drücke STRG + ALT + V.
  5. Bedingte Formatierung auswählen: Im Dialogfeld, das sich öffnet, wähle „Formate“ aus und klicke auf „OK“.

Damit wird nur die bedingte Formatierung ohne Inhalt übertragen.


Häufige Fehler und Lösungen

  • Fehler: „Bedingte Formatierung kopieren funktioniert nicht“: Stelle sicher, dass du im Einfügen-Spezial-Diaglogfeld die Option „Formate“ wählst.

  • Fehler: „Bedingte Formatierung kopieren ohne Zellbezug“: Achte darauf, dass die Zielzellen denselben Zellbezug haben wie die Quellzellen, um die Formatierung korrekt zu übernehmen.


Alternative Methoden

  • VBA-Lösung: Wenn du mehrere Tabellen oder Bereiche hast, kann ein VBA-Skript hilfreich sein. Hier ist ein einfaches Beispiel:
Sub BedingteFormatierungKopieren()
    Dim rngQuelle As Range
    Dim rngZiel As Range

    Set rngQuelle = Sheets("Quellblatt").Range("A1:A10") 'Quellbereich
    Set rngZiel = Sheets("Zielblatt").Range("A1:A10") 'Zielbereich

    rngQuelle.FormatConditions.Copy
    rngZiel.FormatConditions.PasteSpecial
End Sub
  • Format übertragen: Du kannst auch das Formatierungswerkzeug in der Symbolleiste verwenden, um die bedingte Formatierung zu übertragen, ohne den Inhalt zu ändern.

Praktische Beispiele

  1. Zebra-Streifen in einer Tabelle: Wenn du eine Tabelle mit abwechselnd gefärbten Zeilen erstellen möchtest, kannst du die bedingte Formatierung nutzen, um das Format auf andere Zellen zu übertragen, beispielsweise mit der Formel =REST(ZEILE();2)=0.

  2. Farben auf ein anderes Tabellenblatt übertragen: Um die bedingte Formatierung auf ein anderes Tabellenblatt in Excel zu kopieren, folge der oben beschriebenen Methode oder nutze VBA.


Tipps für Profis

  • Verwende die Funktion „Bedingte Formatierung“ in Excel, um dynamische Formate zu erstellen, die sich automatisch anpassen, wenn du Daten hinzufügst oder änderst.

  • Speichere häufig verwendete bedingte Formatierungen als Vorlage, um Zeit zu sparen.

  • Teste deine bedingte Formatierung in einer Kopie der Datei, um unerwünschte Änderungen zu vermeiden.


FAQ: Häufige Fragen

1. Wie kann ich bedingte Formatierung kopieren, ohne Werte zu übertragen?
Nutze die Funktion „Inhalte einfügen“ und wähle „Formate“ aus, um nur die Formatierungen zu kopieren.

2. Funktioniert die bedingte Formatierung auch in Excel 365?
Ja, die beschriebenen Methoden zur Übertragung der bedingten Formatierung sind in Excel 365 anwendbar und funktionieren einwandfrei.

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