所以我有一个多页,我希望在两个页面上都显示相同的按钮。我可以将其放置在外部,但是多页页面的边框非常丑陋,因此我尝试将所有内容都放置在页面上。不幸的是,您无法使用相同的名称来命名项目(例如组合框)。是否有一种解决方法,可以删除边框并仅显示页面名称,或者在两个页面上的项目上使用相同的名称?
答案 0 :(得分:1)
为此目标带来一些乐趣。
在带有TabStrip,2个框架和其他控件的Editor中考虑此用户窗体。
框架由Frame0
,Frame1
等命名。
假设 Frame0 是位置参考,并且在显示UserForm时首先显示,下面的代码就是您想要的。
代码:
Option Explicit
Private Sub TabStrip1_Change()
Dim i As Long, lActiveTabIndex As Long
lActiveTabIndex = Me.TabStrip1.Value
For i = 0 To Me.TabStrip1.Tabs.Count - 1
Me.Controls("Frame" & i).Visible = (i = lActiveTabIndex)
Next i
End Sub
Private Sub UserForm_Initialize()
Dim i As Long
With Me
.Height = 288 ' Adjust to your desired height
' Align all FrameX top/left to same as Frame0, delete Caption and SpecialEffect
For i = 0 To Me.TabStrip1.Tabs.Count - 1
With Me.Controls("Frame" & i)
.Top = Me.Frame0.Top
.Left = Me.Frame0.Left
.Caption = ""
.SpecialEffect = fmSpecialEffectFlat
End With
Next i
End With
' Ensure frame for first tab is displayed
TabStrip1_Change
End Sub
首先加载用户表单(没有保存屏幕截图,也没有保存工作簿,对不起)。