Ich versuche, eine öffentliche const einer Farbe in meinem VBA-Code zu setzen. Normalerweise kann ich verwenden:
%Vor%Allerdings gibt es wegen der RGB-Funktion keinen Weg zur öffentlichen Const. Ich habe diesen RGB-Wert mithilfe eines Online-Konverters in Hex konvertiert, und ich habe B7DEE8
zurückbekommenVerwenden:
%Vor%ergibt eine völlig andere Farbe. Ich denke, das könnte tatsächlich eine RGBA-Farbe sein, und ich habe versucht, B7DEE8__ und die Farbe ziemlich nahe (mit der letzten Ziffer ist B8), aber ich würde gerne wissen, wie man den richtigen Wert tatsächlich finden.
Hinweis: Ich brauche nicht wirklich Code, um dies in hex zu konvertieren, ich muss nur wissen, wie ich es finden kann, weil ich fünf konstante Farben habe, die ich in meinem Excel-Blatt verwende, und ich möchte sie einrichten .
Der Grund für die scheinbare Umkehrung ist, dass die RGB () - Funktion tatsächlich einen BGR-Wert erzeugt.
Genauer gesagt ist das rote Byte das niederwertige Byte und das blaue Byte ist das höherwertige Byte (oder mindestens das dritte von vier).
Versuchen Sie dieses Beispiel im Direktfenster:
%Vor%Beachten Sie, dass das "volle" Byte (255 oder FF) und das "halbvolle" Byte (128 oder 80) auf den gegenüberliegenden Seiten in jedem Ergebnis enden. Deshalb müssen Sie die Hexadezimalkonstante in der umgekehrten Reihenfolge angeben, von der Sie erwarten würden, denselben Wert zu erhalten.
Außerdem müssen Sie keinen Online-Konverter verwenden. Die Funktion Hex () stellt den Hexadezimalwert der ihr zugewiesenen Zahl zur Verfügung, und Int nimmt eine Zeichenfolge im Hexadezimalformat an und gibt den Dezimalwert zurück:
%Vor%Aktualisierung:
Um diese Informationen zum Erstellen Ihrer Hexadezimalkonstanten zu verwenden, führen Sie einfach Ihre RGB () - und Hex () -Anweisungen im Direktfenster wie oben aus (tippen Sie Strg + G, um sie zu öffnen und zu schließen) und verwenden Sie den resultierenden Hex-Wert als deine Konstante. Wenn der Wert weniger als 6 Ziffern lang ist, können Sie ihn links mit Nullen auffüllen, aber das ist technisch nicht notwendig:
%Vor%Kopieren Sie dann diese letzte Zeile in Ihren Code.
OK, das Folgende nimmt die Farbe einer Zelle in Excel 2010 an und stellt einen gültigen Hexcode bereit:
%Vor%Ich habe diesen Code getestet, kann Howards Antwort wirklich nicht folgen
%Vor%