Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > Microsoft Office и VBA программирование > Microsoft Office Excel
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 24.06.2011, 14:24   #1
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию Назначить кнопке маркос из xla

Вопрос на уровне чайника...
Можно ли назначить кнопке макрос из xla?
Макрос имеет вид "sub ... end sub". В списке макросов не появляется. Обхожу через специальные макросы в книге которые вызывают макросы их xla. Мелькнула сейчас мысль, что если ссылаться на прямую?
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 24.06.2011, 14:32   #2
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Понял - сам дурак....
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 24.06.2011, 14:55   #3
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Хотя нет. Обявляю макросы в xla как public, но их все равно нельзя назначить для кнопки в книги. Что я делаю не так?
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 24.06.2011, 16:20   #4
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Всё более чем просто - назначьте кнопке такой макрос:
Код:
Sub test()
    Run "Макрос1"
End Sub
где Макрос1 - имя макроса из надстройки
EducatedFool вне форума Ответить с цитированием
Старый 24.06.2011, 22:39   #5
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Всё более чем просто - назначьте кнопке такой макрос:
Код:
Sub test()
    Run "Макрос1"
End Sub
где Макрос1 - имя макроса из надстройки
Именно так я и делаю. Но этот код и входит в 1% из наше разговора в другой ветки. Я прикидывал, можно ли полностью отказаться от какого либо кода в книге.
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Старый 25.06.2011, 08:59   #6
EducatedFool
Программист VBA
СуперМодератор
 
Аватар для EducatedFool
 
Регистрация: 13.07.2008
Сообщений: 6,856
По умолчанию

Если таких кнопок немного - можно сделать так:
1) рисуем подобие кнопок в ячейках (цвет + объединение ячеек)
2) надстройкой перехватываем событие selection_change, проверяем имя листа и адрес выделенного диапазона, и, если выделана область "кнопки", запускаем макрос
EducatedFool вне форума Ответить с цитированием
Старый 25.06.2011, 11:07   #7
tae1980
Форумчанин
 
Регистрация: 02.02.2009
Сообщений: 842
По умолчанию

Цитата:
Сообщение от EducatedFool Посмотреть сообщение
Если таких кнопок немного - можно сделать так:
1) рисуем подобие кнопок в ячейках (цвет + объединение ячеек)
2) надстройкой перехватываем событие selection_change, проверяем имя листа и адрес выделенного диапазона, и, если выделана область "кнопки", запускаем макрос
Спасибо. Учту, такую возможность.
Я думаю полностью отказаться от кнопок на листах (хотя для этого придется в очередной раз реорганизовать структуру управления) и вывести всё управление на панель. А содержание панели сделать изменяемым в зависимости от того какой лист сейчас активный - это должно помочь избежать излишнего количества кнопок и сделать интерфейс более приятным для глаз. Сейчас идея находится на стадии проработки.
С уважением, Алексей.
tae1980 вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц

Опции темы Поиск в этой теме
Поиск в этой теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Num2Text.xla blackbroker Помощь студентам 1 03.09.2010 13:53
Работа с xla файлом 3 tae1980 Microsoft Office Excel 0 23.05.2010 21:18
Работа с xla файлом 2. tae1980 Microsoft Office Excel 4 23.05.2010 13:41
Работа с xla файлом tae1980 Microsoft Office Excel 0 21.05.2010 21:02
Назначить кнопке, переход valerij Microsoft Office Excel 14 19.01.2010 16:49