Hallo,
mir ist zwar nicht ganz klar, was du von wo nach wo "übernehmen" willst,
aber da du die Frage in einem VBA-Forum stellst, nehme ich an, dass du
wissen wolltest, wie die Schriftfarbe in VBA festgelegt wird. Sie ist eine
Eigenschaft des Font-Objektes, und dieses wiederum betrifft, soweit es um
die Zellformatierung geht, entweder das Range- (ganze Zelle) oder das
Characters-Objekt (Teile davon).
Genau genommen gibt es zwei Eigenschaften, die die Schriftfarbe festlegen
oder zurückgeben, nämlich Color oder ColorIndex. Color gibt einen Long-Wert
zurück, dessen untere 8 Bit den Rotanteil, die mittleren den Grün-und die
oberen den Blauwert angeben.
Beispiel:
Dim c As Long
c = ActiveCell.Font.Color
Zum Festlegen der Color-Eigenschaft wird die RGB-Funktion benutzt:
Dim r As Integer, g As Integer, b As Integer
r = 128 ' Rot, 0 bis 255
b = 0 ' Grün
b = 255 ' Blau
ActiveCell.Font.Color = RGB(r, g, b)
Aber das ist eigentlich ein bisschen Overkill, weil Excel sowieso nur eine
Farbpalette mit 56 Farben verwendet und davon abweichende Nuancen
gar nicht darstellen kann. Diese 56 Farben entsprechen den ColorIndex-
Werten.
Dim ci As Integer
ci = ActiveCell.Font.ColorIndex
ActiveCell.Offset(0, 1).Font.ColorIndex = ci
Der spezielle Wert xlColorIndexAutomatic entspricht dem Feld "Automatisch"
bei der manuellen Farbauswahl.
Die Füllfarbe einer Zelle wird durch die Interior-Eigenschaft festgelegt oder
zurückgegeben:
Cells(1, 1).Interior.ColorIndex = 3
Cells(1, 2).Interior.ColorIndex = xlColorIndexNone ' keine Farbe
Cells(1, 3).Interior.Color = vbGreen
Die letzte Zeile zeigt eine weitere Möglichkeit durch Verwendung der in VBA
integrierten Farbkonstanten. Das Thema Farbe ist damit noch lange nicht
abgehandelt, weil es bei Shapes und Charts einige Unterschiede gibt, aber
vielleicht ist es damit erst mal genug.
Gruß
|