2017-10-09 244 views
0

我正在制作一个用户窗体,允许用户一次更改多个图表的界限。我想出了第一个多页面应该如何显示,现在我想知道是否有任何方法可以一次添加11页,看起来就像第一页。我的用户窗体出现在下面。VBA:用户窗体多页模板

Userform

我仍然在这个设计阶段。如果有一种方法可以在设计中做到这一点,那就太棒了。如果在初始化子部分中有一种方法可能会很棒。

+0

如果你做一个完整的从一个选择,一个nd复制粘贴到另一个它将会关闭。虽然不完美。 – PGCodeRider

+1

可能是你应该考虑** TabStrip **而不是多页面,如果所有看起来相似,初始和维护代码都较少。建议您在这些文本框旁边添加** SpinButton **。 – PatricK

回答

2

根据您的使用目的,你应该使用TabStrip控件,而不是多页是最控件中是相同的布局(相同数量的控制)。多页面旨在用每页上的不同控件对数据进行分类。

考虑一个简单的用户窗体在于向世人证明使用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
+0

谢谢!这是我第一次进入用户表单,我主要是在教我自己。你的回答非常有帮助! –