Ich habe eine Tabelle mit Zellen in der Spalte A mit Farben in ihrem HEX-Format. Ist es möglich, die benachbarte Zelle automatisch mit der Farbe zu füllen, die dem HEX-Wert entspricht?Füllen Sie eine Zelle mit Farbe auf der Grundlage seiner HEX-Wert in Excel 2013
Aus der bis jetzt durchgeführten Forschung verstehe ich, dass der VBA zuerst die HEX-Zeichenfolge in seinen RGB-Korrespondenten konvertieren und dann die Zellenfarbe mit dem Ergebnis füllen soll.
Zum Beispiel: wenn A1 den Wert "7fcac3" enthält (oder "# 7fcac3", aber ich glaube nicht, dass das Pfund erforderlich ist), sollte der VBA die benachbarte B-Zelle mit RGB füllen (127,202,195).
Unten ist ein Beispiel, wie der VBA aussehen könnte, gefunden (here). Das Problem ist, dass ich ein "Kompilierfehler: Ungültige außerhalb Prozedur" get 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
Jetzt ist es auch aus den Anweisungen des Autors ersichtlich, danke, dass Sie das herausgebracht haben :) – Mathieu