Userform仅在特定工作表上打开

时间:2015-05-26 22:57:55

标签: excel vba excel-vba excel-2010

我正在尝试创建一个用于包裹数据的工作簿,工作簿上的工作表特定于一年中的几周,因此我有52张工作周,名为WK 1,Wk 2,Wk 3等等..和另一张名为" Front"当用户打开工作簿时,它会自动显示,即使它保存在另一张工作表上。

从前面的屏幕,他们可以选择当前的周数,从而引导他们的工作表和用户形式弹出数据条目开始,我唯一的问题是,如果我点击返回首页用户表单出现。有什么方法可以禁止它打开吗?

我目前有一些代码用于"字体"当工作簿打开时,它会阻止它打开但是当我移动到工作表并再次返回时它不会停止。

所以这就是我目前的前片代码。

Private Sub ComboBox1_Change()
Sheets(ComboBox1.Value).Select
Application.EnableEvents = False
Application.EnableEvents = True

这就是我目前对工作簿代码的看法。

Private Sub Workbook_Open()
Worksheets("Front").Activate

Dim iCount As Integer

Sheet1.ComboBox1.Clear

For iCount = 1 To Sheets.Count
    Sheet1.ComboBox1.AddItem Sheets(iCount).Name
Next iCount
End Sub

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

Public Sub OpenDataEntryForm()

Dim dataEntryForm As ParcelDataEntry

Set dataEntryForm = New ParcelDataEntry

dataEntryForm.Show

Set dataEntryForm = Nothing

End Sub

1 个答案:

答案 0 :(得分:1)

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    If Sh.Name <> "Front" Then OpenDataEntryForm
End Sub