2015-05-22 57 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