将用户表单多页面启动到特定页面

我有一个名为SheetBox的用户窗体

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

“page1”用于select要导入的图纸
“page2”包含一个伪进度栏
“page3”select要保护的纸张

我现在需要的是一个方法来打开一个特定的页面,当点击一个工作表上的button时,打开用户窗体

例如:
ImportBttn打开userform的page1
ProtctBttn打开userform的page3

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

这也起作用

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 

这首先加载sheetbox,更改多页面页面,然后显示它

但感谢调用方法,当我需要知道什么button被按下时,将是有用的

在UserForms Initialise事件中,使用Application.Caller检测工作表上的哪个button被按下,然后设置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