Страницы: 1
RSS
Можно ли гиперссылкой запустить макрос?
 
С праздником мужики!  
Есть такой вопрос, можно ли гиперссылкой в ячейке запускать макрос, и как её создать?
 
Может быть так? Ведь когда Вы кликаете по гиперссылке, то волей-неволей выделяется ячейка с этой гиперссылкой.
 
Юрий М спасибо.  
Проблема в том, что я использую в ячейке выпад.список (Данные - Проверка...) и если этот список имеет более 8 строк появляется скролл, который к тому же не крутится колёсиком мыши. Приходится двигать его ЛКМ. Теряется время и снижается комфорт :) Вот я и подумал, что если вместо выпад.списка разместить кнопку, которая (макросом)делает видимым скрытый лист, на котором формируется список в виде гиперссылок. Кликаешь по нужному элементу, происходит некое действо и скрытый лист опять становится невидимым. Так что предложенный Вами вариант вполне подходит для данной задачи. Тут в принципе гиперссылка и не к чему. Все происходит при активации ячейки с необходимой записью.  
Ещё как вариант решения данного вопроса, прикидывал, возможность создания динамически изменяющейся UserForm с кнопками (вместо скрытого листа). Предыдущий вариант конечно вполне подходит да и наверное проще, но интересно, можно ли с помощью VBA создавать динамически изменяющуюся UserForm.  
Например, как-то циклом задавать количество создаваемых кнопок на форме.
 
обычный комбобокс, по-моему, вполне подойдет..  
 
при выборе значения из списка можно что угодно запустить
Живи и дай жить..
 
ИМХО лучше использовать listbox с панели "элементы управления". Пишем код нужный эвент и всё. Список можно легко делать невидимым когда он не нужен. К тому же легко менять его высоту, в зависимости от количества элементов в списке.    
 
Ну или как вариант, такой же список на модальной форме.Но первый вариант удобнее.
 
Посмотрите вот такой вариант.
 
Спасибо всем, буду пробовать.
 
В продолжение темы.  
Заинтересовался предложением Jom использовать listbox с панели "элементы управления". Вроде красиво все получалось, пока не начал двигаться по листу вниз. listbox появляется вне поля видимости :(  См.вложеный файл.  
Может есть варианты решения данной проблемы?  
Спасибо.
 
Не очень понятно - сначала выбираем из ListBox, а потом в ячейке опять выпадающий список. Размеры формы в зависиомти от неких условий менять можно. И количество отображаемых кнопок тоже. Только, если следовать теме Вашего вопроса, то задача - запуск нескольких макросов. На выбор. Ведь при помощи кнопок на форме Вы тоже собираетесь запускать различные макросы. Тогде чем мой вариант Вас не устроил? Можно без скролллинга, без мышки - набрали начальные 1-2-3 буквы - вот Вам желаемый макрос. Нажали Enter - он запустился. Или это выбранное значение нужно обязательно поместить в некую ячейку? Не проблема! Уточните задачу - подумаем вместе.
 
Юрий М спаисбо за внимание.  
В моем примере показаны два разных НЕ СВЯЗАННЫХ варианта выбора значения, из которого всего лишь следует вывод, что при списке длинее 8 строк удобнее использовать ListBox из Элементы управления. А весь сыр бор из-за того, что в выпадающем списке не работает скрол, а посему хотелось бы заменить его на нечто более удобное. Вот я и стал думать, что лучше в такой ситуации использовать: скрытый лист со списком, который будет на время выбора отображаться, UserForm, которая будет динамически менять свои размеры (в зависимости от количества строк в списке) или как предложил Jom ListBox из Элементы управления. Мне показался ListBox самым простым, удобным и наглядным вариантом, только у него своя засада, он привязан к определенной ячейке, и если сместиться по листу вниз и вызвать его, он отображается вне зоны видимости.
 
Если вопрос стоит о возможности прокрутки, постоянного нахождения списка в поле зрения, то что мешает использовать ListBox на форме? Всегда "на виду", можно расположить в нужном месте, при увеличении списка появится скроллинг...
 
Юрий М    
Вы правы, пожалуй UserForm c ListBox наиболее подходящий вариант для решения проблемы со скроллиногом списка.  
Благодарю Вас.
Страницы: 1
Читают тему
Наверх