vertical menu bar with excel + vba

Опубликовано: 16 Июнь 2026
на канале: Excel Vba Automation
148
3

source code
-----------------------------------userform------------------------------------

Private Sub CommandButton2_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
CommandButton2.BackColor = vbRed
CommandButton4.BackColor = vbWhite
CommandButton5.BackColor = vbWhite
CommandButton7.BackColor = vbWhite
End Sub
Private Sub CommandButton4_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
CommandButton4.BackColor = vbRed
CommandButton2.BackColor = vbWhite
CommandButton5.BackColor = vbWhite
CommandButton7.BackColor = vbWhite
End Sub

Private Sub CommandButton5_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
CommandButton5.BackColor = vbRed
CommandButton4.BackColor = vbWhite
CommandButton2.BackColor = vbWhite
CommandButton7.BackColor = vbWhite
End Sub

Private Sub CommandButton7_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
CommandButton7.BackColor = vbRed
CommandButton4.BackColor = vbWhite
CommandButton5.BackColor = vbWhite
CommandButton2.BackColor = vbWhite
End Sub

Private Sub Frame1_MouseMove(ByVal Button As Integer, ByVal Shift As Integer, ByVal X As Single, ByVal Y As Single)
CommandButton7.BackColor = vbWhite
CommandButton4.BackColor = vbWhite
CommandButton5.BackColor = vbWhite
CommandButton2.BackColor = vbWhite
End Sub

Private Sub Image2_Click()

If Me.Frame1.Visible = False Then
Me.Frame1.Width = 0
Call Loopme
Else
Call Loopme2
End If
End Sub


Private Sub UserForm_Activate()
Me.Frame1.Visible = False
End Sub

Private Sub UserForm_Click()

End Sub


-------------- ------ --------module--------------------------------------------------------------------------

Public Declare PtrSafe Sub Sleep Lib "kernel32" (ByVal Milliseconds As LongPtr)

Sub Loopme()
UserForm2.Controls.Item("Frame1").Visible = True
For i = 1 To 15
Sleep 5
DoEvents
UserForm2.Controls.Item("Frame1").Width = UserForm2.Controls.Item("Frame1").Width + 8
Next
UserForm2.Controls.Item("Frame1").Width = 198

End Sub

Sub Loopme2()

For i = 1 To 15
Sleep 5
DoEvents
UserForm2.Controls.Item("Frame1").Width = UserForm2.Controls.Item("Frame1").Width - 8
Next
UserForm2.Controls.Item("Frame1").Width = 198
UserForm2.Controls.Item("Frame1").Visible = False

End Sub