#excel #vba #colors #shapes #excel-2016
#excel #vba #Цвет #фигуры #excel-2016
Вопрос:
Я пытаюсь изменить цвет нескольких фигур на основе таблицы на другой вкладке. Таблица содержит часть, квадрант, название фигуры и значение (ячейка с определенным цветом.) Я пытаюсь привязать фигуру к цвету, используя имя фигуры и диапазон расположения ячейки цвета, но я получаю не определенную подфункцию. Цвета для значений в таблице основаны на условном формате.
Sub Update()
Dim CellColor As Long
Dim ShapeColor As Variant
CellColor = Worksheets("Sheet1").Range("D2").DisplayFormat.Interior.Color
ShapeColor = Worksheets("Sheet1").Range("C2").Value
Worksheets("main").Shapes(ShapeColor).Fill.ForeColor.RGB = CellColor
Worksheets("main").Select
End Sub
Комментарии:
1.
Set
здесь не следует использовать.Worksheet("main")
отсутствуетs
—Worksheets
.2. Если форматирование условное, то вам нужно работать с
Worksheets("Sheet1").Range("D2").DisplayFormat.Interior.Color
Ответ №1:
Переношу мои комментарии к ответу:
Set
здесь не следует использовать.Worksheet("main")
отсутствует s —Worksheets
.- Если это условное форматирование, то вам нужно поработать с
Worksheets("Sheet1").Range("D2").DisplayFormat.Interior.Color
.
Комментарии:
1. Я обновил работающий код, как бы я мог выполнить этот код для каждой строки в таблице? У меня есть 100 строк, для которых требуется выполнить этот код.
2. @bullfrog97 — вам понадобится цикл.
For Each cell in Range("C2:C100")
или что-то еще. Затемcell.Offset(,1)
будет ссылаться на ячейку в столбце D. Попробуйте и не стесняйтесь публиковать новый вопрос, если у вас не получается заставить его работать.