День добрый!
Имеется довольно большое количество однотипных кнопок с именами типа
button_1_switch
button_2_switch
button_3_switch
...
И другая кнопка, задача которой - по щелчку окрашивать все выше упомянутые в цвет фона единой для всех ячейки.
Сейчас имеет такой код:
button_1_switch.BackColor = Range("D127").Interior.Color
button_2_switch.BackColor = Range("D127").Interior.Color
button_3_switch.BackColor = Range("D127").Interior.Color
button_4_switch.BackColor = Range("D127").Interior.Color
То есть разница между строками - только в номере в имени окрашиваемой кнопки.
Как можно решить такую задачу, например, с помощью цикла? Интересен синтаксис, в VBA я не спец, попробовал вот так:
For i = 1 to 10
button_(i)_switch.BackColor = Range("D127").Interior.Color -- ругается на эту строку
Next
То есть вопрос - как правильно вставить переменную-счетчик цикла в имя кнопки, если это возможно. Или иные пути решения задачи без копирования строки каждый раз.
Примечание:
Не работает, пишет Object doesn't support this property or method
Содержимое кнопки:
For n_color = 1 To 9
ActiveSheet.Shapes("Strength_" & n_color & "_null").BackColor = Range("D296").Interior.Color
ActiveSheet.Shapes("Strength_" & n_color & "_null").ForeColor = Range("D296").Font.Color
ActiveSheet.Shapes("Strength_" & n_color & "_spin").BackColor = Range("D296").Interior.Color
ActiveSheet.Shapes("Strength_" & n_color & "_spin").ForeColor = Range("D296").Font.Color
Next n_color
Переменную n_color пробовал заранее объявлять, результат тот же
RPI.su - самая большая русскоязычная база вопросов и ответов. Наш проект был реализован как продолжение популярного сервиса otvety.google.ru, который был закрыт и удален 30 апреля 2015 года. Мы решили воскресить полезный сервис Ответы Гугл, чтобы любой человек смог публично узнать ответ на свой вопрос у интернет сообщества.
Все вопросы, добавленные на сайт ответов Google, мы скопировали и сохранили здесь. Имена старых пользователей также отображены в том виде, в котором они существовали ранее. Только нужно заново пройти регистрацию, чтобы иметь возможность задавать вопросы, или отвечать другим.
Чтобы связаться с нами по любому вопросу О САЙТЕ (реклама, сотрудничество, отзыв о сервисе), пишите на почту [email protected]. Только все общие вопросы размещайте на сайте, на них ответ по почте не предоставляется.