Para que no se mueva el formulario se me ocurre lo siguiente:
Pon el siguiente código hasta la parte superior del código de tu formulario
Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLong Lib "user32" Alias "SetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Declare Function DrawMenuBar Lib "user32" (ByVal hWnd As Long) As Long
Agrega el siguiente código en tu formulario
Private Sub UserForm_Initialize()
Dim lStyle As Long, hMenu As Long, mhWndForm As Long
mhWndForm = FindWindow("ThunderDFrame", Me.Caption)
lStyle = GetWindowLong(mhWndForm, -16)
lStyle = lStyle And Not &HC00000
SetWindowLong mhWndForm, -16, lStyle
DrawMenuBar mhWndForm
Me.Height = Me.Height - 18
End Sub
Para ir a la hoja menú pon lo siguiente en tu botón de menú
Private Sub CommandButton1_Click()
Application.ScreenUpdating = True
Sheets("Hoja1").Select
End Sub
Gracias DAM, andaba buscando esto desde hace unos buenos dìías. - Luis Carlos