Sei sulla pagina 1di 42
Instituto Profesional En Computación IPC S.A. “Computación y Amistad“ EXCEL III 2010 Énfasis en Macros
Instituto Profesional En Computación IPC S.A.
“Computación y Amistad“
EXCEL III 2010
Énfasis en Macros
El Instituto de Computación de Costa Rica
-
Desde 1986.

IPC Computación

Excel 2010

i

Contenido

Contenido P ANEL DE C ONTROL 1 P ROPIEDADES DE LOS C ONTROLES 22 I NGRESANDO
Contenido P ANEL DE C ONTROL 1 P ROPIEDADES DE LOS C ONTROLES 22 I NGRESANDO
Contenido P ANEL DE C ONTROL 1 P ROPIEDADES DE LOS C ONTROLES 22 I NGRESANDO

PANEL DE CONTROL

1

PROPIEDADES DE LOS CONTROLES

22

INGRESANDO AL PROGRAMA

2

EDITOR DE VISUAL BASIC EN TIEMPO DE

PERSONALIZAR MICROSOFT EXCEL 2010

2

DISEÑO

24

PROTECCIÓN DEL DOCUMENTO

3

ELEMENOS DEL FORMULARIO

24

ESTABLECER UNA CONTRASEÑA PARA UN ARCHIVO

3

EDITOR DE VISUAL BASIC TIEMPO DE DISEÑO PROGRAMACIÓN DE ELEMENTOS DEL

PROTECCIÓN

DE

HOJAS

3

25

PROTECCIÓN DE LA HOJA DE LOS DATOS DEJANDO MODIFICAR RANGOS

3

CONSULTA DE DATOS POR MEDIO DE UN FORMULARIO (MÉTODO SIMPLE)

26

PROTECCIÓN OCULTANDO FÓRMULAS

4

Procedimiento

 

26

PROTECCIÓN PERMITIENDO QUE LOS USUARIOS

CONSULTA POR MEDIO DE UN FORMULARIO

27

MODIFIQUEN RANGOS

4

ASIGNAR BOTÓN AL FORMULARIO CONSULTA 28

PROTECCIÓN DE ELEMENTOS DEL LIBRO

4

MACRO PARA ELIMINAR CON FORMULARIO

29

SI()

5

MACRO PARA IMPRIMIR LA LISTA DE DATOS

31

Condición

 

5

INSTRUCCIONES MACRO ADICIONALES

33

Verdadero/Falso

5

Call [Nombre de la macro]

33

SI () Y LAS FUNCIONES LÓGICAS Y, O Y NO

6

IF

33

Y()

sintáxis:

6

Range

33

O()

sintáxis:

6

Selection.End

33

NO()

10

11

6

Entirerow.Insert Activecell.Offset

34

34

NO(valor_lógico)

6

Selection.Entirerow.Delete

34

¿Qué es VBA?

7

Hoja#.Printpreview

34

Consideraciones iniciales

7

Hoja#.Printout

34

Activar ficha de programador

8

Sheets.Add

34

Formas para crear macros

8

Sheets("Hoja#").Select

35

Utilizando la grabadora de macros

9

Sheets.Delete

35

Crear macros grabadas

9

Application.Screenupdating

35

Selection.Font.Bold

35

Enlazar macro a un botón Modificando el código

Selection.Font.Italic Selection.Font.Underline

35

35

DEFINICIÓN DE TERMINOLOGÍA

13

Centrar el texto

36

CUADROS DE MENSAJE Y ENTRADA

13

Alinear

a

la

izquierda

36

InputBox

 

16

Alinear a la derecha

36

FORMULARIOS

18

Cambiar a mayúsculas

36

VENTANA DE PROPIEDADES

20

Comandos Para Los Formularios

36

Cuadro de Herramientas

20

Userform#.Show

36

CONTROLES DEL CUADRO DE HERRAMIENTAS

21

Userform#.Hide

36

ESTÁNDAR

Userform#.Printform

36

 

PERSONALIZAR BARRA DE ACCESO RÁPIDO

37

Agregar botones

 

37

Unidad 1

Introducción

Unidad 1 Introducción Es importante explorar al máximo las capacidades de esta potente hoja de cálculo,
Unidad 1 Introducción Es importante explorar al máximo las capacidades de esta potente hoja de cálculo,
Unidad 1 Introducción Es importante explorar al máximo las capacidades de esta potente hoja de cálculo,

Es importante explorar al máximo las capacidades de esta potente hoja de cálculo, aprender además la forma rápida y eficiente de obtener los mejores resultados.

Es por esto que ahorrar tiempo automatizando procesos con macros, Tablas Dinámicas, o elaborando funciones condicionales de forma apropiada, gestiona con facilidad cualquier base de datos o lista dando resúmenes o procesos de interés en poco tiempo.

dando resúmenes o procesos de interés en poco tiempo. Por esta razón, es de gran importancia
dando resúmenes o procesos de interés en poco tiempo. Por esta razón, es de gran importancia

Por esta razón, es de gran importancia contar con recurso humano capacitado, que conozca las nuevas formas de cómo debe trabajar en el mercado. Motivo por el cual, el alumno que lleve este curso aprenderá los conceptos y fundamentos de macros de Excel, los métodos para la transformación de datos utilizando programación VBA y funciones básicas para llevar a cabo el manejo de la información.

Panel de Control

Ya hemos visto en el curso anterior las razones por lo que esta aplicación de Windows es importante para Excel, por eso es de suma importancia tenerlo presente.

Panel de Control El Panel de control es el medio por el cual se configura
Panel de Control
El Panel de control es el medio por el cual se configura la forma de trabajo de Windows,
para llegar a este elemento,
presione el botón, luego seleccione
. La ventana mostrará varios iconos, de los cuales, los que se
indican a continuación se utilizan para establecer las preferencias de puntuación, fecha,
hora y demás.
Permite definir los parámetros de presentación de la fecha, hora,
moneda, carácter decimal a utilizar, así como el separador de listas
(argumentos), entre otros. Es conveniente hacer hincapié en que
dependiendo del idioma establecido, así se ajustan estos parámetros.

Unidad 2

Nociones básicas

Unidad 2 Nociones básicas Ingresando al programa Para llegar a la ventana de trabajo de Excel,
Unidad 2 Nociones básicas Ingresando al programa Para llegar a la ventana de trabajo de Excel,
Unidad 2 Nociones básicas Ingresando al programa Para llegar a la ventana de trabajo de Excel,

Ingresando al programa

Para llegar a la ventana de trabajo de Excel,

.
.

luego seleccione

haga clic en algunos instantes.

presione el botón

haga clic en algunos instantes. presione el botón en la barra de tareas , , luego

en la barra de tareas,

, luego seleccione y por último

Esto mostrará la pantalla de presentación, después de

Personalizar Microsoft Excel 2010

Esta opción se activa desde el menú Archivo y luego Opciones. El objetivo de esto, es la modificación de la presentación del programa, ajustando éste a como el usuario se sienta más cómodo.

ajustando éste a como el usuario se sienta más cómodo. La importancia principal de este punto,

La importancia principal de este punto, es el poder configurar el programa adecuadamente para la elaboración de Macros o automatizaciones de operaciones en Excel. Este punto se verá con su explicación cuando se ingrese a macros.

Unidad 3

Proteger archivos

Unidad 3 Proteger archivos Protección del documento Al guardar un libro, podemos proteger los datos con
Unidad 3 Proteger archivos Protección del documento Al guardar un libro, podemos proteger los datos con
Unidad 3 Proteger archivos Protección del documento Al guardar un libro, podemos proteger los datos con
Unidad 3 Proteger archivos Protección del documento Al guardar un libro, podemos proteger los datos con

Protección del documento

Al guardar un libro, podemos proteger los datos con una clave de acceso, también conocida como “password”, esto con el propósito de que la información no se pueda accesar por usuarios no autorizados. Es fundamental que recuerde la contraseña. Si la olvida, Excel no puede recuperarla. Guarde las contraseñas que anote en un lugar seguro, lejos de la información que ayudan a proteger.

Establecer una contraseña para un archivo

Para colocar a un archivo una contraseña de acceso diríjase al cuadro de guardado y antes de dar clic en el botón de Guardar de clic en el Botón de Herramientas y luego Opciones generales, proceda a ingresar las contraseñas, acepte y confirme las mismas, por ultimo guarde su documento.

y confirme las mismas, por ultimo guarde su documento. Protección de hojas Para proteger la hoja,

Protección de hojas

Para proteger la hoja, es decir, permitir la visualización del contenido sin que el usuario pueda hacer modificaciones a la misma, podemos hacerlo desde la ficha Inicio, grupo Celdas, Opción Formato, de la cual se aplicará “Proteger hoja”.

Protección de la hoja de los datos dejando modificar Rangos

Para permitir que sólo los usuarios autorizados se desplacen en celdas específicas y modifiquen algunos datos, puede proteger algunas celdas de la hoja electrónica, además de agregar una contraseña. Primeramente se deben desbloquear las celdas a las cuales se tendrán acceso, para esto se realiza lo siguiente.

se tendrán acceso, para esto se realiza lo siguiente. 1. Seleccione cada celda o rango que

1. Seleccione cada celda o rango que desea desbloquear y en la ficha Inicio, en el grupo Celdas, haga clic en Formato y luego en Formato de celdas, de la ficha Protección, desactive la casilla de verificación Bloqueada y, a continuación, haga clic en Aceptar.

2. Luego de lo anterior es necesario proteger la hoja, para ello active la ficha Inicio, en el grupo Celdas, de la opción Formato de clic en Proteger Hoja.

Protección ocultando fórmulas

de clic en Proteger Hoja . Protección ocultando fórmulas Haga los pasos anteriores de protección de

Haga los pasos anteriores de protección de la hoja de datos dejando modificar rangos, pero esta vez active la casilla de Ocultar Fórmulas.

Protección permitiendo que los usuarios modifiquen rangos

Excel solicitará ingresar una contraseña, la cual es opcional, además se podrán establecer algunos “privilegios” a los que tendrá acceso el usuario.

En caso de asignar una contraseña se le pedirá al usuario la confirmación de la misma.

Otra forma de asignar rangos de acceso es la que se detalla a continuación, se ingresa a la ficha Revisar, en el grupo Cambios, en la lista Permitir a los usuarios de esta hoja de cálculo, seleccione los elementos que desee que los usuarios puedan cambiar. Al presionar el botón, Nuevo se pueden crear cada uno de los diferentes accesos a las celdas, cada rango o celda puede tener una clave de acceso. Esto es muy útil cuando el archivo será accesado por diferentes personas y sólo deben modificar cierta información.

personas y sólo deben modificar cierta información. Protección de elementos del libro Para permitir que los

Protección de elementos del libro

Para permitir que los usuarios alteren la integridad de un libro, ya sea cambiar el nombre de las etiquetas, muevan o eliminen hojas, impedir que realicen escenarios y graben macros entre otras, puede proteger la estructura del libro. Para ello active la ficha Revisar, en el grupo Cambios, haga clic en Proteger Libro

, en el grupo Cambios , haga clic en Proteger Libro  Para proteger la estructura

Para proteger la estructura de un libro, active la casilla de verificación Estructura.

Para que las ventanas del libro tengan siempre el mismo tamaño y posición cada vez que se abra el libro, active la casilla de verificación Ventanas.

Unidad 4

Función condicional SI

Unidad 4 Función condicional SI Se utiliza para realizar pruebas condicionales en valores y fórmulas. De
Unidad 4 Función condicional SI Se utiliza para realizar pruebas condicionales en valores y fórmulas. De
Unidad 4 Función condicional SI Se utiliza para realizar pruebas condicionales en valores y fórmulas. De

Se utiliza para realizar pruebas condicionales en valores y fórmulas. De acuerdo a cierta información, una fórmula comparativa (prueba lógica), puede realizar distintas acciones o procesos, conduciendo al resultado adecuado. Un ejemplo puede ser el cálculo de los intereses, descuentos, aumentos o cualquier fórmula que necesite evaluar el contenido de una celda y luego asignar un valor o hacer una operación. Por ejemplo, un banco que paga cierto interés sobre los depósitos a plazo, dependiendo de la cantidad de días que el cliente lo deposite.

Si()

Esta función

utiliza tres argumentos, no se puede omitir ninguno de ellos. Con respecto a la separación de los

argumentos, Excel utilizará el separador de listas que esté definido en Configuración regional y de idioma en el panel de control.

=Si(prueba_lógica;valor_si_verdadero;valor_si_falso)

Use esta función para realizar pruebas condicionales en valores y fórmulas.

donde, prueba_lógica es la condición

Verdadero

Falso

Cualquier expresión que se pueda evaluar como verdadero o falso. Por ejemplo, A10=25 ó F5>=Hoy() ó C2=”Central”

Es el valor resultante, si el argumento prueba_lógica da como resultado verdadero

Es el valor resultante, si el argumento prueba_lógica da como resultado falso

Condición

La obtención de la condición es lo que más cuidado requiere por parte del usuario, este argumento puede utilizar operadores lógicos, aritméticos y de comparación para tomar la decisiones”. De ser necesario se pueden incorporar las funciones Y, O y NO, esto con el fin que la condición sea capaz de realizar más de una comparación a la vez.

Verdadero/Falso

Estos argumentos devuelven los valores dependiendo de la condición (prueba_lógica). En ellos es posible anidar funciones, que a su vez tomen más decisiones. Es posible anidar hasta 64 funciones SI como argumentos verdadero o falso.

Considere que, en caso de que un argumento (ya sea la condición, verdadero o falso), contenga un valor constante de texto, éste se debe colocar entre comillas y si es constante numérico o fórmula, se

coloca como tal. Por ejemplo, =Si(C7>=25000;B7*10%;”No aplica”)

Si () y las funciones lógicas Y ; O

Se pueden combinar junto con la función Si, otras funciones lógicas, Y(), O() y NO(), las cuales ayudan a evaluar más de una vez en cada condición. Estos permiten crear una función compuesta, en otras palabras, varias condiciones en un mismo argumento.

Y()

sintáxis:

Y(valor_lógico1;valor_lógico2;

)

O()

sintáxis:

O(valor_lógico1;valor_lógico2;

)

Valor_lógico1, Valor_lógico2,

pueden tener el resultado de VERDADERO o FALSO.

NO()

son de 1 a 255 condiciones que se desea comprobar y que

NO(valor_lógico)

Invierte el valor lógico del argumento. Por ejemplo si la respuesta del operador da verdadero, esta función la convierte a falso.

=SI(NO(O(DEPTO=”ASEO”;SALARIO<=150000));SALARIO*1,15%”;0)

Al usar el operador lógico NO, la computadora no les haría el aumento a los empleados del puesto Aseo y tampoco a los que ganen menos de ¢150000, únicamente a los empleados que no cumplan con ninguna de las condiciones dadas recibirían el aumento.

Haga el siguiente ejemplo de operadores combinados:

Destino

Nº tiquetes

Descuento

ESPAÑA

3

ó más

20%

MEXICO

5

ó más

25%

USA

2

ó más

10%

OTRO

 

-

0%

En el cuadro anterior se les dará un descuento a las personas o agencias de viajes que compren una cantidad mínima de boletos a específicos destinos.

=SI(Y(DESTINO=”ESPAÑA”;TIQUETES>=3);20%;

SI(Y(DESTINO=”MEXICO”;TIQUETES>=5);25%;

SI(Y(DESTINO=”USA”;TIQUETES>=2);10%;0%)))

Recuerde que DESTINO y TIQUETES son las primeras celdas con estos datos

Unidad 5

Macros

Unidad 5 Macros Una macro es una secuencia de comandos, los cuales se pueden ingresar de
Unidad 5 Macros Una macro es una secuencia de comandos, los cuales se pueden ingresar de
Unidad 5 Macros Una macro es una secuencia de comandos, los cuales se pueden ingresar de

Una macro es una secuencia de comandos, los cuales se pueden ingresar de forma directa

(como código de programación) o pueden ser grabadas (por medio de la grabadora de macros), por

un usuario para que posteriormente se puedan utilizar como un comando único. Por medio de las macros podemos automatizar tareas complejas y repetitivas.

Las macros son el medio de trabajo por defecto en VBA (Visual Basic para Aplicaciones)

¿Qué es VBA?

Microsoft VBA (Visual Basic for Applications) es el lenguaje de macros de Microsoft Visual Basic que se utiliza para programar aplicaciones Windows y que se incluye en varias aplicaciones Microsoft. VBA permite a usuarios y programadores ampliar la funcionalidad de programas de Microsoft Office. Visual Basic para Aplicaciones es un subconjunto casi completo de Visual Basic 5.0 y 6.0.

Microsoft VBA viene integrado en aplicaciones de Microsoft Office, tales como: Word, Excel, Access, PowerPoint, Visio y Project. Prácticamente cualquier cosa que se pueda programar en Visual Basic 5.0 ó 6.0 se puede hacer también dentro de un documento de Office, con la sola limitación que el producto final no se puede compilar separadamente del documento, hoja o base de datos en que fue creado; es decir, se convierte en una macro (o más bien súper macro). Esta macro puede instalarse o distribuirse con sólo copiar el documento, presentación o base de datos.

Su utilidad principal es automatizar tareas cotidianas, así como crear aplicaciones y servicios de bases de datos para el escritorio. Permite acceder a las funcionalidades de un lenguaje orientado a eventos con acceso a la API 1 de Windows. Este lenguaje ha sido implementado en otros productos como StarBasic en StarOffice que después heredaría OpenOffice.

Consideraciones iniciales

Antes de iniciar a crear macros es conveniente verificar el estado de seguridad de Excel, pues dependiendo del nivel de seguridad puede que las macros se ejecuten o no, o le soliciten confirmación al usuario. Para la configuración de seguridad de macros dé clic menú Archivo, luego dé clic en el botón Opciones y seleccione la categoría Centro de confianza, dando clic en

la categoría Centro de confianza , dando clic en 1 Application Program Interface (Interfaz de

1 Application Program Interface (Interfaz de Programación de Aplicaciones). Conjunto de convenciones internacionales que definen cómo debe invocarse una determinada función de un programa desde una aplicación. Las API representan la interfaz de comunicación entre componentes y software.

Seguidamente seleccione Configuración de macros, (vea ilustración: Centro de confianza).

Opciones de Excel

( vea ilustración: Centro de confianza ). Opciones de Excel Activar ficha de programador Para este

Activar ficha de programador

Para este paso ingrese a las Opciones de Excel y en Personalizar cinta de opciones seleccione Todas las fichas.

Personalizar cinta de opciones seleccione Todas las fichas. Formas para crear macros Básicamente existen dos métodos

Formas para crear macros

Básicamente existen dos métodos para la elaboración de macros, los mismos son:

Automático: se utiliza la grabadora de macros que viene incorporada con la aplicación.

Edición de código: este método consiste en digitar de forma directa el código en el editor de Visual Basic.

Utilizando la grabadora de macros

Cuando grabe una macro por medio de la grabadora de macros, ésta graba todos los pasos necesarios para completar las acciones que necesite realizar. En los pasos grabados no se incluye el desplazamiento por la cinta de opciones. Este es el método más sencillo para crear una macro, pues Excel graba todas las instrucciones sin que veamos realmente el código de la misma.

Se deben tomar algunas consideraciones antes de hacer uso de la grabadora, la principal es definir qué necesitamos realizar, es decir, debemos tener en mente los pasos que debemos realizar puesto que todo quedará almacenado, tanto lo que se haga correctamente como lo que no. Por esta razón resulta práctico tener notas de lo que queremos hacer en una hoja, al menos si somos novatos en el tema de las macros.

Una vez tomado lo anterior en cuenta se inicia la grabación. Un ejemplo puede ser el siguiente, seleccionamos unas celdas las combinamos digitamos nuestro nombre y aplicamos negrita.

Crear macros grabadas

Para activar la grabadora dé clic en la ficha Programador 2 , y el grupo Código dé clic en Grabar macro, seguidamente se muestra el cuadro de diálogo Grabar macro, en el cual se debe asignar un nombre a la nueva macro, es conveniente que el nombre de las macros describan brevemente lo que permiten realizar, esto para no tener problemas futuros en cuanto a que no recordemos qué hace una u otra, sino le dimos nombres descriptivos a las mismas, además es posible digitar una breve descripción para complementar la documentación de la misma.

para complementar la documentación de la misma. El nombre de una macro no puede tener espacios
para complementar la documentación de la misma. El nombre de una macro no puede tener espacios

El nombre de una macro no puede tener espacios en blanco ni signos, lo más recomendable es utilizar letras y números. Ningún nombre de macro puede iniciar con número, de lo contrario se mostrará un mensaje de error.

En este caso particular la llamaremos Mi_nombre, la cual lo que hará es colocar nuestro nombre y le asignará unos pocos formatos.

colocar nuestro nombre y le asignará unos pocos formatos. Si se desea que la macro cuente

Si se desea que la macro cuente con teclas de método abreviado, se selecciona el cuadro de

Se debe tomar en

texto que está al lado de la tecla C +

y se digita la letra o número.

2 Si la ficha Programador no está disponible consulte el tema Consideraciones iniciales.

cuenta que si la letra seleccionada ya está reservada por Excel, se le agregará la tecla Mayús, por ejemplo, si digitamos una „A‟ en mayúscula, el método abreviado quedará de la siguiente manera: Ctrl+Mayús+A. Por lo general algunas letras en mayúscula ya están reservadas, por lo anterior si no queremos una combinación como la mencionada, sería bueno utilizar letras en minúscula.

Ahora bien, en el espacio Guardar macro en, se establece el lugar donde quedará nuestra macro, son tres opciones a elegir:

Este libro: la macro será grabada en mismo libro que almacena las hojas actualmente utilizadas y pasa, por tanto, a formar parte del proyecto.

Libro nuevo: almacena la macro en un libro diferente al libro, con las hojas actualmente manipuladas.

Libro de macros personal: le indicamos a Excel que la macro debe almacenarse junto a otras macros, en un libro personalizado, sólo para macros.

En este caso, se escogerá la primer opción y dé clic en el botón Aceptar. En este momento todo lo que se realice quedará almacenado, algo así como si se “estuviera grabando con una cámara de vídeo. En este momento en la cinta de opciones aparece el botón

, el cual permite detener la macro. Es preciso grabar las acciones de la macro, las cuales de acuerdo a lo planteado anteriormente son: seleccionar unas celdas (unas tres), combinarlas, aplicar negrita, aumentar un poco el tamaño de fuente, digitar nuestro

. Con esto

nombre, introducirlo en la celda y luego dar clic en el botón hemos realizado nuestra primera macro instrucción.

botón hemos realizado nuestra primera macro instrucción. Es muy recomendable que antes de iniciar la grabación
botón hemos realizado nuestra primera macro instrucción. Es muy recomendable que antes de iniciar la grabación

Es muy recomendable que antes de iniciar la grabación de una macro, se guarde el archivo, puesto que no siempre salen las cosas bien a la primera. Ahora bien, debemos borrar lo que hicimos para luego ejecutar la macro. Para ejecutar o “correr” una macro se pueden utilizar distintos métodos, a continuación el detalle de los mismos:

Método abreviado: se presionan las teclas que se asignaron al momento de crear la macro.

Enlazar la macro a un objeto gráfico: se inserta una imagen o forma o cualquier otro objeto gráfico, luego se trae el menú contextual de la misma y de las opciones mostradas se escoge Asignar macro… en el cuadro de diálogo que aparece se selecciona el nombre de la macro y dé clic en el botón Aceptar. En este caso cuando se va a ejecutar la macro por medio del objeto gráfico el puntero tendrá la

la macro por medio del objeto gráfico el puntero tendrá la forma de , es decir,

forma de , es decir, de enlace. Si necesita cambiar el tamaño o la posición o algunas propiedades del objeto gráfico, debe dar clic sobre ella con el botón secundario.

Enlazar macro a un botón

Este punto es importante ya que permite ejecutar la macro utilizando:

Botones

Imágenes

Combinación de teclas

Barra de herramientas de acceso rápido

Estos procedimientos pueden hacerlo, dando clic con el botón derecho sobre el objeto y seleccionar “Asignar macro”.

Modificando el código

Una vez que las macros han sido creadas, se pueden personalizar para que se ejecuten al momento de ingresar al libro o cuando se presione un botón, que muestren mensajes o realicen procedimientos automáticos para agregar empleados, imprimir, facturar, etc.

Todas estas modificaciones se hacen agregando instrucciones de Visual Basic, para ello se debe dar clic en el comando del grupo Controles, y a continuación se abre el editor, el cual podría ser similar a la siguiente ilustración.

el cual podría ser similar a la siguiente ilustración. La ventana muestra en el Explorador de
el cual podría ser similar a la siguiente ilustración. La ventana muestra en el Explorador de

La ventana muestra en el Explorador de Proyectos (sección que se localiza a la izquierda), los nombres de las hojas que tiene el libro en que se está trabajando, al dar doble clic sobre una hoja se abre la etiqueta sobre la que se va a programar.

En la parte de la derecha se muestran las instrucciones o macros, es decir el código que se ha generado, producto de la grabadora.

Se puede generar código en las hojas, sin embargo, lo mejor es hacerlo en los módulos, pues de esta manera, la macro puede ser utilizada en todas las hojas. Los módulos se generan de forma automática, pero también los podemos insertar y cambiarles el nombre para que los mismos sean más descriptivos.

De forma predeterminada los módulos 3 se crean en secuencia numerada. Para ver el contenido de un módulo se debe dar doble clic sobre el módulo y en la sección derecha podemos ver el código generado. Cualquier modificación que se haga se puede guardar tanto en el editor de Visual Basic como en el libro.

3 Un conjunto de declaraciones y procedimientos.

La siguiente ilustración muestra algunos elementos del editor de Visual Basic.

Objetos Eventos Explorador de proyectos Propieda Área de edición del código
Objetos
Eventos
Explorador
de proyectos
Propieda
Área de edición
del código
El apóstrofe ´ se utiliza para colocar comentarios, es decir, documentar la programación Este es
El apóstrofe ´ se utiliza para colocar comentarios,
es decir, documentar la programación
Este es el código, el mismo se
encuentra entre las instrucciones
Sub y End Sub

Quizá los botones que más se utilizan de la barra de herramientas estándar son los siguientes:

de la barra de herramientas estándar son los siguientes: Detener Ejecutar Propiedades Explorador de proyectos Pausa
de la barra de herramientas estándar son los siguientes: Detener Ejecutar Propiedades Explorador de proyectos Pausa

Detener

barra de herramientas estándar son los siguientes: Detener Ejecutar Propiedades Explorador de proyectos Pausa Modo

Ejecutar

Propiedades

Explorador de proyectos

Pausa

Modo diseño

Definición de terminología

Objetos, propiedades y métodos

A la hora de trabajar con macros, se deben tener claros ciertos conceptos de lo que se llama

programación orientada a objetos (OOP). Sin entrar en detalles, sólo se hará referencia a la

definición de los conceptos de Objeto, Propiedad y Método.

Módulo

Es un conjunto de declaraciones y procedimientos. Es dentro de los módulos donde se define

el

código de programación de las macros.

El

icono de los módulos se representa de la siguiente manera:

El icono de los módulos se representa de la siguiente manera: y se encuentra en el

y se encuentra en el

Explorador de proyectos.

Propiedad

Cualquier objeto tiene características o propiedades, como por ejemplo el color, la forma, peso, medidas, etc. Estas propiedades se definen en la clase y luego se particularizan en cada objeto. Así, en la clase auto se podrían definir las propiedades: color, ancho y largo, luego al definir un objeto concreto como auto ya se particularizarían estas propiedades, por ejemplo, Color = Rojo, Ancho = 2 metros y Largo = 3,5 metros.

Procedimiento

Es una secuencia o bloque de instrucciones con un nombre único, que se ejecutan como una unidad. Por ejemplo, Function, Property y Sub son tipos de procedimientos. Un nombre de procedimiento siempre se define a nivel de módulo. Todo el código ejecutable debe estar contenido en un procedimiento. Los procedimientos no se pueden anidar dentro de otros procedimientos. Los de uso más frecuente son los que inician con Sub, vea el ejemplo.

Sub nombre_procedimiento()

Sentencias

Sub, vea el ejemplo. Sub nombre_procedimiento() Sentencias End Sub Donde nombre_procedimiento() es el nombre de la

End Sub

Donde nombre_procedimiento()es

el nombre de la macro

Cuadros de mensaje y entrada

Estos elementos, los cuales son funciones de VBA, permiten ingresar información en celdas, ya sea para que un dato quede en una celda específica o también para que posteriormente sea evaluada por una función condicional. La principal diferencia radica en que el MSGBOX es sólo de salida, es decir, muestra la información y el INPUTBOX, permite ingresar información. En ambos casos se produce una pausa mientras el usuario toma la decisión de ejecutar el procedimiento más conveniente.

MsgBox

La función MsgBox muestra información y espera que el usuario pulse un botón antes de continuar. Estos elementos se utilizan para implementar la comunicación entre el programa y el usuario o viceversa. Un TextBox es el control más utilizado para mostrar mensajes en la pantalla, éste mensaje puede ir acompañado de botones e iconos.

MsgBox “Texto”, Iconos Y Botones, ”Título

TEXTO: Es el mensaje que mostrará la ventana. Para digitar más de una línea se puede utilizar una de las siguientes instrucciones VBCRLF o &chr(13)&

BOTONES y ESTILO DE ICONO: Los iconos aparecen en la parte izquierda del mensaje, existen cuatro iconos, los cuales se pueden combinar con diferentes tipos de botones que aparecerán en la ventana del mensaje

Botón e Icono Valor 0 1 2 3 4 5 16 32 48 64
Botón e Icono
Valor
0
1
2
3
4
5
16
32
48
64

Cada botón o símbolo que se desee mostrar en el cuadro de mensaje tiene un valor, de esta manera, si se requiere que se muestren tanto los botones como los símbolos (iconos), sólo se deben sumar los valores de los mismos. Utilice la tabla anterior como guía.

Observe el siguiente ejemplo:

Cuadro de mensaje con su respectivo código

ejemplo: Cuadro de mensaje con su respectivo código MsgBox "Datos ingresados con éxito", 64,
ejemplo: Cuadro de mensaje con su respectivo código MsgBox "Datos ingresados con éxito", 64,

MsgBox "Datos ingresados con éxito", 64, "Ingreso de productos"

con éxito", 64, "Ingreso de productos" De forma predeterminada siempre se muestra este botón. La

De forma predeterminada siempre se muestra este botón.

La instrucción MsgBox es la que crea el cuadro de mensaje

Otros ejemplos:

Range(“A1”)=msgbox(“Desea ingresar datos”, 16+4, “Ingreso”)

pre=msgbox(“Desea ingresar datos”, 16+4, “Ingreso”)

Ahora bien, también los controles que se encuentran dentro de los cuadros de mensaje tienen sus respectivos valores. Observe la siguiente tabla.

Botón

Valor

1

1

2

2

3

3

4

4

5

5

6

6

7

7

El cuadro anterior, nos muestra, cuál es el valor que se almacena en la variable o lugar de almacenamiento.

pre = MsgBox (“Desea imprimir”,16+4, “Ventana de ejemplo”)

pre
pre

es la variable donde se almacenará el valor del botón presionado, note que se debe

digitar entre paréntesis toda la instrucción. Cada botón tiene un valor, en el ejemplo anterior, el cuadro que aparece muestra los botones Si y No. Para que el usuario indique si desea imprimir. Usando una función de decisión se evalúa el botón presionado y de esta manera se puede mandar a imprimir o no el trabajo que se está realizando.

If resp = 6 then

Call macro_imprimir

EndIf

realizando. If resp = 6 then Call macro_imprimir EndIf En este caso CONTINUAR es el nombre

En este caso CONTINUAR es el nombre de la variable.

Ejemplo:

If resp = 6 then Instrucciones Else mensaje End if
If resp = 6 then
Instrucciones
Else
mensaje
End if

InputBox

La función InputBox es un cuadro de entrada de datos, el cual solicita información al usuario antes de que el programa pueda seguir adelante. Se puede configurar el texto del mensaje, el título de la ventana y un valor por defecto entre otros. Solamente se proporcionan dos botones: Aceptar y Cancelar. Con el InputBox, se puede personalizar una macro, ya sea para ingresar información en una celda o que la entrada de datos sea evaluada con una función de decisión.

InputBox “Texto”,”Título”,”[TEXTO POR DEFECTO]” TEXTO: Es el mensaje que mostrará el cuadro de diálogo. TITULO: Texto que aparece en el título del cuadro de diálogo. TEXTO POR DEFECTO: Se utiliza para mostrar un valor inicial cuando aparece el cuadro de diálogo. La información se muestra marcada y si el usuario no digita información o

se muestra marcada y si el usuario no digita información o presiona E , o el

presiona E , o el botón , lo que se ingresa es el valor por defecto.

Para ingresar los datos digitados en una celda específica, vea el siguiente ejemplo:

Range("A101") = InputBox("Digite el producto a consultar ", "Consultando")
Range("A101") = InputBox("Digite el producto a consultar
",
"Consultando")

Ejemplos Prácticas. Si tenemos escrita la lista, en la posición indicada abajo.

Si tenemos escrita la lista, en la posición indicada abajo. Podemos programar con la instrucción Msgbox

Podemos programar con la instrucción Msgbox e inputbox, el siguiente código para ingresar datos:

Sub ingreso()

Range("A1") = MsgBox("Desea Ingresar Datos", 32 + 4, "ingreso") If Range("A1") = 6 Then

Range("A7").Select

Selection.EntireRow.Insert Range("A7") = InputBox("Digite el Código") Range("B7") = InputBox("Digite el Producto") Range("C7") = InputBox("Digite el Precio") Range("D7") = InputBox("Digite la Cantidad") Range("E7") = Range("C7") * Range("D7") Else

MsgBox "Acción Cancelada"

End If

End Sub

Si vemos la estructura, y siguiendo la misma, podemos con ella lograr formar otras macros, por ejemplo, una macro para eliminar el registro en donde estemos posicionados previamente.

Sub eliminar() Range("A1") = MsgBox("Desea Eliminar Datos", 32 + 4, "ingreso") If Range("A1") = 6 Then Selection.entirerow.delete Else MsgBox "Acción Cancelada" End If

End Sub

Otro ejemplo: imprimir la hoja de trabajo.

Sub imprimir() Range("A1") = MsgBox("Desea imprimir datos", 32 + 4, "ingreso") If Range("A1") = 6 Then

Hoja1.printOut

Else MsgBox "Acción Cancelada" End If End Sub

Formularios

Una de las características más potentes de Excel es la posibilidad de trabajar con formularios y cuadros de diálogo.

Los formularios de usuario o UserForm permiten mostrar e ingresar información. El Formulario es un objeto, que sirve de soporte de otros objetos. El nombre de Formulario se deriva precisamente porque, al igual que un formulario de papel, contiene textos escritos, lugares donde podemos escribir, figuras y elementos donde podemos elegir una u otra opción, etc. En realidad un formulario es lo que normalmente conocemos como “ventana”.

Las funciones InputBox y MsgBox son formas sencillas de conseguirlo, sin embargo, los controles de los formularios en VBA son mucho más potentes, puesto que son 100% programables.

Algunas de sus funciones pueden ser: ejecución de informes, decidir si realiza una tarea u otra, abrir determinados archivos, entre otros.

La siguiente ilustración muestra la apariencia de un formulario en tiempo de ejecución en una hoja de electrónica.

en tiempo de ejecución en una hoja de electrónica. Botón que carga el formulario. Formulario en

Botón que carga el formulario.

en una hoja de electrónica. Botón que carga el formulario. Formulario en tiempo de ejecución 18

Formulario en

tiempo de

ejecución

Los botones ( de comando ), se insertan en una hoja de cálculo por medio

Los botones (de comando), se insertan en una hoja de cálculo por medio del botón del grupo Controles de la ficha Programador, y de los controles de formulario se selecciona el botón, luego se traza o dibuja en la hoja electrónica.

el botón, luego se traza o dibuja en la hoja electrónica. Una vez que se dibuja,

Una vez que se dibuja, Excel muestra un cuadro de diálogo para asignar la macro correspondiente, si ya se creó la macro se puede seleccionar de la lista y en caso contrario se puede cancelar para asignarla después. ********** ****************************

Los controles son objetos gráficos que se colocan las hojas de cálculo y en los formularios para mostrar o introducir datos, realizar una acción o facilitar la lectura del formulario. Estos objetos incluyen cuadros de texto, cuadros de lista, botones de opciones, botones de comandos y otros elementos.

Para cambiar el nombre se da clic dentro del botón y se digita el texto que se quiere mostrar en él, para cambiar las propiedades, se da clic con el botón secundario y del menú contextual se da clic en Formato de control, básicamente las fichas que se utilizan son las de Fuente y Propiedades, ésta última para impedir que se mueva o cambie de tamaño en caso de que se estén eliminando filas o columnas, o se modifiquen los anchos de las mismas y que se pueda o no imprimir el control.

Una vez que se han establecido los formatos y se ha asignado la macro al desplazar el puntero del mouse sobre ese control tendrá la forma de una , al dar clic sobre éste, la macro se ejecuta.

forma de una , al dar clic sobre éste, la macro se ejecuta. Elementos del formulario

Elementos del formulario

sobre éste, la macro se ejecuta. Elementos del formulario Título del formulario Etiqueta Imagen Cuadros de
Título del formulario
Título del
formulario

Etiqueta

Imagen

del formulario Título del formulario Etiqueta Imagen Cuadros de texto Botones Etiquetas IPC Computación

Cuadros de

texto

Botones

Etiquetas

Editor de Visual Basic - Diseño del Formulario

Cuadro de herramientas
Cuadro
de
herramientas
Basic - Diseño del Formulario Cuadro de herramientas Explorador de proyectos Ventana de Propiedades

Explorador

de proyectos

Ventana de

Propiedades

Formulario en tiempo de diseño

Ventana de Propiedades Formulario en tiempo de diseño Explorador de Proyectos El explorador de proyectos muestra

Explorador de Proyectos

Formulario en tiempo de diseño Explorador de Proyectos El explorador de proyectos muestra los módulos (macros)
Formulario en tiempo de diseño Explorador de Proyectos El explorador de proyectos muestra los módulos (macros)

El explorador de proyectos muestra los módulos (macros) y formularios existentes

muestra los módulos (macros) y formularios existentes Ventana de Propiedades Las propiedades son aquellas

Ventana de Propiedades

(macros) y formularios existentes Ventana de Propiedades Las propiedades son aquellas características de un objeto

Las propiedades son aquellas características de un objeto que lo define "físicamente", bien por su forma o color, por su contenido o por la forma en la que va a trabajar…

Para mostrar la ventana de propiedades se

puede hacer mediante el botón (propiedades) o por el menú Ver Ventana

de propiedades o pulsando la tecla $ .

 Ventana de propiedades o pulsando la tecla $ . Cuadro de Herramientas Contiene los controles

Cuadro de Herramientas

o pulsando la tecla $ . Cuadro de Herramientas Contiene los controles que se insertan en
Contiene los controles que se insertan en los formularios. Se muestra al presionar el botón
Contiene los controles que se
insertan en los formularios. Se
muestra al presionar el botón
.

Controles del Cuadro de Herramientas Estándar

Controles del Cuadro de Herramientas Estándar Seleccionar objetos Seleccionar objetos es el único elemento del cuadro

Seleccionar objetos Seleccionar objetos es el único elemento del cuadro de elementos que no dibuja un control. Cuando se selecciona, sólo puede cambiar el tamaño o mover un control que ya se haya dibujado en un formulario.

Etiqueta Permite tener texto que no desee que cambie el usuario, como el título debajo de Permite tener texto que no desee que cambie el usuario, como el título debajo de un gráfico.

cambie el usuario, como el título debajo de un gráfico. Cuadro de texto Contiene texto que

Cuadro de texto Contiene texto que el usuario puede introducir o cambiar.

Contiene texto que el usuario puede introducir o cambiar. Cuadro combinado Permite dibujar un cuadro de

Cuadro combinado Permite dibujar un cuadro de lista combinado y un cuadro de texto. El usuario puede elegir un elemento de la lista

o introducir un valor en el cuadro de texto.

de la lista o introducir un valor en el cuadro de texto. Cuadro de lista Se

Cuadro de lista Se utiliza para mostrar una lista de elementos entre los que puede elegir el usuario. Puede desplazarse por la lista

si ésta contiene más elementos de los que se pueden ver en un determinado momento.

de los que se pueden ver en un determinado momento. Casilla de verificación Crea una casilla

Casilla de verificación Crea una casilla que el usuario puede elegir fácilmente para indicar si algo es verdadero o falso, o para mostrar varias elecciones cuando el usuario puede elegir más de una.

elecciones cuando el usuario puede elegir más de una. Botón de opción Permite mostrar varias elecciones

Botón de opción Permite mostrar varias elecciones entre las que el usuario sólo puede elegir una.

elecciones entre las que el usuario sólo puede elegir una. Botón de alternar Crea un botón

Botón de alternar Crea un botón que alterna entre activado y desactivado.

Crea un botón que alterna entre activado y desactivado. Marco Permite crear una agrupación gráfica o

Marco Permite crear una agrupación gráfica o funcional de controles. Para agrupar los controles, dibuje primero el marco

y después los controles dentro del marco.

primero el marco y después los controles dentro del marco. Botón de comando Crea un botón

Botón de comando Crea un botón que el usuario puede elegir para realizar la acción de un comando.

usuario puede elegir para realizar la acción de un comando. Barra de tabulaciones Permite definir múltiples

Barra de tabulaciones Permite definir múltiples páginas para la misma área de una ventana o cuadro de diálogo de la aplicación.

área de una ventana o cuadro de diálogo de la aplicación. Página múltiple Presenta múltiples pantallas

Página múltiple Presenta múltiples pantallas de información como un solo conjunto.

múltiples pantallas de información como un solo conjunto. Barra de desplazamiento Proporciona una herramienta

Barra de desplazamiento Proporciona una herramienta gráfica para desplazarse rápidamente por una larga lista de elementos o una gran cantidad de información, para indicar la posición actual en una escala o como un dispositivo de entrada o indicador de velocidad o cantidad.

dispositivo de entrada o indicador de velocidad o cantidad. Botón de número Un control de giro

Botón de número Un control de giro que se puede utilizar con otro control para aumentar o reducir los números. También lo puede utilizar para desplazarse hacia delante o detrás de un intervalo de valores o una lista de elementos.

detrás de un intervalo de valores o una lista de elementos. Imagen Muestra una imagen gráfica

Imagen Muestra una imagen gráfica de un mapa de bits, icono o meter un archivo en el formulario. Las imágenes mostradas en un control Imagen sólo pueden ser decorativas y utilizan menos recursos que un Cuadro de Imagen.

Propiedades de los Controles

Propiedades de los Controles   Formulario Etiqueta Cuadro de texto Botón de comando UserForm Label
 

Formulario

Etiqueta

Cuadro de texto

Botón de comando

UserForm

Label

TextBox

CommandButton

Name

Alignment

       

AutoSize

 

BackColor

BackStyle

 

BorderColor

 

BorderStyle

 

Caption

 

Enabled

Font

ForeColor

MaxLength

   

 

MultiLine

   

 

Picture

 

PictureAlignment

     

PicturePosition

 

 

PictureSizeMode

     

ScrollBars

 

 

SpecialEffect

 

StartUpPosition

     

Text

   

 

TextAlign

 

 
  Marco Botón de opción Casilla de verificación Imagen Frame OptionButton CheckBox Image
 

Marco

Botón de opción

Casilla de verificación

Imagen

Frame

OptionButton

CheckBox

Image

Name

Alignment

 

 

AutoSize

 

 

BackColor

BackStyle

 

BorderColor

   

BorderStyle

   

Caption

 

Enabled

Font

 

ForeColor

 

MultiLine

       

Picture

PictureAlignment

   

PicturePosition

 

 

PictureSizeMode

   

ScrollBars

     

SpecialEffect

StartUpPosition

       

Text

       

TextAlign

 

 

Editor de Visual Basic en Tiempo de Diseño

Elemenos del Formulario

de Visual Basic en Tiempo de Diseño Elemenos del Formulario Etiquetas, herramienta utilizada : Etiqueta Botones,

Etiquetas,

herramienta

utilizada:

Etiqueta

Botones, herramienta utilizada:
Botones, herramienta utilizada:
utilizada : Etiqueta Botones, herramienta utilizada: Botón de comando Imagen, herramienta utilizada: Imagen
Botón de comando
Botón de comando

Imagen, herramienta

utilizada: Imagen

Botón de comando Imagen, herramienta utilizada: Imagen Cuadros de texto, herramienta utilizada: Cuadro de texto

Cuadros de texto, herramienta utilizada: Cuadro de texto

Etiqueta

utilizada: Imagen Cuadros de texto, herramienta utilizada: Cuadro de texto Etiqueta 24 Excel 2010 IPC Computación
utilizada: Imagen Cuadros de texto, herramienta utilizada: Cuadro de texto Etiqueta 24 Excel 2010 IPC Computación

Editor de Visual Basic Tiempo de Diseño Programación de Elementos del Formulario.

Al dar doble clic sobre un elemento del formulario e incluso del mismo formulario se abre la ventana para la edición del código para su programación. Es conveniente ir “sangrando”, es decir, dejar un espacio tabulado en ciertas instrucciones, esto es muy útil al momento de realizar alguna modificación, especialmente si el programa o rutina se nos hace algo extensa.

Primero

Iniciaremos el ejercicio colocando los campos a usar en la hoja electrónica, o abrimos un documento, el cual emplearemos para tal fin.

o abrimos un documento, el cual emplearemos para tal fin. Botón Ingreso Private Sub CommandButton1_Click()
Botón Ingreso Private Sub CommandButton1_Click() Range("A7").Select Selection.EntireRow.Insert
Botón Ingreso
Private Sub CommandButton1_Click()
Range("A7").Select
Selection.EntireRow.Insert
Range("A7") = Textbox1
Range("B7") = Textbox2
Range("C7") = val(textbox3)
Range("D7") = val(textbox4)
Range("E7") = Range("C7") * Range("D7")
End Sub

Segundo

Crearemos el formulario, utilizando la información de la hoja electrónica como guía.

Tercero

Programamos los botones.

Botón Limpiar
Botón Limpiar

Private Sub CommandButton2_Click()

TextBox1 = Clean TextBox2 = Clean TextBox3 = Clean

TextBox4 = Clean

Label6 = Clean

End Sub

Botón Salir
Botón Salir

Private Sub CommandButton3_Click()

Unload Me

End Sub

Recordemos que en este ejemplo, debemos de programar el cuadro de texto del Precio y el cuadro de texto de Cantidad con la instrucción: Lable6=val(textbox3)*val(textbox4) cada uno por separado, para que muestre el resultado automáticamente en el Label6. Nota: Val(textbox#) = convierte un dato de texto a valor.

Consulta de datos por medio de un formulario

(MÉTODO SIMPLE)

Este método requiere de un filtro avanzado, el cuál se debe realizar antes de grabar la macro para la extracción de los datos. Cabe destacar que este procedimiento se puede realizar de diversas maneras. Este caso, en particular le detalla una forma simple para realizar dicha consulta, sin embargo, su profesor le puede dar más instrucciones de cómo puede crear una consulta más personalizada (se debe tomar en cuenta que en cuanto más personalizada y depurada, se requiere una macro, más código y más pruebas deben realizarse)

Procedimiento

Para elaborar un filtro avanzado, hay que tomar en cuenta que se deben considerar tres áreas de trabajo, rango de entrada, área de criterios y área de salida. Observe la siguiente ilustración. Recuerde que los rangos de las tres áreas pueden variar, de acuerdo a lo que necesite extraer.

áreas pueden variar, de acuerdo a lo que necesite extraer. Área de criterios Está comprendida básicamente

Área de criterios

Está comprendida básicamente en dos filas, la primera debe ser una copia de los títulos de la lista y la segunda es donde se establecen las condiciones.

lista y la segunda es donde se establecen las condiciones. Área de entrada Es la lista

Área de entrada

Es la lista de los datos.

Área de extracción Abarca solamente los títulos de las columnas que se necesitan extraer.
Área de extracción
Abarca solamente los títulos de las
columnas que se necesitan extraer.

La ventaja de los filtros avanzados es que permiten más condiciones que un filtro automático y además, los datos a extraer no necesariamente son todos los títulos de la lista, además, se puede realizar la extracción de los datos en el mismo rango del área de entrada (rango de lista) o en un área apartada, esto con el fin de no perder información.

Ahora proceda a hacer el filtro avanzado y grabarlo para tener los códigos del mismo.

Al grabar los procedimientos como vimos anteriormente, quedan en el Editor de Visual Basic que ingresaremos por medio de las teclas H+_ o por

medio de la ficha Programador, grupo Controles

de las teclas H + _ o por medio de la ficha Programador , grupo Controles
de las teclas H + _ o por medio de la ficha Programador , grupo Controles

Localice el módulo donde se grabó el código. Hasta este paso su código debería ser semejante al siguiente… Range("A5:E11").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _ "G1:G2"), CopyToRange:=Range("G4:K4"), Unique:=False

Action:=xlFilterCopy, CriteriaRange:=Range( _ "G1:G2"), CopyToRange:=Range("G4:K4"), Unique:=False

A este código debemos de agregar otras instrcciones, para la ejecución correcta, por lo que debes de hacer, y ver el código abajo escrito:

Range(G2).Select

Selection.ClearContents

Range(G5:K5).Select

Selection.ClearContents

Range(G2”)=inputbox(“Digite el código del producto a consultar”)

Range("A5:E11").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _ "G1:G2"), CopyToRange:=Range("G4:K4"), Unique:=False

Si la lista de Excel, contiene el nombre de Rango: productos, lo podemos emplear cambiando a la instrucción de filtro avanzado, que corresponde al rango de la misma:

Range("productos").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _ "G1:G2"), CopyToRange:=Range("G4:K4"), Unique:=False

Cierre el editor de Visual Basic, y en la hoja de Excel, asigne la macro al botón de consulta.

Por último ejecute la macro varias veces digitando códigos existentes, y observará que en lado de extracción o salida, se colocará la información del código dado.

Consulta por medio de un formulario

Elabore un formulario con los datos de la hoja de Excel, dados anteriormente.

con los datos de la hoja de Excel, dados anteriormente. Si desea puede dar formato al

Si desea puede dar formato al formulario o a los objetos contenidos.

Una vez elaborado el formulario, procedemos a configurar los botones con las instrucciones correspondientes.

Botón Salir
Botón Salir

Private Sub CommandButton3_Click()

Unload Me

End Sub

Botón Limpiar
Botón Limpiar

Private Sub CommandButton2_Click()

Label7 = Clean Label8 = Clean Label9 = Clean Label10 = Clean Textbox1 = Clean

End Sub

Botón Buscar Private Sub CommandButton1_Click() Range("A5").Select Range("G2").Select Instrucciones
Botón Buscar
Private Sub CommandButton1_Click()
Range("A5").Select
Range("G2").Select
Instrucciones para
limpiar los datos
contenidos
Selection.ClearContents
Range("G5:K5").Select
Selection.ClearContents
Pasa el código a
la celda
Range("G2") = TextBox1
Aquí se copia las instrucciones del
filtro avanzado, recuerde que si la
lista tiene un nombre de rango, el
mismo lo puede usar, como se hizo
en el ejemplo anterior.
Range("A5:E11").AdvancedFilter Action:=xlFilterCopy, CriteriaRange:=Range( _
"G1:G2"), CopyToRange:=Range("G4:K4"), Unique:=False
Label7 = Range("H5")
Label8 = Range("I5")
Label9 = Range("J5")
Label10 = Range("K5")
Presenta la información en el
formulario
End Sub

Recuerde que para ejecutar este formulario debe de crear una macro contenido en un Módulo el cual le llamaremos “consultardonde pondremos la instrucción:

Userfomr2.show

Asignar botón al formulario Consulta

Regrese a la hoja electrónica. En la ficha Programador, grupo Controles de clic en

En la ficha Programador , grupo Controles de clic en , en la sección Controles de

, en la

sección Controles de formulario, localice el control Botón y dibuje uno, cuando aparezca el

cuadro de asignar macro, seleccione la que se llama consultar y acepte.

Controles de formulario

asignar macro, seleccione la que se llama consultar y acepte. Controles de formulario 28 Excel 2010
asignar macro, seleccione la que se llama consultar y acepte. Controles de formulario 28 Excel 2010

Traiga el menú contextual del botón recién creado y de clic en Formato de control, si lo desea puede cambiar algunos aspectos de la ficha Fuente y de la ficha Propiedades, marque No mover, ni cambiar tamaño con celdas y no active la casilla Imprimir objeto.

con celdas y no active la casilla Imprimir objeto . Esta opción impide que el botón

Esta opción impide que el botón se desplace y cambie su tamaño al agregar nuevas filas

No imprime el botón como parte de los datos de la lista

No imprime el botón como parte de los datos de la lista Asigne el nombre al

Asigne el nombre al botón de “Consultar”.

Regrese a la hoja electrónica y guarde. No olvide guardar antes de ejecutar una macro.

Esto termina el procedimiento de realizar consultas simples por medio de un formulario.

Pruebe lo hecho dando clic sobre el botón

.
.

Macro para Eliminar con formulario

Iniciaremos creando un formulario nuevo de la siguiente manera:

creando un formulario nuevo de la siguiente manera: Segundo: programemos los botones: Botón Salir Private

Segundo: programemos los botones:

Botón Salir
Botón Salir

Private Sub CommandButton1_Click()

Unload Me

End Sub

Botón Eliminar
Botón Eliminar

Private Sub CommandButton3_Click()

Selection.entirerow.delete

End Sub

Botón Limpiar
Botón Limpiar

Private Sub CommandButton2_Click()

Textbox1=clear

End Sub

Tome en cuenta, que en esta macro la celda N1, es donde se almacenará, el código a buscar.

Botón Buscar
Botón Buscar
 

Private Sub CommandButton4_Click()

Range("A5").Select

Range("N1") = TextBox1

Cells.Find(What:=Range("N1"), After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate End Sub

Para el paso del botón Buscar, recuerde que debe de grabar la macro con la acción de buscar la cual debe de ser modificada de la siguiente manera:

Cells.Find(What:=Range("N1"), After:=ActiveCell, LookIn:=xlFormulas, LookAt:= _ xlPart, SearchOrder:=xlByColumns, SearchDirection:=xlNext, MatchCase:= _ False, SearchFormat:=False).Activate

Una vez realizado, haga la macro para mostrar el formulario con nombre “Eliminar”

Regrese a la hoja de Excel y asigne a la misma.

Regrese a la hoja de Excel y asigne a la misma. De clic en uno, cuando

De clic en

uno, cuando aparezca el cuadro de asignar macro, seleccione la que se llama Eliminar y

acepte.

, en la sección Controles de formulario, localice el control Botón y trace

de formulario , localice el control Botón y trace Guarde antes de ejecutar la macro. Ejecute

Guarde antes de ejecutar la macro.

Ejecute la macro haciendo clic sobre el botón eliminar de la barra de menú que estamos generando.

Tome en cuenta, que antes de ejecutar, debe de dar clic al registro de la lista y luego ejecutar la macro, para borrar el registro en posición.

Macro para Imprimir la Lista de Datos

1. Este procedimiento se puede realizar de distintas maneras, de acuerdo a la necesidad que se tenga para evitar el uso de código innecesario.

2. Una opción bastante efectiva es seleccionando toda la lista y asignarle un nombre de rango, esto se hace antes de grabar la macro, para que posteriormente hagamos uso sólo del nombre del mismo.

a. Seleccione la lista, incluyendo los títulos, active la ficha Fórmulas, grupo Nombres definidos

b. Dé clic en Asignar Nombre a un rango o despliegue la lista y seleccione Definir nombre. (Otra forma es dar clic directamente en el cuadro de nombres

Otra forma es dar clic directamente en el cuadro de nombres digitar el nombre y presionar

digitar el nombre y presionar Entrada)

c. Digite como nombre de rango ENTRADA y acepte el cuadro de diálogo.

nombre de rango ENTRADA y acepte el cuadro de diálogo. 3. Configure la página antes de

3. Configure la página antes de grabar la macro. Establezca la orientación, la escala, los márgenes, el encabezado y/o pie de página, si se imprimen o no las líneas de división, entre otros.

4. Active la grabadora de macros. Asigne como nombre Imprimir y Acepte.

5. Active la ficha Diseño de página y de clic en el botón

Active la ficha Diseño de página y de clic en el botón del grupo Configurar página…

del grupo Configurar página…

6. Seleccione la ficha Hoja y en el campo Área de impresión digite el nombre de la hoja (con el respectivo signo de exclamación cerrado) y seguido, digite el nombre del rango ENTRADA, pues éste fue el nombre de rango asignado.

7. Acepte el cuadro de diálogo y detenga la grabación . 8. Abra el editor

7. Acepte el cuadro de diálogo y detenga la grabación

.
.

8. Abra el editor de Visual Basic, ya sea por medio de las teclas H+ _ o de la ficha

Programador, grupo Controles de clic en

.
.

9. Localice el módulo que contiene el código recién creado. Debería ser similar al siguiente.

código recién creado. Debería ser similar al siguiente. 10. Modifique el código anterior, de tal forma

10. Modifique el código anterior, de tal forma que quede como se muestra a continuación.

Esta línea ya está creada
Esta línea ya está creada

Cada vez que se agreguen nuevos registros, el rango de impresión se irá actualizando

11. Cree un botón en la hoja electrónica, tal y como se ha creado anteriormente.

12. Guarde antes de ejecutar la macro.

13. Ejecute la macro, verifique antes, que la impresora este encendida y contenga papel.

Instrucciones macro adicionales

Call [Nombre de la macro]

Ejecuta una macro que ya existe, el principal uso es no tener que estar repitiendo en varias macros procedimientos iguales. Por ejemplo, si ya existe una macro para borrar celdas o información y dentro de otra macro diferente se necesita borrar, para no repetir la macro de borrado se llama con la instrucción CA LL.

IF

Estructura condicional que permite ejecutar un grupo de instrucciones, dependiendo de los datos que se encuentren en una celda. No es necesario indicar las dos partes de la instrucción. Si el caso lo amerita únicamente podemos usar la parte verdadera.

If CONDICION Then Acción Verdadera

Else

Acción Falsa End If

Donde,

Condición es una expresión que conduce a un resultado lógico (Verdadero o Falso).

Acción Verdadera, es una o más instrucciones ejecutadas cuando la condición da un resultado Verdadero.

Acción Falsa, es una o más instrucciones ejecutadas cuando la condición da un resultado Falso.

Range

Permite posicionar el cursor en una celda específica, para realizar alguna acción en dicha celda, o con el fin de acomodar la pantalla para que el usuario pueda visualizar mejor la información. La sintaxis es:

Range(“CELDA”).Select

Selection.End

Le indica al Excel que debe moverse hasta el final de la información que se encuentra hacia abajo. La sintaxis es:

Selection.End(XLDown).Select

Se puede reemplazar la palabra DOWN por otras direcciones como las siguientes:

ToRight : Final hacia la derecha.

ToLeft : Final hacia la izquierda.

Up: Final hacia arriba.

De modo que las instrucciones quedarían:

Selection.End(XLDown).Select : Final hacia abajo.

Selection.End(XLToRight).Select : Final hacia la derecha.

Selection.End(XLToLeft).Select : Final hacia la izquierda.

Selection.End(XLUp).Select : Final hacia arriba.

Entirerow.Insert

Agrega una fila completa en el sitio donde se encuentra el cursor. La sintaxis de uso es:

Selection.EntireRow.Insert

NOTA: El usuario puede grabar macros y luego usando los comandos de copiar y pegar, puede pasar código de una macro hacia otra, con el fin de complementar o mejorar las macros.

Activecell.Offset

Permite desplazar el cursor una celda hacia la derecha. Este comando o instrucción de Excel permite que el usuario se desplace entre las celdas de sus hojas.

ActiveCell.OffSet(0, 1).Range("A1").Select

El primer valor representa la cantidad de columnas que se desplaza el cursor hacia abajo, el segundo valor indica la cantidad de filas que el cursor se moverá hacia la derecha.

Selection.Entirerow.Delete

Elimina toda la fila en la cual se encuentre el cursor. La información que contenga la fila también será eliminada.

Selection.EntireRow.Delete

Hoja#.Printpreview

Activa la vista preliminar de la hoja de trabajo que se indique, al salir de la vista preliminar se continua ejecutando la macro en la orden que se encuentre. Es muy útil cuando se construye un menú de opciones y dentro de este se desea que el usuario pueda observar una vista preliminar de los datos antes de imprimirlos.

Hoja#.Printout

El siguiente ejemplo

imprime con la configuración de página que tenga toda la hoja1 del libro en el cual nos encontramos.

Hoja1.PrintOut

Imprime todo el contenido de la hoja de trabajo que indiquemos.

Sheets.Add

Agrega una nueva hoja de trabajo o etiqueta en el libro en el cual nos encontramos trabajando. La nueva etiqueta se ubicará en el lugar donde se encuentra la hoja actual.

Sheets("Hoja#").Select

Le permite al usuario cambiarse o pasarse entre las hojas que su libro de trabajo tiene. En lugar del símbolo de # se debe digitar el número de la etiqueta, o si la etiqueta tiene un nombre, se debe digitar dicho nombre, siempre entre comillas, ejemplo

Sheets(“Hoja3”).Select

Sheets(“Gráficos”).Select

Sheets.Delete

Borra el contenido de la etiqueta en la cual se encuentre el cursor. También se puede indicar el nombre de la etiqueta a borrar. En el siguiente ejemplo se borra la etiqueta número cuatro del libro de trabajo:

Shets("Hoja4").Delete

Application.Screenupdating

Oculta la ejecución de las macros dentro del Microsoft Excel. Esta instrucción evita que la pantalla se mueva o salte de un sitio a otro mientras que las macros de posicionamiento están siendo ejecutadas. Se debe digitar de primero en el editor de Visual Basic.

Application.ScreenUpdating=False

Selection.Font.Bold

Asigna a la celda o rango marcado el atributo de negrita. Para desactivar la acción sólo debemos reemplazar True por False.

Selection.Font.Bold=True

Selection.Font.Italic

Activa el efecto de itálica o cursiva para el rango o celda seleccionado. Para desactivar el efecto se debe reemplazar la palabra True por False.

Selection.Font.Italic

Selection.Font.Underline

Establece el efecto de subrayado para el rango o celda actual.

Selection.Font.Underline=XLUnderLlineStyleSingle

Centrar el texto

With Selection

.HorizontalAlignment=xlCenter

End With

Alinear a la izquierda

With Selection

.HorizontalAlignment=xlLeft

End With

Alinear a la derecha

With Selection

.HorizontalAlignment=xlRight

End With

Cambiar a mayúsculas

Para esto se utiliza el comando UCASE(), ejemplo

Activecell.FormulaR1C1=Ucase(“Excel 2007”)

Comandos Para Los Formularios Userform#.Show

Muestra el número del formulario que se indique.

UserForm1.Show

Este comando mostrará en la pantalla de Microsoft Excel el formulario cuyo número sea 1.

Userform#.Hide

Oculta el formulario, se utiliza cuando se ha terminado de trabajar con la información del formulario y se desea salir

UserForm1.Hide

Userform#.Printform

Imprime el formulario que se indique con todos sus controles y contenido.

Unidad 6

Barra de acceso rápido

Unidad 6 Barra de acceso rápido Personalizar barra de acceso rápido En versiones anteriores era posible
Unidad 6 Barra de acceso rápido Personalizar barra de acceso rápido En versiones anteriores era posible
Unidad 6 Barra de acceso rápido Personalizar barra de acceso rápido En versiones anteriores era posible

Personalizar barra de acceso rápido

En versiones anteriores era posible personalizar tanto la barra de menú como los botones de las barras de herramientas. En esta versión es posible personalizar sólo la barra de herramientas de acceso rápido, ya sea adicionando o quitando botones a la misma, o agregar algún botón personalizado para que, por medio de éste sea posible activar alguna macro. Recordemos que las macros pueden ser enlazadas a imágenes o a botones. En esta versión se puede modificar el menú de acceso rápido para agregar las funciones que se crearon por medio de las macros.

Agregar botones

que se crearon por medio de las macros. Agregar botones Para personalizar la barra de acceso

Para personalizar la barra de acceso rápido, se debe hacer un clic en el botón , luego se selecciona Opciones y por último se da clic en Personalizar cinta de opciones. El mismo efecto se produce al dar clic en el botón que se localiza en el extremo derecho de la misma, sin embargo, desde este acceso las opciones están más al alcance, observe la siguiente ilustración.

están más al alcance, observe la siguiente ilustración.  Se pueden activar rápidamente los comandos, desde
están más al alcance, observe la siguiente ilustración.  Se pueden activar rápidamente los comandos, desde

Se pueden activar rápidamente los comandos, desde Nuevo hasta Orden descendente.

Al dar clic sobre Mostrar debajo de la cinta de opciones, ésta se mostrará antes de la barra de fórmulas.

Minimizar la cinta de opciones, produce el siguiente efecto:

barra de fórmulas.  Minimizar la cinta de opciones , produce el siguiente efecto: IPC Computación

Y el caso de más comandos… se muestra el siguiente cuadro, en él podemos seleccionar prácticamente cualquier botón para agregarlo a barra.

prácticamente cualquier botón para agregarlo a barra. Si tenemos macros grabadas en el libro y queremos

Si tenemos macros grabadas en el libro y queremos agregarlas (como botones) a la cinta, se hace lo siguiente:

Se abre la lista desplegable

Se selecciona Macros

se hace lo siguiente:  Se abre la lista desplegable  Se selecciona Macros 38 Excel
se hace lo siguiente:  Se abre la lista desplegable  Se selecciona Macros 38 Excel

A continuación aparece un lista con los nombres de las macros existentes en el libro, de ella se selecciona la que se va a agregar, y se da clic en el botón Agregar >>

va a agregar, y se da clic en el botón Agregar >>  En este momento

En este momento la macro “Mensaje” ya pertenece a la barra de acceso rápido, sin embargo, podemos cambiar su icono, para ello…

Se selecciona el nombre de la macro agregada, y se da clic en el botón Cambiar nombre.

Seguidamente se muestra un cuadro con una serie de iconos ilustrativos, tan solo debemos seleccionar el que nos parezca conveniente.

Adicionalmente podemos colocar un texto más alusivo en el campo: Nombre para mostrar y se Acepta.

alusivo en el campo: Nombre para mostrar y se Acepta .  En este ejemplo, luciría

En este ejemplo, luciría de la siguiente manera

.  En este ejemplo, luciría de la siguiente manera  Al dar clic sobre ese

Al dar clic sobre ese botón, se obtiene el siguiente resultado

Al dar clic sobre ese botón, se obtiene el siguiente resultado  Fin del ejemplo. IPC

Fin del ejemplo.

Instituto Profesional En Computación IPC S.A. “Computación y Amistad“ EXCEL III 2010 Central Telefónica
Instituto Profesional En Computación IPC S.A.
“Computación y Amistad“
EXCEL III 2010
Central Telefónica 2257-1010
Web www.ipc.co.cr
Email ipc@ipc.co.cr
© I P C Computación 2014 - Prohibida la reproducción
parcial o total de la información mostrada.
TODOS LOS DERECHOS SON RESERVADOS.
40
Excel 2010
IPC Computación