Remplir une cellule avec de la couleur sur la base de sa valeur HEXADÉCIMALE dans Excel 2013
J'ai une feuille de calcul avec les cellules de la colonne contenant les couleurs dans leur format HEX. Est-il possible de remplir la cellule adjacente automatiquement avec la couleur correspondant à la valeur HEXADÉCIMALE?
Les recherches effectuées jusqu'à maintenant, je comprends le VBA doit d'abord convertir la chaîne HEXADÉCIMALE à son RVB correspondant, puis remplir la couleur de la cellule avec le résultat.
E. g.: si A1 contient la valeur "7fcac3" (ou "#7fcac3" mais je ne pense pas que le livre est requis), le fonds doit remplir la côté des cellules B avec RGB (127,202,195).
Ci-dessous est un exemple de la façon dont le VBA pourrait ressembler, trouvé (ici). Le problème est que je reçois un "Erreur de Compilation: non Valide en dehors de la procédure" erreur dans 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
Merci beaucoup,
Mathieu
OriginalL'auteur Mathieu | 2014-07-14
Vous devez vous connecter pour publier un commentaire.
La première ligne de code:
n'est pas dans le à l'intérieur d'une Sub ou une Fonction. Regarde comme c'est une copie d'une ligne que vous avez déjà dans le Sous SetHexColors donc je m'attends vous suffit de commenter ou supprimer cette première ligne. Les seules lignes de code que vous pouvez placer à l'extérieur des sous-marins et les Fonctions sont les déclarations de variables et des choses comme Option états (par exemple, Option Explicit)
OriginalL'auteur Mark Balhoff