Как я могу установить строковую переменную как цвет в VBA? - PullRequest
0 голосов
/ 13 июня 2019

У меня есть поле ввода, запрашивающее цвет, такой как «красный» или «зеленый», однако я хочу, чтобы подпрограмма установила фон выбора ячейки для этого цвета, а не просто имела слово «красный» или"зеленый" наклеен.Вот мой код:

Sub backgroundcolor()
Dim color As String
color = InputBox("Enter color")
Range("A1:B5").Interior.ColorIndex = color
End Sub

Как я могу использовать строку (название цвета) и установить диапазон ячеек для этого цвета?

1 Ответ

0 голосов
/ 13 июня 2019

Попробуйте это

Sub backgroundcolor()
    Dim color As String
    color = InputBox("Enter color")
    If color = "" Then Exit Sub
    sColorsNameArr = Array("Black","White","Red","BrightGreen","Blue","Yellow","Pink","Turquoise","DarkRed","Green","DarkBlue","DarkYellow","Violet","Teal","Gray25","Gray50","PowderBlue","Plum","Cream","LightTurquoise","DarkPurple","Salmon","NavyBlue","LightLavender","DarkBlue2","Pink2","Yellow2","Turquoise2","Violet2","DarkRed2","Teal2","Blue2","SkyBlue","LightTurquoise2","LightGreen","LightYellow","PaleBlue","Rose","Lavender","Tan","LightBlue","Aqua","Lime","Gold","LightOrange","Orange","BlueGray","Gray40","DarkTeal","SeaGreen","DarkGreen","OliveGreen","Brown","Plum2","Indigo","Gray80") ' all 56 colors
    pos = Application.Match(color, sColorsNameArr, False)

    If Not IsError(pos) Then
       Range("A1:B5").Interior.ColorIndex = pos
    Else
       MsgBox color & " not found!"
    End If

End Sub
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...