Poner el UserForm en pantalla completa y centrar los controles
ajca29
Mensajes publicados
9
Estado
Miembro
-
ajca29 Mensajes publicados 9 Estado Miembro -
ajca29 Mensajes publicados 9 Estado Miembro -
Hola,
Tengo un programa de gestión de resultados deportivos y mi problema es el siguiente:
- logro mostrar el userform en pantalla completa, pero los controles se representan correctamente, pero a la izquierda del userform (solo con la parte de inicialización)
- el código adjunto, activate, hace que solo aparezca una pequeña porción del userform en la esquina superior izquierda de la pantalla.
¿Tendría una solución que proponerme?
Gracias por su ayuda
Atentamente
ajca29
Private Sub Workbook_Open()
'Ocultar las columnas que contienen advertencias
Columns("CB:DA").Select
Selection.EntireColumn.Hidden = True
UserForm2.Show
End Sub
Private Sub UserForm_Initialize()
With UserForm2
.StartUpPosition = 3
.Width = Application.Width
.Height = Application.Height
End With
End Sub
Private Sub UserForm_Activate()
Dim RW As Single, RH As Single
Me.Width = ScreenWidth * PointsPerPixel
Me.Height = ScreenHeight * PointsPerPixel
RW = ScreenWidth * PointsPerPixel / Me.Width
RH = ScreenHeight * PointsPerPixel / Me.Height
Dim Ctl As MSForms.Control
For Each Ctl In Me.Controls
Ctl.Move Ctl.Left * RW, Ctl.Top * RH, Ctl.Width * RW, Ctl.Height * RH
Next
End Sub
Private Sub Bouton_Annulation_Click()
TextBox1.Text = "" 'Borrar el contenido de los TextBox
TextBox2.Text = ""
TextBox3.Text = ""
End Sub
Configuración: Windows 8 / Internet Explorer 10.0
Tengo un programa de gestión de resultados deportivos y mi problema es el siguiente:
- logro mostrar el userform en pantalla completa, pero los controles se representan correctamente, pero a la izquierda del userform (solo con la parte de inicialización)
- el código adjunto, activate, hace que solo aparezca una pequeña porción del userform en la esquina superior izquierda de la pantalla.
¿Tendría una solución que proponerme?
Gracias por su ayuda
Atentamente
ajca29
Private Sub Workbook_Open()
'Ocultar las columnas que contienen advertencias
Columns("CB:DA").Select
Selection.EntireColumn.Hidden = True
UserForm2.Show
End Sub
Private Sub UserForm_Initialize()
With UserForm2
.StartUpPosition = 3
.Width = Application.Width
.Height = Application.Height
End With
End Sub
Private Sub UserForm_Activate()
Dim RW As Single, RH As Single
Me.Width = ScreenWidth * PointsPerPixel
Me.Height = ScreenHeight * PointsPerPixel
RW = ScreenWidth * PointsPerPixel / Me.Width
RH = ScreenHeight * PointsPerPixel / Me.Height
Dim Ctl As MSForms.Control
For Each Ctl In Me.Controls
Ctl.Move Ctl.Left * RW, Ctl.Top * RH, Ctl.Width * RW, Ctl.Height * RH
Next
End Sub
Private Sub Bouton_Annulation_Click()
TextBox1.Text = "" 'Borrar el contenido de los TextBox
TextBox2.Text = ""
TextBox3.Text = ""
End Sub
Configuración: Windows 8 / Internet Explorer 10.0
Enlaces relacionados:
- suma vba y valor en un label del userform
- UserForm permanece en segundo plano
- Guardar y modificar datos en ListBox de UserForm
- insertar una imagen en un userform con la opción examinar
- Aparecer N veces el mismo userform con un título diferente
- crear una lista con casillas de verificación en UserForm
3 respuestas
-
Hola,
Tu pregunta se parece mucho al tema tratado aquí: https://forums.commentcamarche.net/forum/affich-4340944-vba-taille-userform-sous-excel#3
Las variables de tu código en negrita solo se calculan si defines las funciones asociadas (ScreenWidth,...).
¡Hasta luego!-
-
-
-
-
https://www.cjoint.com/?0Iehv6wdEhj
Cuando voy a cjoint, me dicen que el enlace no está o ya no está disponible.
Este es un nuevo enlace.
-
-
el enlace es https://www.cjoint.com/?0IehlgxTX5mp
Confieso que no entiendo muy bien el funcionamiento de cjoint
Cordiales saludos
ajca29 -
Hola,
¿Qué versión de Excel, por favor?
Si es 2007 o superior, mira este tutorial
¡Hasta luego!
--
Si te golpeas contra un bote y suena hueco, no necesariamente es el bote el que está vacío. ;-)(Confucio)
Nota: No respondo a los mensajes privados para preguntas técnicas. Y mi bola de cristal está rota.