Страницы: 1
RSS
Присвоение элементу управления формы "список" макросов
 
Здравствуйте!
У меня имеется 12 макросов, присваивать по 1 макросу к каждой отдельной кнопке не очень-то удобно во многих отношениях. Не подскажете, есть ли способ, скажем, настроить форму ниспадающего листа, никак не могу самостоятельно разобраться и настроить. Поясню, мне нужно, чтобы при нажатии ниспадающего листа выпадал список макросов.
Уверен, что где-то наверняка об этом есть информация, но при самостоятельном поиске не нашёл.

При назначении макросов есть кнопка "Создать", а в правой части поля есть кнопка выбор диапазона, но я не понимаю, как выбрать макросы, как выйти на страницу макросов в этом режиме.

Помогите, пожалуйста.
 
"ниспадающего листа" - это что и как выглядит?
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Например, как в случае с фильтрами. Только при нажатии на любой элемент списка срабатывает выбранный макрос.
 
Что-то я вообще не могу проблему найти. Всего 12 макросов, Вам их лень запускать?
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Проблема в оптимизации производственного процесса. Сам я легко и без макросов обхожусь, но в связи с кадровыми перестановками, мои коллеги останутся без моей помощи, а они в Excel-е не сильны. Я хочу свести для них работу к минимуму. Да и вообще, просто интересно, можно ли так сделать, т.к. это реально будет удобнее.

А вообще, я просил помощи, а не бессмысленные вопросы. Не то, чтобы я придавал бы этому какое бы то ни было значение, но реально не понимаю, на этом ресурсе люди регулярно обращаются за помощью и довольно часто вместо помощи получают флуд. "А тебе зачем?", "А слабо вручную всё делать, лень?", кстати говоря про лень, всю автоматизацию тоже можно назвать ленью с такой точки зрения) Я знаю, что Вы можете помочь, но я решил ответить на вашу нелюбезность той же монетой.
 
Никто не говорит про лень, это и так понятно. Непонятно чего именно вы хотите. Напишите или нарисуйте как это должно выглядеть. Потому что сейчас понятно только вам и у вас в голове. Лично я даже представить не могу чего вы хотите соорудить из макросов за список.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Мне кажется, если автора устроит, либо через Alt+F8 вызывать список и запускать нужный, либо в форме рисовать выпадающий список, и, в в коде прописывать - в зависимости от выбора запускать соответствующую процедуру.
Кому решение нужно - тот пример и рисует.
 
Alemox, я ничего не говорю, но вот ваши слова: "Всего 12 макросов, Вам их лень запускать?" Отсюда и моя реакция) Если Вы ничего предосудительного не имели в виду, то прошу прощения, рад ошибаться на чужой счёт в + смысле)

Ну, я попробую написать, нарисовать, я не знаю как. Представьте себе классический фильтр. Фильтр создаётся в шапке таблицы, выглядит, как квадратик со стрелкой вниз. Нажимаете на него, выпадает список значений, нажимаете и таблица форматируется в соответствии с выбранной опцией. Вот я хочу такую форму, чтобы при нажатии на неё выпадал список макросов и при нажатии на любой из них соответствующий макрос срабатывал. Просто неудобно даже тупо вырисовывать 12 кнопок на листе. А на самом деле макросов не 12, а 24. Это же неудобно.
Изменено: _Vadim_ - 13.12.2017 16:44:58
 
А если на ПКМ назначить эти макросы. В зависимости от положения курсора на листе определённый список макросов формируется. В общем можно много чего придумать. Ту же надстройку и прочее.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Ну тогда надо нарисовать форму, засунуть туда Combobox с вашим списком макросов и всё. Только всё равно придётся в ручную прописывать всё.
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Мне это в принципе интересно, так что не проблема, но знать, бы как, киньте, пожалуйста, ссылку на статью об этом или хотя бы о "Combobox".
 
Что то типа такого например. Дальше нюансы.  
Мастерство программиста не в том, чтобы писать программы, работающие без ошибок.
А в том, чтобы писать программы, работающие при любом количестве ошибок.
 
Цитата
_Vadim_ написал:
У меня имеется 12 макросов
Вставьте на лист "Поле со списком" из "Элементы управления формы", в его формате Формировать список по диапазону: $M$1:$M$12, Связать с ячейкой: $N$1. В М1:М12 впишите названия макросов. Назначить макрос - Создать, в заготовку впишите строку
Код
  Application.Run WorksheetFunction.Index([M1:M12], [N1]).Value
Теперь при выборе какого-либо названия из выпадающего списка будет запускаться этот макрос.
 
зачем городить огород с формами и пр.
Форму нужно вызвать, выбрать нужный макрос выполнить его
зачем???
если ровно все то же самое есть по Alt+F8 (сможете научить сотрудников нажать Alt+F8)
снабдите макросы описаниями и сотрудники увидят не только название макроса, но и Ваше описание его функций
Программисты - это люди, решающие проблемы, о существовании которых Вы не подозревали, методами, которых Вы не понимаете!
 
Казанский, спасибо огромное, наконец довелось вернуться к поднятому вопросу и испробовать Ваш совет, получилось! Очень Вам благодарен!

Alemox, не совсем то, слишком мудрёно для моих коллег, но всё равно, спасибо, интересно изучить.
Страницы: 1
Читают тему
Наверх