Anzeige
Archiv - Navigation
1900to1904
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Range nur Farbe kopieren

Range nur Farbe kopieren
24.09.2022 14:35:51
JoTu
Hey,
ich habe in Zeile 5 eine bedingte Formatierung von Spalte H bis ABK. Die Farben der bedingten Formatierung möchte ich in die Zeilen 6 bis 250 für die gleichen Spalten H bis ABK kopieren. Die bedingte Formatierung zu erweitern funktioniert nicht, da die Zellen nachträglich andersfarbig gestaltet werden können müssen.
Ich habe es bereits über eine Schleife versucht (Spalten- und Zeilenweise), aber das dauert bis zu 12 Sekunden. Gibt es einen schnelleren Weg, nur die Farben von Range zu Range zu kopieren?
Oder wenn ich das Format kopiere (pastespecial), gibt es eine Möglichkeit, alles außer die Farbe zurückzusetzen? Soweit ich mich auskenne, müsste ich jedes Format abseits der Farbe einzeln zurücksetzen...
Ich freue mich über jede Anregung und Hilfe,
LG, Johannes

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

Betreff
Datum
Anwender
Anzeige
AW: Range nur Farbe kopieren
24.09.2022 15:08:16
Daniel
Hi
Wenn alle Zellen einer Spalte die gleiche Farbe bekommen sollen die dieZelle in der Zeile 5, dann brauchst due nur eine Schleife über die Spalten.
Die Schleife über die Zeilen kannst du weglassen, da du allen Zellen einer Spalte die Farbe in einenem Schrift geben kannst:

Dim Zelle AS Range
For each Zelle in Range("H5:ABK5")
Zelle.Offset(1, 0).Resize(245, 1).Interior.Color = Zelle.Displayformat.interior.Color
Next
Gruß Daniel
AW: Range nur Farbe kopieren
24.09.2022 15:16:42
JoTu
Oh, das ist eine gute Idee und geht deutlich schneller! Über Resize hatte ich es noch nicht versucht. Vielen Dank :)
Anzeige
AW: Range nur Farbe kopieren
24.09.2022 15:56:01
Daniel
Hi
Es muss ja nicht resize sein, gibt noch andere möglichlichkeiten, wenn man Resize nicht kennt:
Intersect(Zelle.EntireColum, Range("6:250"))
Range(Cells(6, Zelle.column), Cells(250, Zelle.Column)
Range("6:250").Columns(Zelle.Column)
Range(Zelle.Offset(1, 0), Zelle.Offset(245, ))
Gruß Daniel

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige