2012-05-09 54 views
0

我有一個用戶表單創建和幾個按鈕(該數字將在運行時設置)在Excel中。點擊按鈕時,每個按鈕將打開它自己的用戶窗體版本(相同的用戶窗體,但每個按鈕都有自己的用戶窗體,例如:button1將打開userform1,button2將打開userform2等等,每個用戶窗體都是相同的用戶窗體類)。初始化一個用戶表單類

我想創建一個用戶窗體類,每個按鈕都會實例化一個用戶窗體對象。

我只是不知道什麼是適當的代碼/語法來實現這一點。

+0

我可能是天真的,但我認爲你需要引用每個特定的用戶表單作爲一個單獨的實例......你是在談論創建一個用戶表單每次點擊一個按鈕時,基於類模塊? –

+0

對不起,如果我使用了錯誤的術語......我只是在學習VBA。我有一個在Visual Basic編輯器中創建的用戶表單。當用戶在excel中單擊按鈕時,將創建一個用戶窗體對象,並且用戶可以與此用戶窗體進行交互。點擊另一個按鈕將創建同一個用戶表單「class」的另一個用戶窗體對象。基本上相同的佈局,外觀等,但填寫在用戶表單中的數據屬於該「按鈕」。不知道,如果這仍然是非常模糊或... – Ehudz

回答

0

我認爲這可能會有所幫助,根據您的最新評論。

只需創建一個用戶表單。然後創建一個函數,打開用戶窗體並用參數化變量填充特定數據。然後爲每個按鈕調用變量傳入函數。這樣的事情:

Private Sub Button1_Click() 

load_user_form "Handy", "Code" 

End Sub 

Private Sub Button2_Click() 

load_user_form "different", "data" 

End Sub 

Function load_user_form(strField1 as String, strField2 as String) 

userForm.Show 
userForm.TextBox1.Value = strField1 
userForm.textBox2.value = strfield2 
End Function 

此代碼可能不會被發現,但它會讓你在那裏。

+0

謝謝!我想我可以將其作爲解決方案的起點 – Ehudz