2015-06-22 56 views
1

我一直在解決這個問題幾個小時,所以我會非常感謝任何答案。vba中的userform和主模塊之間的交換值

我有一個用戶窗體有三個按鈕,我喜歡他們傳遞一個值,所以我可以在我的主模塊中使用該值,並根據值運行特定的代碼。 我到處找,但他們從textboxs

這裏全通值是我的用戶窗體代碼:

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

感謝您的答覆:) 但似乎「進程」不被識別爲一個函數或子。有什麼問題?! –