2015-05-22 55 views
-2

有點卡住VBA,即時嘗試讓我的用戶表單「ParcelDataEntry」打開時,我從我的組合框中,我有我的首頁,其中將有各種其他選項,跨越這個障礙。用戶窗體打開工作表時打開

所有54工作表有以下代碼:

Private Sub Worksheet_Open() 
    ParcelDataEntry.Show 
End Sub 
+0

下拉是無關緊要的,因爲組合框鏈接到其他工作表。您需要處理工作表事件,該事件每次在該工作表上發生任何更改時都會觸發,請確認修改後的單元格是您要修改的單元格,然後調出表單。你需要更具體地瞭解你被困在哪裏,並向我們展示你到目前爲止/你嘗試過的東西。乾杯! –

+0

你有一些代碼來顯示你的立場?你對這個過程的哪個方面感到困惑?組合框是一個ActiveX控件還是一個Form控件?您的Front頁面是工作表還是表格? –

+0

好吧對不起VBA新手。 所以我在所有54片這種代碼 私人小組Worksheet_Open() ParcelDataEntry.Show 結束子 – Jord27

回答

1

我不認爲這是一個Worksheet_Open事件。而是使用Workbook_SheetActivate事件。您應該將此代碼放置在ThisWorkbook代碼模塊中。

Private Sub Workbook_SheetActivate(ByVal Sh As Object) 
    Call OpenDataEntryForm 
End Sub 

對待你像用戶窗體對象和申報,並相應地對其進行實例化。

Public Sub OpenDataEntryForm() 

Dim dataEntryForm As ParcelDataEntry 

' Create an instance of the form 
Set dataEntryForm = New ParcelDataEntry 
' Show the form 
dataEntryForm.Show 
' Do something here 

' If the form was opened as Modal, then the code here will only run 
' once the form has been hidden/closed 
' Now destroy the object 
Set dataEntryForm = Nothing 

End Sub