Страницы: 1
RSS
VBA Цвет заливки Фигуры в переменную
 
Добрый день.
Помогите решить вопрос.
Есть несколько Фигур с разной заливкой.
Мне нужно присвоить переменной цвет заливки Фигуры
Так чтобы при нажатии на Фигуру (которой которой назначен макрос) выделенная область окрашивалась в цвет заливки самой Фигуры.
Спасибо.
Изменено: narod svs - 12.07.2020 15:09:50
 
narod svs, код следует оформлять соответствующим тегом. Ищите такую кнопку (см. скрин) и исправьте своё сообщение.
 
Назначьте этот макрос нужным фигурам:
Код
Sub Macro1()
Dim iColor As Long
    iColor = Range("A1").Interior.Color
    ActiveSheet.Shapes(Application.Caller).Fill.ForeColor.RGB = iColor
End Sub

И на #2 обратите внимание.
 
Здравствуйте. Может так:
Цитата
выделенная область окрашивалась в цвет заливки самой Фигуры.
Скрытый текст

Не копируйте макрос для каждой кнопки, а просто каждой кнопке  присваивайте один и тот же макрос и он будет подхватывать нужный вам  цвет с нажатой кнопки.
Изменено: DANIKOLA - 12.07.2020 21:26:35 (Нашёл улучшенное решение)
 
DANIKOLA, огромное спасибо. Именно то что надо)))
 
Получается, я решал обратную задачу: залить фигуру, взяв цвет из переменной ))
 
Юрий М да так точно, я просто поменял строки вашего кода местами.
 
без всяких макросов
1. отмечаете фигуру (кнопку)
2. в окне Imediate пишете: ? Selection.Fill.ForeColor.RGB и жмете Enter
в следующей строке видите цвет,, копируйте его и используйте как хотите и где хотите
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Ігор Гончаренко, спасибо но мне нужно именно так как написал
Цитата
DANIKOLA написал:
Здравствуйте. Может так: выделенная область окрашивалась в цвет заливки самой Фигуры.
 
DANIKOLA, оказывается можно и без переменной))) Спасибо что указали нужный путь)))
Код
Selection.Interior.Color = ActiveSheet.Shapes(Application.Caller).Fill.ForeColor.RGB
 
Вот вы спрашивали:

Скрытый текст
так?
 
Спасибо, то что нужно
Страницы: 1
Наверх