我有一个在Excel中构建的Userform,它有大约十个使用MultiPage设置的选项卡。问题是我的空间不足以获得额外的标签,并且真的想用更友好的导航菜单或工具栏替换标签。我查看了微软工具栏控件,它接近我正在寻找但我不能改变高度,下拉列表必须点击箭头和文本,这在我看来不是那么直观
所以我的问题是,您是否熟悉更好的多页导航设置,可能使用ActiveX的形式?
答案 0 :(得分:1)
我建议将您的用户表格分成单独的表格或基于类别的子表格。 如果它们都是无模式,则可以让一个表单启动另一个表单,并且两个表单可以同时在屏幕上。这样,您可以连续使用它们。
要以无模式启动表单,当您Form1.Show
将其更改为Form1.Show vbModeless
时
答案 1 :(得分:0)
我最终做的是制作一个列表框,其中包含我的多页面的所有不同页面,然后将此列表框放在我的Userform的左侧,然后使用此代码
填充列表框
i = 0
With Main_Window.form_navigation_list
.AddItem "Domestic"
.List(i, 0) = "Page 1"
.List(i, 1) = 0
i = i + 1
.AddItem
.List(i, 0) = "Page 2"
.List(i, 1) = 1
i = i + 1
End With
然后我点击了
Private Sub form_navigation_list_Click()
Dim i As Integer
Dim SelectedRow As Integer
For SelectedRow = 0 To Main_Window.form_navigation_list.ListCount - 1
If Main_Window.form_navigation_list.Selected(SelectedRow) Then
nav_page = Main_Window.form_navigation_list.List(SelectedRow, 1)
With Main_Window
.MultiPage1.Value = nav_page
.Show
End With
End If
Next
End Sub
我开始使用flexgrid,但一直遇到内存泄漏问题,程序会崩溃,所以我换成了列表框,现在工作正常。现在我可以自定义此列表框,使其看起来更像我想要的导航。