Webcindario: Hacer Backups
Ir al asistente SQL

Desplegar Funciones de celda

Compactar Código de macro

Desplegar Orígenes de datos

Desplegar Herramientas

Compactar Artículos


Compactar Servicios

Compactar Webmaster


Compactar Misceláneas


Crear formulario y cargar datos

Fecha: 12/Set/08

Introducción

En muchas ocasiones, puede ser necesario cargar datos a través de formularios. En esta entrega, en un ejemplo sencillo (pero completo) prepararemos una hoja para recibir los datos, crearemos un formulario, codificaremos su funcionalidad (elemental), crearemos una macro para vincular un botón en la hoja de cálculo con el formulario y cargaremos datos.

Este tutorial consiste en crear una agenda elemental y cargar los datos mediante un formulario.

1- Preparamos la hoja de cálculo

En la Hoja1, en las celdas 'A1' y 'B1' pondremos 'Nombre' y 'Fecha Nac.' las que serán los encabezados de los datos de nuestra agenda (fig. 1).

Fig. 1

Fig. 1

2- Creamos el formulario

Para crear el formulario, accedemos al IDE VBA presionaldo [ALT]+[F11]; una vez allí, en el menú 'Insertar' seleccionamos 'UserForm' (fig. 2).

Fig. 2

Fig. 2

En el escritorio aparecerá un formulario vacío y el 'Cuadro de herramientas' (fig. 3).

Si no apareciera, lo podremos visualizar desde el menú 'Ver' y le damos a 'Cuadro de herramientas'.

Fig. 3

Fig. 3

Ejecutamos esta secuencia dos veces:
- en el 'Cuadro de herramientas' hacemos click en la tecla 'Etiqueta' (representada por una 'A') (fig. 4).
- hacemos click en el formulario (se pegará la etiqueta).

Con esto, habremos creado e insertado 2 etiquetas en el formulario. Podemos cambiarles la posición y tamaño a gusto.

Fig. 4

Fig. 4

Ejecutamos esto para cada etiqueta
- En el formulario, seleccionamos una etiqueta.
- Vamos al cuadro de Propiedades, buscamos 'Caption' y le ponemos 'Nombre' a la primera y 'Fecha Nac.' a la segunda (fig. 5).

Fig. 5

Fig. 5

Veremos que, en el formulario, estas propiedades han sido actualizadas de a una (fig. 6).

Fig. 6

Fig. 6

Ejecutamos esta secuencia dos veces:
- en el 'Cuadro de herramientas' hacemos click en la tecla 'Cuadro de texto' (representada por una 'ab|').
- hacemos click en el formulario (se pegará un cuadro de texto).

Con esto, habremos creado e insertado 2 cuadros de texto en el formulario. Podemos cambiarles la posición y tamaño a gusto (fig. 7).

Fig. 7

Fig. 7

Ya debemos ver el formulario como se observa en la fig. 8.

Fig. 8

Fig. 8


- En el 'Cuadro de herramientas' hacemos click en la tecla 'Botón de comando' (representada por un rectángulo pequeño) (fig. 9).
- Hacemos click en el formulario (se pegará un botón de acción).

Fig. 9

Fig. 9

Con el botón seleccionado, vamos al cuadro de Propiedades, buscamos 'Caption' y le ponemos 'Aceptar' (fig. 10).

Fig. 10

Fig. 10

Ya debemos ver el formulario completo, como en la fig. 11.

Fig. 11

Fig. 11

3- Agregamos funcionalidad al formulario mediante código

En el formulario, hacemos click con el botón contextual (derecho) y seleccionamos 'Ver código' (fig. 12).

Fig. 12

Fig. 12

Aparecerá el editor del módulo del formulario (fig. 13).

Fig. 13

Fig. 13

En el listado de elementos (izquierda) seleccionamos 'CommandButton1' (fig. 14).

Fig. 14

Fig. 14

Aparecerá el encabezado del evento 'Private Sub CommandButton1_Click()', que es el predeterminado de un botón de acción (fig. 15).

Editamos insertando el siguiente código:

Dim celda As Range
' recorre la columna hasta que encuentra 1ra celda libre
Do
Set celda = Hoja1.Range("A1").Offset(1, 0)
Loop While celda <> ""
celda.Value = Me.TextBox1.Value ' carga nombre
celda.Offset(0, 1).Value = Me.TextBox2.Value ' carga fecha nac
Me.TextBox1.Value = "" ' borra nombre
Me.TextBox2.Value = "" ' borra fecha nac

- Declara una variable tipo Range.
- El bucle Do ... Loop While busca la primera celda vacía.
- Inserta en la primera celda vacía el nombre ingresado en el formulario.
- Inserta en la celda de la derecha (columna B) la fecha ingresada.
- Vacía los dos controles para un nuevo ingreso.

Fig. 15

Fig. 15

4- Creamos una macro para vincular un botón en la hoja de cálculo con el formulario

En el menú 'Insertar', seleccionamos 'Módulo' (fig. 16).

Fig. 16

Fig. 16

Escribimos el siguiente código:

Sub CargarDatos()
UserForm1.Show
End Sub

(fig. 17).

Que llamará y mostrará al formulario.

Fig. 17

Fig. 17

En Excel, en la hoja de cálculo, insertamos un rectángulo o cualquier figura de nuestro agrado; le he puesto 'Cargar datos' (fig. 18).

Fig. 18

Fig. 18

Con esta figura seleccionada, hago click con el botón contextual y selecciono 'Asignar macro' (fig. 19).

Fig. 19

Fig. 19

Aparecerá un formulario con la lista de macros disponibles (en este caso: una sola), seleccionamos la macro 'CargarDatos' y le damos al botón 'Aceptar' (fig. 20).

Fig. 20

Fig. 20

5- Cargamos datos ...

Hacemos click en el botón de la hoja de cálculo, la macro asociada llamará y mostrará el formulario.

Cargamos un nombre y una fecha y pulsamos el botón 'Aceptar' (fig. 21).

Fig. 21

Fig. 21

Los datos se irán cargando automáticamente en la 1ra fila libre de la hoja de cálculo (fig. 22).

Para cerrar el formulario, de damos al botón 'Cerrar' (cruz en la esquina superor derecha).

Fig. 22

Fig. 22

Conclusión

No hay que olvidar que hay que tener habilitadas las macros para obtener la funcionalidad creada.


Espero que esta guía le sea útil.


¡ HTML 4.01 Válido! ¡ CSS 2.1 Válido!
Ir arriba

Inicio: 02/Ago/08
Actualizado: 20/08/09