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
Du musst angemeldet sein, um einen Kommentar abzugeben.
Die erste Zeile des Codes:
ist nicht in der innerhalb einer Sub oder Function. Sieht aus wie eine Kopie der Zeile, die Sie bereits in der Sub SetHexColors so würde ich erwarten, brauchen Sie nur auskommentieren oder löschen die erste Zeile. Die einzigen Zeilen code können Sie stellen Sie außerhalb von Subs und Funktionen sind Deklarationen von Variablen und Sachen wie die Option-Anweisungen (z.B. "Option Explicit")