Передо мной встал вопрос: "как сделать так, чтобы при работе макроса, свойства формулы определялись из выпадающего списка?". Словами не объяснишь, лучше дам пример. У меня есть макрос, который рисует границы для выделенных ячеек. Необходимо сделать так, чтобы можно было выбирать тип линии (сплошная, пунктирная и т.д.) из выпадающего списка (где будут расположены правильные названия этих линий (xlDot etc.), а потом активировав макрос, получить необходимую границу для ячеек. Скачатьграницы-ячейки.xlsm
Добрый день уважаемые знатоки excel!
Передо мной встал вопрос: "как сделать так, чтобы при работе макроса, свойства формулы определялись из выпадающего списка?". Словами не объяснишь, лучше дам пример. У меня есть макрос, который рисует границы для выделенных ячеек. Необходимо сделать так, чтобы можно было выбирать тип линии (сплошная, пунктирная и т.д.) из выпадающего списка (где будут расположены правильные названия этих линий (xlDot etc.), а потом активировав макрос, получить необходимую границу для ячеек. Скачатьграницы-ячейки.xlsmmuratmgb
Сообщение отредактировал muratmgb - Вторник, 30.12.2014, 13:43
Просто лень каждый раз заходить в "Другие границы", выбирать тип линии, саму границу... А тут - бац, и все готово)) С рисованием границ я разобрался, а вот с выбором типа границ у меня просто провал. Пытался делать так:
Код
Selection.Borders(xlEdgeLeft)
.LineStyle = FormulaR1C1 = "=R1C1"
где в ячейке R1C1 находилось название типа линии, а именно xlDot. Но макрос тупо рисовал сплошную, вместо пунктирной.
Просто лень каждый раз заходить в "Другие границы", выбирать тип линии, саму границу... А тут - бац, и все готово)) С рисованием границ я разобрался, а вот с выбором типа границ у меня просто провал. Пытался делать так:
Код
Selection.Borders(xlEdgeLeft)
.LineStyle = FormulaR1C1 = "=R1C1"
где в ячейке R1C1 находилось название типа линии, а именно xlDot. Но макрос тупо рисовал сплошную, вместо пунктирной.muratmgb
Сообщение отредактировал muratmgb - Вторник, 30.12.2014, 13:55
xlDashDotDot - это... не знаю точно как правильно называется, думаю именованная переменная у неё есть числоое значение 5. Что бы добиться нужного результата подставляйте не переменную, а значение, т.е. .LineStyle = [A1].Value, где в A1 у вас будет значение 5.
Сделайте таблицу с вашим наименованием которое идет в выпадающий список а сбоку номера переменных а по ВПР к вашему вападающему списку привяжите номер и берите для макроса этот номер (здесь A10)
xlDashDotDot - это... не знаю точно как правильно называется, думаю именованная переменная у неё есть числоое значение 5. Что бы добиться нужного результата подставляйте не переменную, а значение, т.е. .LineStyle = [A1].Value, где в A1 у вас будет значение 5.
Сделайте таблицу с вашим наименованием которое идет в выпадающий список а сбоку номера переменных а по ВПР к вашему вападающему списку привяжите номер и берите для макроса этот номер (здесь A10) Leanna
Лучше день потерять, потом за пять минут долететь!
Сообщение отредактировал Leanna - Вторник, 30.12.2014, 16:29