2015-06-22 1 views
1

Я работаю над этой проблемой часами, поэтому я буду очень благодарен за любые ответы.Обмен значениями между пользовательской формой и основным модулем в vba

У меня есть пользовательская форма с тремя кнопками, и мне нравится, чтобы они передавали значение, поэтому я могу использовать это значение в своем основном модуле и в зависимости от значения запускать определенный код. Я искал везде, но они все значения проходят от полей ввода

Вот мой UserForm код:

private sub cancelButton_Click() 
    response = 1 
    UserForm1.Hide 
End Sub 

private Sub SutunButton_Click() 
    response = 2 
    UserForm1.Hide 
End Sub 

private Sub TirButton_Click() 
    response = 3 
    UserForm1.Hide 
End Sub 

и это мой основной модуль:

public response as integer 
sub example() 
. 
. 
. 
userform1.show 
if response=1 then 
msgbox "1" 
elseif response = 2 then 
msgbox "2" 
elseif response = 3 then 
msgbox "3" 
end if 
. 
. 
. 
end sub 

Конечно, я поставил msgbox сделать мой код простой.

Спасибо за любую помощь.

ответ

1

Удалить глобальное. Для модуля добавить:

Public Sub process(form As UserForm1, response As Integer) 
    form.Hide 

    Select Case response 
     Case 1: MsgBox 1 
     Case 2: MsgBox 2 
     Case 3: MsgBox 3 
    End Select 
End Sub 

изменить события к:

private Sub SutunButton_Click() 
    process Me, 2 
End Sub 
+0

спасибо за ответ :) , но мне кажется, что «процесс» не распознается как функция или суб. в чем проблема?! –

 Смежные вопросы

  • Нет связанных вопросов^_^