Excel Farbe in HTML-Farbwert wandeln

Hierzu kann z.B. die Zell-Hintergrundfarbe (.Interior.Color) oder die Text-Farbe (.Font.Color) einer Excel-Tabelle in einen HTML-Hex-Wert umgewandelt werden.

Funktionsweise: In der Sub TesFarbe wird die Hintegrundfarbe und Textfarbe umgewandelt und in der MsgBox ausgegeben.

Sub TestFarbe()
  Dim oAC As Object
  Dim s$
  Set oAC = ActiveCell
  s = "Zelle : " & oAC.Worksheet.Name & "!" & Replace(ActiveCell.Address, "$", vbNullString, , , vbTextCompare) & vbCrLf & _
      "Hintergrundfarbe: " & vbTab & oAC.Interior.Color & IIf(Len(oAC.Interior.Color) < 6, vbTab, vbNullString) & vbTab & "HTML-Farbe : " & Color_To_HTMLColor(oAC.Interior.Color, True) & vbCrLf & _
      "Textfarbe: " & vbTab & vbTab & oAC.Font.Color & IIf(Len(oAC.Font.Color) < 6, vbTab, vbNullString) & vbTab & "HTML-Farbe : " & Color_To_HTMLColor(oAC.Font.Color, True)
  Set oAC = Nothing
  MsgBox s
End Sub

Function Color_To_HTMLColor(interiorColor, Optional fHexSign As Boolean) As String
  Dim v
  v = Hex(interiorColor)
  v = String(6 - Len(v), "0") & v
  Color_To_HTMLColor = IIf(fHexSign, "#", vbNullString) & Right(v, 2) & Mid(v, 3, 2) & Left(v, 2)
End Function