laboratorio nº 5 – formularios en excel

Anuncio
LABORATORIO Nº 5 – FORMULARIOS EN EXCEL
CARRERA DE CONTADURIA PÚBLICA – CPA-506
Docente: Ph.D.(c) Victor Hugo Chavez Salazar – Gestión 2015
OBJETIVO
Mejorar el nivel de comprensión y el manejo de las destrezas del estudiante para utilizar formularios en Microsoft
Excel.
1) DEFINICIÓN
Los formularios en Excel son un método para ingresar datos a nuestras hojas y son de mucha utilidad porque nos
ayudan a evitar errores en la captura de información. Podemos comparar los formularios de Excel con los formularios
impresos en papel.
2) TIPOS DE FORMULARIOS EN EXCEL
Podemos crear tres tipos diferentes de formularios en Excel.
2.1 Formularios de datos
A través de un formulario de datos podemos mostrar al usuario una sola fila de nuestra tabla de datos. En este
formulario se puede realizar la edición de la información e inclusive crear un nuevo registro para la tabla.
Excel puede generar automáticamente un formulario de datos para nuestras tablas. Un detalle importante es que si
una celda contiene una fórmula no se podrá modificar dicha fórmula mediante el formulario sino que solamente se
mostrará el resultado del cálculo sin poder editarlo.
2.2 Hoja de cálculo con controles de formulario o controles ActiveX
Ya que las celdas de una hoja de Excel nos sirven para introducir información, podemos asemejar una hoja de Excel
como un gran formulario. De esta manera, si agregamos controles de formulario a nuestra hoja podremos crear
formularios de entrada de datos muy útiles.
1
LABORATORIO Nº 5 – FORMULARIOS EN EXCEL
CARRERA DE CONTADURIA PÚBLICA – CPA-506
Docente: Ph.D.(c) Victor Hugo Chavez Salazar – Gestión 2015
Por ejemplo, podemos agregar a nuestra hoja un control de cuadro de lista para facilitar la selección de los
elementos.
De igual manera podemos agregar botones, cuadros combinados, casillas de verificación y otros controles más que
nos ayudarán a crear formularios avanzados.
2.3 Formularios de usuario VBA (Visual Basic Application)
Los formularios de usuario, también conocidos como UserForm, son cuadros de diálogo que hacen uso de controles
ActiveX y que nos permiten solicitar información al usuario. Estos formularios son creados desde el Editor de Visual
Basic y administrados desde código VBA (Visual Basic Application).
Una vez que se crea un formulario de usuario se puede arrastrar y soltar los controles Active X que se mostrarán en el
Cuadro de herramientas:
2
LABORATORIO Nº 5 – FORMULARIOS EN EXCEL
CARRERA DE CONTADURIA PÚBLICA – CPA-506
Docente: Ph.D.(c) Victor Hugo Chavez Salazar – Gestión 2015
Los diferentes tipos de formularios en Excel nos ayudaran a obtener cierto grado de control sobre el ingreso de datos
que otras personas puedan realizar sobre nuestras hojas de Excel.
3) EJEMPLO DE UN FORMULARIO DE DATOS
Después de que se crea una tabla, pueden existir varios métodos para agregar nuevas filas a una tabla de Excel. La
forma más directa de agregar una nueva fila es seleccionar la última celda de la tabla (celda inferior derecha) y
oprimir la tecla Tabulador (TAB).
Al hacer esto, Excel añadirá una nueva fila a la tabla en donde podremos introducir la información apropiada para el
nuevo registro:
3
LABORATORIO Nº 5 – FORMULARIOS EN EXCEL
CARRERA DE CONTADURIA PÚBLICA – CPA-506
Docente: Ph.D.(c) Victor Hugo Chavez Salazar – Gestión 2015
Pero existe tambien otra forma de agregar filas a una tabla de Excel y es utilizando un formulario de captura de
datos. El comando Formulario no está incluido de manera predeterminada en la cinta de opciones por lo que es
necesario agregarlo manualmente, para realizar esta operación, hacemos click en la flecha que se encuentra al
extremo derecho de la barra de acceso rápido y seleccionamos la opción Más comandos.
Se mostrará el cuadro de diálogo Opciones de Excel. En la lista “Comandos disponibles en” se selecciona la
opción Todos los comandos y dentro de la lista se elige el comando Formulario.
4
LABORATORIO Nº 5 – FORMULARIOS EN EXCEL
CARRERA DE CONTADURIA PÚBLICA – CPA-506
Docente: Ph.D.(c) Victor Hugo Chavez Salazar – Gestión 2015
Hacemos click en el botón Agregar y finalmente en el botón Aceptar para que el botón se muestre en la barra de
acceso rápido.
Ahora seleccionamos cualquiera de las celdas de la tabla y oprimiremos el botón Formulario y aparecerá un cuadro de
diálogo con los nombres de las columnas de la tabla del lado izquierdo y con los valores para cada fila en los cuadros
de texto junto a ellos.
Para agregar un nuevo registro a la tabla se debe hacer click sobre el botón Nuevo.
Se introduce la información del nuevo registro de la tabla y al finalizar se oprime el botón Cerrar y Excel colocará el
nuevo registro al final de nuestra tabla.
5
LABORATORIO Nº 5 – FORMULARIOS EN EXCEL
CARRERA DE CONTADURIA PÚBLICA – CPA-506
Docente: Ph.D.(c) Victor Hugo Chavez Salazar – Gestión 2015
4) EJEMPLO DE UN FORMULARIO DE USUARIO VBA (Visual Basic Application)
Para este ejemplo se utilizará un formulario VBA para desarrollar una aplicación en Excel que realice la conversión de
temperaturas entre grados Celsius y grados Fahrenheit.
4.1 Creación del formulario
Un formulario de usuario VBA es un cuadro de diálogo donde se agregan diversos tipos de controles como botones de
comando, cajas de texto, casillas de verificación, y otros controles más que son de gran utilidad para obtener la
información de un usuario ya sea para procesar dicha información y devolver algún resultado o simplemente para
poder almacenarla.
Para iniciar nuestro ejemplo agregaremos un nuevo formulario de la siguiente manera. En la ficha
Programador haremos click en el botón Visual Basic y se mostrará el Editor de VBA. Hacemos click derecho sobre VBA
Project y seleccionamos la opción Insertar > UserForm:
De inmediato en el panel principal se mostrará el formulario recién creado así como un pequeño cuadro de diálogo
con el título Cuadro de herramientas el cual contiene todos los controles que podremos agregar al formulario.
6
LABORATORIO Nº 5 – FORMULARIOS EN EXCEL
CARRERA DE CONTADURIA PÚBLICA – CPA-506
Docente: Ph.D.(c) Victor Hugo Chavez Salazar – Gestión 2015
El Cuadro de herramientas tiene un botón para cada tipo de control como etiqueta, cuadro de texto, cuadro
combinado, cuadro de lista, casilla de verificación, botón de opción, etc. Para agregar un control al formulario es
necesario hacer click en el botón correspondiente dentro del Cuadro de herramientas y posteriormente hacer click
dentro del formulario. Otra manera de agregar un control al formulario es pulsar el botón del control y arrastrarlo
sobre el formulario.
4.2 Agregar controles de formulario
Para nuestro ejemplo necesitamos agregar una etiqueta, un cuadro de texto, un cuadro de lista y un botón de
comando de manera que nuestro formulario quede de la siguiente manera:
Para cambiar el texto de la etiqueta y del botón de comando debemos modificar la propiedad llamada Caption y dicha
operación se realiza desde la ventana Propiedades.
Si esta ventana no se muestra actualmente en el Editor de Visual Basic se la puede seleccionar desde el menú Ver o
también se puede hacer click derecho sobre alguno de los controles y seleccionar la opción Propiedades lo cual
mostrará la ventana:
7
LABORATORIO Nº 5 – FORMULARIOS EN EXCEL
CARRERA DE CONTADURIA PÚBLICA – CPA-506
Docente: Ph.D.(c) Victor Hugo Chavez Salazar – Gestión 2015
Elegimos la propiedad Caption y al lado derecho ingresamos el valor de dicha propiedad para el control seleccionado.
En la imagen anterior vimos las propiedades de la etiqueta llamada Label1 y por lo tanto ahora se ha colocado el
texto Temperatura.
Para hacer el cambio de esta propiedad para el botón de comando solo debes seleccionarlo de la lista desplegable que
se encuentra en la parte superior de la misma ventana Propiedades. Al terminar el cambio de la
propiedad Caption tendremos el formulario de la siguiente manera:
En la imagen anterior también se puede observar que se ha cambiado el título del formulario, esto se puede realizar
modificando también la propiedad Caption del formulario mismo.
4.3 Agregar opciones al cuadro de lista
Un último cambio que se realizará a los controles es agregar los valores al cuadro de lista. Para nuestro ejemplo solo
necesitamos agregar los valores Celsius y Fahrenheit pero no existe una propiedad del control que nos permita
hacerlo sino que debemos utilizar el código VBA. Para especificar estas opciones debemos hacer doble click sobre el
formulario y seleccionar el código para el procedimiento Initialize donde colocaremos las instrucciones necesarias
para agregar las opciones, tal como se muestra en la siguiente imagen:
8
LABORATORIO Nº 5 – FORMULARIOS EN EXCEL
CARRERA DE CONTADURIA PÚBLICA – CPA-506
Docente: Ph.D.(c) Victor Hugo Chavez Salazar – Gestión 2015
La instrucción AddItem es la que nos permite agregar un nuevo elemento al cuadro de lista y la
instrucción ListIndex nos permite indicar el valor que estará seleccionado al cargarse el formulario y que será la
opción Celsius ya que es la primera opción de la lista y por lo tanto tiene asociado el índice cero.
4.4 Código del botón de comando
Finalmente, agregaremos un código VBA al botón de comando que será el encargado de realizar la conversión, para
realizar esta operación solo se debe hacer doble click sobre el botón para mostrar la ventana de código asociada. El
código que colocaremos en el procedimiento Click será el siguiente:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Private Sub CommandButton1_Click()
'Validar que se ha especificado una temperatura
If TextBox1.Value = "" Then
MsgBox "Debes especificar una temperatura"
Exit Sub
End If
'Si es Celsius convertir a Fahrenheit
If ComboBox1.ListIndex = 0 Then
temperatura = TextBox1.Value * 1.8 + 32
MsgBox temperatura & " Fahrenheit"
'Si es Fahrenheit convertir a Celsius
Else
temperatura = (TextBox1.Value - 32) * 5 / 9
MsgBox temperatura & " Celsius"
End If
End Sub

La primera validación dentro del código verificará que el cuadro de texto no esté vacío en cuyo caso desplegará
un mensaje solicitando ingresar una temperatura y posteriormente saldrá de la subrutina.

La segunda validación es para saber si el cuadro de lista tiene seleccionado la opción “Celsius”
(ComboBox1.ListIndex = 0), si es asi se realizará la conversión a grados Fahrenheit para posteriormente mostrar el
resultado.
9
LABORATORIO Nº 5 – FORMULARIOS EN EXCEL
CARRERA DE CONTADURIA PÚBLICA – CPA-506
Docente: Ph.D.(c) Victor Hugo Chavez Salazar – Gestión 2015

Por el contrario, si el cuadro de lista tiene seleccionada la opción Fahrenheit (Else) se hará la conversión a grados
Celsius. Para probar el funcionamiento de nuestro formulario es suficiente con pulsar el botón Ejecutar que se
encuentra en la barra de herramientas Estándar:
Observen el comportamiento final del formulario:
Ya que se ha terminado con la construcción del formulario y el código necesario para su funcionamiento, podemos
dar un paso adicional para llamar el formulario desde una hoja de Excel.
4.5 Cargar el formulario de usuario VBA desde una hoja de Excel
Para cargar un formulario desde una hoja de Excel será suficiente con agregar un botón de comando ActiveX desde la
ficha Programador:
10
LABORATORIO Nº 5 – FORMULARIOS EN EXCEL
CARRERA DE CONTADURIA PÚBLICA – CPA-506
Docente: Ph.D.(c) Victor Hugo Chavez Salazar – Gestión 2015
Al hacer doble click sobre el botón se mostrará el código asociado al evento Click del botón y luego debemos ingresar
la siguiente instrucción:
Con esto será suficiente para que al momento de pulsar el botón de la hoja de Excel se muestre el formulario de
usuario VBA recién creado y podamos realizar la conversión de temperaturas entre grados Celsius y grados
Fahrenheit.
11
Descargar