VBA: 用户表单多页模板

VBA: userform multipage template

我正在制作一个允许用户同时更改多个图表上的边界的用户表单。我弄清楚了第一个多页上的所有内容应该如何显示,现在我想知道是否有任何方法可以一次添加 11 个页面以使其看起来像第一页。我的用户表单出现在下方。

我还在为此设计阶段。如果在设计中有一种方法可以做到这一点,那就太好了。如果在 Initialize sub 中有一种方法也很好。

根据您的预期用途,您应该使用 TabStrip 而不是 MultiPage,因为其中的大多数控件都是相同的布局(相同控制量)。 MultiPage 用于在每个页面上使用不同的控件对数据进行分类。

考虑这个简单的用户表单来演示在这里使用 TabStrip 的好处:


左边的方块是我没有输入代码的图片夹。

使用下面的代码来处理选项卡更改,当单击不同的选项卡时,用户表单中的某些元素将会更改。

Option Explicit

Private Sub TabStrip1_Change()
    Dim TabX As String
    With Me.TabStrip1
        TabX = .Tabs(.Value).Caption
        Debug.Print "ActiveTab:", TabX
    End With
    Me.Frame1.Caption = "Maximum Bounds (" & TabX & ")"
    Me.Frame2.Caption = "Minimum Bounds (" & TabX & ")"
    Me.TextBox1.Value = "TextBox2 for " & TabX ' Forgot to change this Value to TextBox1 before the screenshot...
    Me.TextBox2.Value = "TextBox2 for " & TabX
End Sub
  1. 启动用户表单时(未设置 UserForm_Initialize):
  2. 点击了 Tab2:
  3. 点击了 Tab1: