VBA:userform多页面模板

时间:2017-10-09 21:38:20

标签: vba userform multipage

我正在创建一个Userform,允许用户一次更改多个图表上的边界。我想出了第一个多页上应该看的一切,现在我想知道是否有任何方法我可以一次添加11页看起来就像第一页一样。我的用户表单显示在下方。

Userform

我仍处于设计阶段。如果有一种方法可以在设计中做到这一点,那就太好了。如果在Initialize子中有一种方法可以做得很好。

1 个答案:

答案 0 :(得分:2)

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

考虑这个简单的用户形式来说明在这里使用TabStrip的好处:

UserForm Design
左侧的正方形是我没有放置代码的图片夹。

使用以下代码来处理标签更改,当点击不同的标签时,用户形式中的某些元素会发生变化。

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)时:
    FirstLaunch
  2. Tab2点击:
    Tab2Click
  3. Tab1点击:
    Tab2Click