Здравствуйте.
Помогите.
Вопрос вот какой:
На листе находятся несколько фигур с разными названиями.
Рядом таблица, в которой каждому названию фигуры - соответствует свой цвет и радиус от центра этой фигуры, на котором должны закрашиваться ячейки в этот цвет.
Пятна не должны выходить за пределы диапазона диапазона J7:AM32.
исходный цвет диапазона J7:AM32 - задан в ячейке AW3
Как макросом закрасить ячейки в диапазоне J7:AM32 ?
(по итогу получится несколько пятен, не выходящих за пределы J7:AM32.
Тут важно, чтобы получившиеся пятна были не квадратной, а более скругленной формы.)
Вот как видится примерно работа макроса:
1. Загнать в словари по имени цвет и радиус
Код |
---|
For r = 6 To 10
n = Cells(r, 48)
sz(n) = Cells(r, 49).Interior.Color
sr(n) = Cells(r, 50)
Next r
|
2. Перебрать все фигуры в регионе и определить цвет и радиус
Код |
---|
For Each sh In ActiveSheet.Shapes
n = sh.Name
If sz.exists(n) Then
zv = sz(n)
rr = sr(n)
|
Ну а дальше нужно найти центры фигур, и привязать их к номерам строк и колонок
И проверяя номера строк и колонок на вхождение в радиус и на выход за пределы региона залить нужным цветом
Прикладываю скриншот того, что желательно получить в результате срабатывания макроса.