VBA:userform多页模板

VBA:userform多页模板,vba,userform,multipage,Vba,Userform,Multipage,我正在制作一个Userform,它允许用户同时更改多个图表的边界。我在第一个多页页面上计算出了所有内容的外观,现在我想知道是否有任何方法可以一次添加11页,使其看起来像第一页。我的用户表单出现在下面 我还处于设计阶段。如果设计中有一种方法可以做到这一点,那就太好了。如果在Initialize sub中有一种方法也很好。根据您的预期用途,您应该使用选项卡条,而不是多页,因为其中的大多数控件都是相同的布局(相同数量的控件)。MultiPage用于在每个页面上使用不同的控件对数据进行分类 考虑下面这

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


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

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

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


左边的正方形是一个图片支架,我没有为它放代码

使用下面的代码来处理选项卡更改,当单击其他选项卡时,userform中的某些元素将更改

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
  • 启动用户表单时(不设置
    userform\u Initialize
    ):
  • 选项卡2已单击:
  • 选项卡1已单击:

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

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


    左边的正方形是一个图片支架,我没有为它放代码

    使用下面的代码来处理选项卡更改,当单击其他选项卡时,userform中的某些元素将更改

    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
    
  • 启动用户表单时(不设置
    userform\u Initialize
    ):
  • 选项卡2已单击:
  • 选项卡1已单击:

  • 如果您从其中一个进行完全选择,并将粘贴复制到另一个,则它将关闭。虽然不是完美的,但是如果所有看起来都相似的话,你应该考虑ToCiSIP,而不是多页,初始代码更少,维护也太少。建议您在这些文本框旁边添加旋转按钮。如果您从一个文本框中进行完全选择,并将粘贴复制到另一个文本框,则该按钮将关闭。虽然不是完美的,但是如果所有看起来都相似的话,你应该考虑ToCiSIP,而不是多页,初始代码更少,维护也太少。建议您在这些文本框旁边添加旋转按钮。谢谢!这是我第一次尝试用户表单,我主要是自学。你的回答很有帮助!非常感谢。这是我第一次尝试用户表单,我主要是自学。你的回答很有帮助!