Forms

Hola fer como andas maestro.
Me podrías enseñar como crear forms y como caregarlos al ejecutar un macro.
Atentamente.
Tecnopunta

1 Respuesta

Respuesta
1
Es tema para varios capítulos de cualquier manual de VBA pero veamos lo básico.
Dentro del Editor de Visual Basic (Alt + F11), empezarás por elegir la opción "Insertar" | "UserForm" del menú.
Esto te dará un panel donde podrás colocr controles Activex que cumplen diversas funciones, en general todas vinculadas a capturar datos del usuario. Si no estuviera visible debes mostrar la barra de herramientas de Cuadro de Controles.
Uno de ellos, por ejemplo es el cuadro combinado o combobox. Consiste en una lista descolgable que permite seleccionar alguna de las opciones listadas.
Seelecciona la herramienta y dibújalo sobre le panel. Con botón derecho sobre él elige la opción "Propiedades". Busca aquella que dice: LinkedCell e ingresa en esa casilla la celda que recibirá la selección que hiciste. También coloca en el elemento ListFillRange un nombre del rango donde está la lista (ListVal, por ejemplo).
Puedes configurar otras propiedades aquí. Una vez que lo hayas hecho.
Configurado tal control, si das doble click sobre él surgirá el panel de declaraciones de macros para este formulario. Allí verás el nombre del control asociado a un evento, usualmente "Change" (cambio). Sin embargo este no es el único evento posible. Vale decir que según los que le pase al control se ejecutará una macro que está indicada para esa situación.
Es práctica generalizada incluir -cuando menos- dos botones de comando (CommandButton) uno para disparar el proceso de acciones a realizar con los imputs dados en el userform y, el otro botón, para cancelar.
Una vez que hayas terminado la configuración de tus controles, la siguiente macro lanza el formulario:
Userform1.show
Una vez terminada la carga y validación de datos, tienes que cerrar el formulario. Esto se logra con la instruccuión:
Unload Userform1
Como verás, tienes mucho campo por delante para investigar.
Espero haberte orientado
Un gran abrazo!
Fernando
Fernando muchas gracias por tu ayuda desde ya que seguiré investigando sobre el tema.
Ahora me gustaría saber otra consulta: es posible al abrir un archivo de excel ocultar las hojas de excel correspondiente a ese archivo y cargar un form en su lugar.
Atentamente.
Ignacio
En realidad, lo que se suele hacer es mimimizar el libro y mostrar el formulario. Para que se ejecute al abrir deberás colocar este código en el panel del elemento "ThisWorkbook":
Private Sub Workbook_Open()
ActiveWindow.WindowState = xlMinimized
UserForm1.Show
End Sub
Recuerada que no es posible ocultar todas las hojas de un libro, siempre debe quedar por lo menos una, pero creo que mi propuesta logra el efecto que buscas.
Un abrazo!
Fernando

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas