Füllen Sie eine Zelle mit der Farbe, die Sie basierend auf der HEX-Wert in Excel 2013

Ich habe eine Tabelle mit Zellen, in die Eine Spalte mit Farben in Ihre HEX-format. Ist es möglich, füllen Sie die angrenzende Zelle automatisch mit der passenden Farbe den HEX-Wert?

Aus der Forschung getan werden, bis jetzt verstehe ich den VBA sollte zuerst konvertieren des HEX-string um es in den RGB-Korrespondent und füllen Sie dann die Zelle die Farbe mit dem Ergebnis.

E. g.: wenn A1 enthält den Wert "7fcac3" (oder "#7fcac3" aber ich glaube nicht, dass das Pfund erforderlich ist), den VBA füllen sollten, die benachbarte B-Zelle mit RGB (127,202,195).

Unten ist ein Beispiel, wie die VBA Aussehen könnte, gefunden (hier). Das problem ist, dass ich eine "Compile Error: Invalid outside procedure" Fehler in Excel 2013.

For i = 1 To LastRow

Sub SetHexColors()
Dim i, LastRow
LastRow = Range("A" & Rows.Count).End(xlUp).Row
For i = 1 To LastRow
Cells(i, "B").Interior.Color = HEXCOL2RGB(Cells(i, "A"))
Next
End Sub

Public Function HEXCOL2RGB(ByVal HexColor As String) As String
Dim Red As String, Green As String, Blue As String
HexColor = Replace(HexColor, "#", "")
Red = Val("&H" & Mid(HexColor, 1, 2))
Green = Val("&H" & Mid(HexColor, 3, 2))
Blue = Val("&H" & Mid(HexColor, 5, 2))
HEXCOL2RGB = RGB(Red, Green, Blue)
End Function 

Vielen Dank,
Mathieu

InformationsquelleAutor Mathieu | 2014-07-14
Schreibe einen Kommentar