Ich habe versucht, die Hintergrundfarbe einer Zelle schrittweise in Schwarz zu ändern, und ich habe festgestellt, dass die Methode "Range.Interior.Color" ein Long zurückgibt, das scheinbar willkürlich ist. Wenn Sie sich die Dokumentation auf MSDN ansehen, gibt es fast nichts darüber, was diese Nummer darstellt. Gibt es eine Möglichkeit, den RGB-Wert von dieser Länge zurückzugeben. Ich brauche effektiv das Gegenteil der RGB-Funktion (rot, grün, blau).
Kurze Antwort:
Es gibt keine eingebaute Funktionalität dafür. Sie müssen Ihre eigene Funktion schreiben.
Lange Antwort:
Die Länge, die von der Eigenschaft Interior.Color zurückgegeben wird, ist eine Dezimalumwandlung der typischen Hexadezimalzahlen, die wir für Farben in HTML, z. "66FF66". Zusätzlich kann die Konstante xlNone (-4142) an set cell übergeben werden, um keine Farbe im Hintergrund zu haben, jedoch werden solche Zellen als weiß RGB(255, 255, 255)
von der Eigenschaft Get
markiert. Wenn wir dies wissen, können wir eine Funktion schreiben, die einen oder alle geeigneten RGB-Werte zurückgibt.
Zum Glück hat ein freundlicher Mr. Allan Wyatt genau das hier getan!
Diese "beliebige" Zahl ist eine mathematische Kombination der RGB-Werte (R * 256 ^ 2 + G * 256 + B) und eine Umwandlung des Hex-Farbwerts in eine Dezimalzahl (Basis 16 bis Basis 10) auf welchem Weg du es anschauen willst. Nur verschiedene Basen. Unten ist die Methode, die ich in der XLAM-Add-Datei verwende, die ich für Excel geschrieben habe. Diese Methode hat sich oft bewährt. Ich habe die Dokumentation in meine Add-In-Datei eingefügt.
%Vor%Die andere Antwort hat bei mir nicht funktioniert. Ich habe das gefunden:
%Vor%und es hat richtig funktioniert.