将userform multipage启动到特定页面

时间:2013-02-12 06:22:09

标签: excel excel-vba excel-2010 vba

我有一个名为 SheetBox

的Userform

SheetBox 包含一个3页的多页窗口

  

“page1”用于选择要导入的页面
“page2”包含伪   进度条
“page3”用于选择要保护的纸张

我现在需要的是在单击工作表上的按钮时打开Userform时打开特定页面的方法

例如:
ImportBttn 打开userform的page1 ProtctBttn 打开userform的第3页

我这样做是为了减少我需要创建的userform数量,而不是创建3个单独的用户表单。这也有助于减少文件大小。

2 个答案:

答案 0 :(得分:8)

这也有效

Sub ImportBttn_Click()
Load SheetBox: SheetBox.MultiPage1.Value = 0: SheetBox.Show
End Sub

Sub ProtctBttn_Click()
Load SheetBox: SheetBox.MultiPage1.Value = 2: SheetBox.Show
End Sub

首先加载工作表,更改多页面并在之后显示

但是感谢调用者方法,当我需要知道什么按钮被按下时会很有用

答案 1 :(得分:6)

在UserForms Initialise事件中,使用Application.Caller检测工作表上的哪个按钮被按下,然后设置multipage

Private Sub UserForm_Initialize()
Select Case Application.Caller
Case "ImportBttn"
`1st tab
Me.MultiPage1.Value = 0
Case "ProtctBttn"
`3rd tab
Me.MultiPage1.Value = 2
End Select
End Sub