Домашняя страница Undo Do New Save Карта сайта Обратная связь Поиск по форуму
МИР MS EXCEL - Гость.xls

Вход

Регистрация

Напомнить пароль

 

= Мир MS Excel/Как привязать два макроса к одной кнопке? - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Как привязать два макроса к одной кнопке?
Аркадий Дата: Понедельник, 23.02.2015, 00:25 | Сообщение № 1
Группа: Гости
Добрый вечер!
Подскажите, пожалуйста, как в программе excel привязать к кнопке два макроса попеременно, то есть что бы не от одного нажатия на кнопку выполнялось сразу 2 макроса одновременно, а по очереди (1 нажатие - выполняет 1 макрос, 2 нажатие - выполняет 2ой макрос) возможно ли это? И возможно ли сделать так до 5ти нажатий?
 
Ответить
СообщениеДобрый вечер!
Подскажите, пожалуйста, как в программе excel привязать к кнопке два макроса попеременно, то есть что бы не от одного нажатия на кнопку выполнялось сразу 2 макроса одновременно, а по очереди (1 нажатие - выполняет 1 макрос, 2 нажатие - выполняет 2ой макрос) возможно ли это? И возможно ли сделать так до 5ти нажатий?

Автор - Аркадий
Дата добавления - 23.02.2015 в 00:25
Leanna Дата: Понедельник, 23.02.2015, 00:31 | Сообщение № 2
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 78 ±
Замечаний: 0% ±

excel 2010
Можете менять надпись на кнопке после каждого запуска и отталкиваясь от записи на кнопке запускать нужный макрос.
Или счётчик Public или Static создайте, но тогда юзеру непонятно будет какой же макрос выполниться по нажатию на кнопку.

Может ваша проблема решается иными способами? Для чего нужна пауза между нажатиями? Очень необычный подход вы выбираете)


Лучше день потерять, потом за пять минут долететь!

Сообщение отредактировал Leanna - Понедельник, 23.02.2015, 00:31
 
Ответить
СообщениеМожете менять надпись на кнопке после каждого запуска и отталкиваясь от записи на кнопке запускать нужный макрос.
Или счётчик Public или Static создайте, но тогда юзеру непонятно будет какой же макрос выполниться по нажатию на кнопку.

Может ваша проблема решается иными способами? Для чего нужна пауза между нажатиями? Очень необычный подход вы выбираете)

Автор - Leanna
Дата добавления - 23.02.2015 в 00:31
Bigimoot27 Дата: Понедельник, 23.02.2015, 00:42 | Сообщение № 3
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Leanna, хотел сделать для автоматизации математических подсчетов, что бы кнопка работала хотя бы по принципу вкл/выкл (1 или 0). Использовать две кнопки отдельно - будит занимать достаточно много место, поэтому хотелось бы, что бы эту задачу выполняла одна кнопка :)
Но, к сожалению, технически не совсем подкован :(
P/S/ знаю, что в таком случае можно использовать флажок, при этом не прибегая к сложным алгоритмам, но хотелось бы использовать кнопку <_<
 
Ответить
СообщениеLeanna, хотел сделать для автоматизации математических подсчетов, что бы кнопка работала хотя бы по принципу вкл/выкл (1 или 0). Использовать две кнопки отдельно - будит занимать достаточно много место, поэтому хотелось бы, что бы эту задачу выполняла одна кнопка :)
Но, к сожалению, технически не совсем подкован :(
P/S/ знаю, что в таком случае можно использовать флажок, при этом не прибегая к сложным алгоритмам, но хотелось бы использовать кнопку <_<

Автор - Bigimoot27
Дата добавления - 23.02.2015 в 00:42
Leanna Дата: Понедельник, 23.02.2015, 00:44 | Сообщение № 4
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 78 ±
Замечаний: 0% ±

excel 2010
Bigimoot27, так менять программно надпись на кнопке - не подходит? Выполнили макрос "вкл" - он изменил после выполнения себя на "выкл". Выполнили "выкл" - он изменил после выполнения себя на "вкл".


Лучше день потерять, потом за пять минут долететь!
 
Ответить
СообщениеBigimoot27, так менять программно надпись на кнопке - не подходит? Выполнили макрос "вкл" - он изменил после выполнения себя на "выкл". Выполнили "выкл" - он изменил после выполнения себя на "вкл".

Автор - Leanna
Дата добавления - 23.02.2015 в 00:44
Bigimoot27 Дата: Понедельник, 23.02.2015, 00:50 | Сообщение № 5
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Leanna, хммм, интересная мысль, подскажите, пожалуйста, как это сделать?
 
Ответить
СообщениеLeanna, хммм, интересная мысль, подскажите, пожалуйста, как это сделать?

Автор - Bigimoot27
Дата добавления - 23.02.2015 в 00:50
Hugo Дата: Понедельник, 23.02.2015, 00:55 | Сообщение № 6
Группа: Друзья
Ранг: Участник клуба
Сообщений: 3690
Репутация: 790 ±
Замечаний: 0% ±

365
Есть ведь кнопка-переключатель, используйте её. И сразу видно, что будет выполняться.
Схематично:
[vba]
Код
Private Sub ToggleButton1_Click()
     If ToggleButton1.Value = True Then
         Call macro1
     Else
         Call macro2
     End If
End Sub

Sub macro1()
     MsgBox 1
End Sub

Sub macro2()
     MsgBox 2
End Sub
[/vba]


webmoney: E265281470651 Z422237915069
USDT TRC20: TN8XeEF17o5KPBD9pNwYzNyruycuAc2mVD


Сообщение отредактировал Hugo - Понедельник, 23.02.2015, 00:59
 
Ответить
СообщениеЕсть ведь кнопка-переключатель, используйте её. И сразу видно, что будет выполняться.
Схематично:
[vba]
Код
Private Sub ToggleButton1_Click()
     If ToggleButton1.Value = True Then
         Call macro1
     Else
         Call macro2
     End If
End Sub

Sub macro1()
     MsgBox 1
End Sub

Sub macro2()
     MsgBox 2
End Sub
[/vba]

Автор - Hugo
Дата добавления - 23.02.2015 в 00:55
Leanna Дата: Понедельник, 23.02.2015, 00:57 | Сообщение № 7
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 189
Репутация: 78 ±
Замечаний: 0% ±

excel 2010
Этот пример построен на кнопке из элементов управления, какая кнопка у вас я не знаю.
К сообщению приложен файл: btn_ex.xlsm (19.2 Kb)


Лучше день потерять, потом за пять минут долететь!
 
Ответить
СообщениеЭтот пример построен на кнопке из элементов управления, какая кнопка у вас я не знаю.

Автор - Leanna
Дата добавления - 23.02.2015 в 00:57
Wasilich Дата: Понедельник, 23.02.2015, 01:09 | Сообщение № 8
Группа: Друзья
Ранг: Старожил
Сообщений: 1232
Репутация: 326 ±
Замечаний: 0% ±

2003
И так можно :)
К сообщению приложен файл: 2_.xls (17.5 Kb)
 
Ответить
СообщениеИ так можно :)

Автор - Wasilich
Дата добавления - 23.02.2015 в 01:09
_Boroda_ Дата: Понедельник, 23.02.2015, 01:14 | Сообщение № 9
Группа: Админы
Ранг: Местный житель
Сообщений: 16714
Репутация: 6503 ±
Замечаний: ±

2003; 2007; 2010; 2013 RUS
И еще вариант. Только здесь еще нужно прилепить на открытие книги [vba]
Код
Private Sub Workbook_Open()
     Лист1.CommandButton1.Caption = "Макрос1"
End Sub
[/vba]
Файл перевложил
[vba]
Код
Dim n_
Private Sub CommandButton1_Click()
        Select Case n_
            Case 1
                tt1
                n_ = n_ + 1
            Case 2
                tt2
                n_ = n_ + 1
            Case 3
                tt3
                n_ = n_ + 1
            Case 4
                tt4
                n_ = n_ + 1
            Case 5
                tt5
                n_ = 1
            Case Else
                tt1
                n_ = 2
        End Select
        CommandButton1.Caption = "Запустить макрос " & n_
End Sub

Sub tt1()
        MsgBox "Макрос1"
End Sub
Sub tt2()
        MsgBox "Макрос2"
End Sub
Sub tt3()
        MsgBox "Макрос3"
End Sub
Sub tt4()
        MsgBox "Макрос4"
End Sub
Sub tt5()
        MsgBox "Макрос5"
End Sub
[/vba]
К сообщению приложен файл: 9898575.xlsm (19.6 Kb)


Скажи мне, кудесник, любимец ба’гов...
Платная помощь:
Boroda_Excel@mail.ru
Яндекс-деньги: 41001632713405 | Webmoney: R289877159277; Z102172301748; E177867141995
 
Ответить
СообщениеИ еще вариант. Только здесь еще нужно прилепить на открытие книги [vba]
Код
Private Sub Workbook_Open()
     Лист1.CommandButton1.Caption = "Макрос1"
End Sub
[/vba]
Файл перевложил
[vba]
Код
Dim n_
Private Sub CommandButton1_Click()
        Select Case n_
            Case 1
                tt1
                n_ = n_ + 1
            Case 2
                tt2
                n_ = n_ + 1
            Case 3
                tt3
                n_ = n_ + 1
            Case 4
                tt4
                n_ = n_ + 1
            Case 5
                tt5
                n_ = 1
            Case Else
                tt1
                n_ = 2
        End Select
        CommandButton1.Caption = "Запустить макрос " & n_
End Sub

Sub tt1()
        MsgBox "Макрос1"
End Sub
Sub tt2()
        MsgBox "Макрос2"
End Sub
Sub tt3()
        MsgBox "Макрос3"
End Sub
Sub tt4()
        MsgBox "Макрос4"
End Sub
Sub tt5()
        MsgBox "Макрос5"
End Sub
[/vba]

Автор - _Boroda_
Дата добавления - 23.02.2015 в 01:14
Bigimoot27 Дата: Понедельник, 23.02.2015, 01:20 | Сообщение № 10
Группа: Пользователи
Ранг: Новичок
Сообщений: 10
Репутация: 0 ±
Замечаний: 0% ±

Excel 2010
Hugo, Leanna, Wasilic, _Boroda_, Всем, ОГРОМНОЕ спасибо clap hands
 
Ответить
СообщениеHugo, Leanna, Wasilic, _Boroda_, Всем, ОГРОМНОЕ спасибо clap hands

Автор - Bigimoot27
Дата добавления - 23.02.2015 в 01:20
Andrey24_ Дата: Понедельник, 22.08.2022, 23:25 | Сообщение № 11
Группа: Пользователи
Ранг: Прохожий
Сообщений: 1
Репутация: 0 ±
Замечаний: 0% ±

_Boroda_, Я уже второй день туплю. Что значит Private в фразе Private Sub. Я когда макросы делаю, там только Sub.
 
Ответить
Сообщение_Boroda_, Я уже второй день туплю. Что значит Private в фразе Private Sub. Я когда макросы делаю, там только Sub.

Автор - Andrey24_
Дата добавления - 22.08.2022 в 23:25
ZetMenChavo Дата: Понедельник, 22.08.2022, 23:41 | Сообщение № 12
Группа: Проверенные
Ранг: Форумчанин
Сообщений: 165
Репутация: 7 ±
Замечаний: 0% ±

Excel 2010
Andrey24_,
-100- VBA EXCEL. Как сделать список макросов невидимыми для пользователей
https://www.youtube.com/watch?v=J1olhPCOR9c
Dim/Private/Public/Static - Видимость переменных и констант в VBA (Серия VBA 31)
https://www.youtube.com/watch?v=06dRikt3dlU
privat делает макросы и переменные действительными только в одном модуле


Сообщение отредактировал ZetMenChavo - Вторник, 23.08.2022, 01:32
 
Ответить
СообщениеAndrey24_,
-100- VBA EXCEL. Как сделать список макросов невидимыми для пользователей
https://www.youtube.com/watch?v=J1olhPCOR9c
Dim/Private/Public/Static - Видимость переменных и констант в VBA (Серия VBA 31)
https://www.youtube.com/watch?v=06dRikt3dlU
privat делает макросы и переменные действительными только в одном модуле

Автор - ZetMenChavo
Дата добавления - 22.08.2022 в 23:41
  • Страница 1 из 1
  • 1
Поиск:

Яндекс.Метрика Яндекс цитирования
© 2010-2024 · Дизайн: MichaelCH · Хостинг от uCoz · При использовании материалов сайта, ссылка на www.excelworld.ru обязательна!