2013-10-16 82 views
5

我在我的工作表中保留了一個用戶窗體控件按鈕來觸發一個宏,該宏又顯示一個用戶窗體,在窗體中我希望在複選框中顯示打開的文件(使用Workbooks集合)。我希望運行一個只對用戶選擇的文件執行操作的宏。用戶窗體不觸發初始化或激活事件

所以對於我的工作表中的按鈕,我已進行以下分配宏觀

Private Sub Button2_Click() 

    Load MyForm 

    MyForm.Show 

End Sub 

起初我一直在我的宏子是there.Since它不工作的模塊在下面的代碼,我點擊右鍵在用戶窗體和選定的視圖代碼,並保留下面的代碼那裏。但它仍然顯示相同的靜態設計的用戶形式,而不是dynamic.I保持斷點在Myform和Myform.Show()和我遍歷代碼。根本無法進入初始化或激活方法。

Private Sub MyForm_Activate() 
    'for checking the whether this method is called or not I am trying to change caption 
    MyForm.LabelSelectFile.Caption = "dhfdfldkfldzjf;zdfkz;d" 

    Dim mymyWorkBook As Workbook 
    For Each mymyWorkBook In Workbooks 
    'code for creating checkbox based on the file name displayed by the workbook collection  
    Next mymyWorkBook 
End Sub 

我不明白爲什麼事件沒有得到triggered.Please幫助我克服提前this.Thanks

回答

11

即使窗體的名稱是MyForm,你仍然需要使用userform

'~~> in your worksheet 
Private Sub Button2_Click() 
    MyForm.Show 
End Sub 

'~~> In the userform code area 
Private Sub UserForm_Initialize() 
    '~~> Your code here 
End Sub 

Private Sub UserForm_Activate() 

End Sub 

最好是始終從下拉事件下來,而不是鍵入它

enter image description here

+0

謝謝你,我才得以完成的宏。我只在昨天開始編寫用戶表單,並且我不知道該名稱應該始終爲userform。由於按鈕單擊處理程序是button1_Click(),我認爲它會應用於初始化e發泄。有趣的是,編碼動態生成複選框並從中讀取花費的時間比克服這個Gripe花費的時間少。 – saiki4116

+1

很高興這一切爲你工作:) –

相關問題