Excel VBA制做简易的Layout
直接上图

直接上GIF

窗体设计图
控件
左部分是一个大Label控件,名字设置SiderBar
里面Logo是Label控件,名字设置Logo
Logo右边是Image控件,名字设置LogoIcon
Logo下面一共设置6个SiderBar,都是 image控件 + Label控件,名字是Sider barOne,SiderBarOneIcon 到 Sider barSix,SiderBaSixIcon
右边是一个frame控件,名字设置成Content
frame里面是一个MultiPage控件
具体代码
Option Explicit
Private Sub LogoIcon_Click()
With Me
If SiderBar.Width = 156 Then
.Logo.Visible = False
.SiderBarOne.Visible = False
.SiderBarTwo.Visible = False
.SiderBarThree.Visible = False
.SiderBarFour.Visible = False
.SiderBarFive.Visible = False
.SiderBarSix.Visible = False
.SiderBar.Width = 48
.LogoIcon.Left = (.SiderBar.Width - .LogoIcon.Width) / 2
.Content.Left = 48
.Content.Width = .Width - .Content.Left
Else
.Logo.Visible = True
.SiderBarOne.Visible = True
.SiderBarTwo.Visible = True
.SiderBarThree.Visible = True
.SiderBarFour.Visible = True
.SiderBarFive.Visible = True
.SiderBarSix.Visible = True
.SiderBar.Width = 156
.LogoIcon.Left = 114
.Content.Left = 156
.Content.Width = .Width - .Content.Left
End If
End With
End Sub
Private Sub SiderBarOne_Click()
Me.MultiPage1.Value = 0
End Sub
Private Sub SiderBarTwo_Click()
Me.MultiPage1.Value = 1
End Sub
Private Sub SiderBarThree_Click()
Me.MultiPage1.Value = 2
End Sub
Private Sub SiderBarFour_Click()
Me.MultiPage1.Value = 3
End Sub
Private Sub SiderBarFive_Click()
Me.MultiPage1.Value = 4
End Sub
Private Sub SiderBarSix_Click()
Me.MultiPage1.Value = 5
End Sub
Private Sub UserForm_Initialize()
With Me
.Logo.Caption = "eProduct"
.Logo.TextAlign = fmTextAlignCenter
.Logo.Font = "微软雅黑"
.Logo.ForeColor = RGB(255, 255, 255)
.Logo.BackStyle = fmBackStyleTransparent
.Logo.Font.Size = 20
.SiderBar.BackColor = RGB(0, 70, 254)
.MultiPage1.Value = 0
End With
End Sub;
本文介绍如何使用Excel VBA创建一个带有导航栏和多页内容的自定义用户界面。该界面包括一个可折叠的侧边栏,包含六个导航选项,点击Logo图标可以切换侧边栏的宽度,点击侧边栏项可在多页内容间切换。

84

被折叠的 条评论
为什么被折叠?



