Como puedo minimizar un userform y aun así poder seguir usando la hoja de excel del libro

Escribo para preguntarles si es posible minimizar un userform y aun así poder seguir usando la hoja de excel del libro.

Tengo Windows 8, Excel 2010

1 Respuesta

Respuesta
2

H o l a :

Prueba el siguiente código que se utiliza para minimizar el userform:

Private Declare Function FindWindow Lib "user32" Alias "FindWindowA" (ByVal lpClassName As String, ByVal lpWindowName As String) 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 GetWindowLong Lib "user32" Alias "GetWindowLongA" (ByVal hWnd As Long, ByVal nIndex As Long) As Long
Private Const WS_MINIMIZEBOX As Long = &H20000
Private Const WS_MAXIMIZEBOX As Long = &H10000
Private Const GWL_STYLE As Long = (-16)
Private Sub UserForm_Initialize()
    Dim lngMyHandle As Long, lngCurrentStyle As Long, lngNewStyle As Long
    lngMyHandle = FindWindow("THUNDERDFRAME", Me.Caption)
    lngCurrentStyle = GetWindowLong(lngMyHandle, GWL_STYLE)
    lngNewStyle = lngCurrentStyle Or WS_MINIMIZEBOX Or WS_MAXIMIZEBOX
    SetWindowLong lngMyHandle, GWL_STYLE, lngNewStyle
End Sub

S a l u d o s . D a n t e   A m o r

Si es lo que necesitas. Recuerda valorar la respuesta.

Pero al minimizarlo se minimiza junto con el archivo de Excel y lo que quiero es minimizar el userform para ir trabajando en la hoja de excel,

Gracias de Antemano

Cambia la propiedad Showmodal de tu formulario a False:

Perfecto, ahora si, solo hice un cambio.

Para los usuarios de 64-Bit debemos agregar en la declaración PtrSafe para que cambiemos el código.

Private Declare PtrSafe Function

Muchas Gracias Dante, que buen aporte!

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas