VisualBasic Excel - Schriftfarbe übertragen

prius

Cadet 4th Year
Registriert
Feb. 2011
Beiträge
83
Hi,

ich hab versucht ein Excel 2010 Makro zu erzeugen das eine bestimmte Zelle abfragt nach der Farbe der Schrift. Die Information soll danach auf eine andere Zelle übertragen werden.

Meine Versuche waren eher mäßig erfolgreich. Als letztes hab ich es dann über die Makro aufzeichnen Funktion probiert aber das ist eigentlich auch Müll, da die Tabelle dann anfängt zu "flackern", da ja jedesmal Aktivierungs Befehle gesetzt werden.

Habt ihr da eventuell eine Idee, wie das am simpelsten zu verwirklichen ist ohne das die Tabelle "flackert"? :)

Grüße
 
Im Prinzip geht das wirklich sehr einfach, denn die Schriftfarbe einer Zelle lässt sich sowohl auslesen als auch setzen mit .Font.ColorIndex. Um die Farbe von der Ursprungszelle zu übernehmen und die Zielzelle zu formatieren, reicht schon eine einzelne Zeile Code:

Code:
Range("B1").Font.ColorIndex = Range("A1").Font.ColorIndex

Dort wird die Schriftfarbe aus der Zelle A1 ausgelesen und in die Zelle B1 übertragen. Natürlich ist dieser Code nicht sehr flexibel, weil damit als Ziel immer nur die Zelle B1 möglich ist. Eine mögliche Erweiterung des Codes wäre also, dass die Schriftfarbe nur auf Zellen übertragen werden soll, die gerade markiert sind:

Code:
Range(Selection.Address).Font.ColorIndex = Range("A1").Font.ColorIndex

Egal ob der Fokus gerade in einer Zelle liegt oder du mehrere Zellen, Zeilen oder Spalten markiert hast, die Schriftfarbe aus A1 wird auf die ganze Markierung übertragen.
 
Zurück
Oben