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

Вход

Регистрация

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

 

= Мир MS Excel/Как передать значение OptionButton в главную процедуру - Мир MS Excel

Старая форма входа
  • Страница 1 из 1
  • 1
Модератор форума: китин, _Boroda_  
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как передать значение OptionButton в главную процедуру (Макросы/Sub)
Как передать значение OptionButton в главную процедуру
DExplorer Дата: Вторник, 13.07.2021, 20:15 | Сообщение № 1
Группа: Пользователи
Ранг: Прохожий
Сообщений: 9
Репутация: 0 ±
Замечаний: 0% ±

Excel 2016
Имеется простенький макрос, который фильтрует сроки из таблицы. Затем выводится UserForm, где пользователь выбирает с помощью OptionButton куда нужно поместить результат, т.е. отфильтрованные строки.
Собственно вопрос, как передать выбранное значение OptionButton в главную процедуру?
[vba]
Код
Private Sub cmnOk_Click()

    Dim i As Integer

    If option1 = True Then
        i = 1
    ElseIf option2 = True Then
        i = 2
    End If
    
End Sub
[/vba]
То есть юзер нажимает на ЮзерФорме "ок" (click-event), и значение i передаётся дальше в основной макрос. Если i=1, тогда макрос делает одно, если 2 - другое.
Через Call не получается, потому что тогда нужно будет указать аргументы в названии основного макроса. И как тогда его запустить, если для этого он Уже должен иметь значения этих аргументов?


Сообщение отредактировал DExplorer - Вторник, 13.07.2021, 20:18
 
Ответить
СообщениеИмеется простенький макрос, который фильтрует сроки из таблицы. Затем выводится UserForm, где пользователь выбирает с помощью OptionButton куда нужно поместить результат, т.е. отфильтрованные строки.
Собственно вопрос, как передать выбранное значение OptionButton в главную процедуру?
[vba]
Код
Private Sub cmnOk_Click()

    Dim i As Integer

    If option1 = True Then
        i = 1
    ElseIf option2 = True Then
        i = 2
    End If
    
End Sub
[/vba]
То есть юзер нажимает на ЮзерФорме "ок" (click-event), и значение i передаётся дальше в основной макрос. Если i=1, тогда макрос делает одно, если 2 - другое.
Через Call не получается, потому что тогда нужно будет указать аргументы в названии основного макроса. И как тогда его запустить, если для этого он Уже должен иметь значения этих аргументов?

Автор - DExplorer
Дата добавления - 13.07.2021 в 20:15
R_Dmitry Дата: Вторник, 13.07.2021, 20:45 | Сообщение № 2
Группа: Друзья
Ранг: Участник
Сообщений: 74
Репутация: 34 ±
Замечаний: 0% ±

2010
[vba]
Код
sub test (ii)
msgbox ii
end sub
Private Sub cmnOk_Click()

    Dim i As Integer

    If option1 = True Then
        i = 1
    ElseIf option2 = True Then
        i = 2
    End If
    call test(i)
End Sub
[/vba]


{Skype : RDG_Dmitry} Если программа тебе понятна,значит она уже устарела
 
Ответить
Сообщение[vba]
Код
sub test (ii)
msgbox ii
end sub
Private Sub cmnOk_Click()

    Dim i As Integer

    If option1 = True Then
        i = 1
    ElseIf option2 = True Then
        i = 2
    End If
    call test(i)
End Sub
[/vba]

Автор - R_Dmitry
Дата добавления - 13.07.2021 в 20:45
Мир MS Excel » Вопросы и решения » Вопросы по VBA » Как передать значение OptionButton в главную процедуру (Макросы/Sub)
  • Страница 1 из 1
  • 1
Поиск:

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