Excel en un capitulo

146
Elementos de Excel. Introducción ¿Para qué sirven las funciones y las fórmulas? ¿Qué son las tablas? ¿Con qué tipos de datos se trabaja? ¿Cómo aplicamos formato a nuestras planillas? ¿Cuál es la mejor manera de trabajar con gráficos? Responderemos a estas preguntas para empezar nuestro recorrido y más adelante abordar de la mejor manera las cuestiones más complejas. Hoja de Cálculo Es una aplicación informática (software comercial) que permite un versátil manejo y registro de datos en tablas (celdas) de manera tal que se puedan operar y realizar cálculos complejos de toda índole, a saber: ingeniería, contabilidad, finanzas y negocios.. Esta aplicación forma parte de los paquetes tradicionales de oficina en el argot de Informática y que está diseñada para la manipulación de datos numéricos y alfanuméricos con el propósito de obtener resultados de cálculos complejos, fórmulas, funciones, gráficos, tablas dinámicas y macros. Las hojas de cálculo se iniciaron desde los años ’60, la primera fue creada por Dan Bricklin y la llamó VisiCalc. Al día de hoy se emplean para, además de lo antes citado (operaciones de cálculos entre celdas, fórmulas, funciones, tablas dinámicas y macros), también para utilísimas bases de datos numéricos, y como interfaz de datos de entrada para la Administración de Proyectos y Simulación, y muchas otras aplicaciones en el campo de la Ingeniería Industrial Estas funciones o aplicaciones no sólo son muy útiles para la administración y la toma de decisiones a nivel ejecutivo, sino que también son fundamentales en la operación cotidiana en todos los niveles de las áreas inclusive las operativas, además de permitir la presentación de resultados y conclusiones laborales y de negocios a públicos y clientes. Por lo versátil y su facilidad de uso, de esta aplicación permite la optimización del tiempo (de elaboración y resolución de cálculos extensos y complicados) y el costo también. Muchas firmas tienen esta aplicación, la más común bajo el sistema operativo Windows es la de Microsoft Office, de nombre Excel, aunque también puede recurrirse a Calc, de OpenOffice.org, Gnumeric de Gnome Office, etc. Excel

description

Describe y explica como usar los elementos básicos de Excel, formulas, funciones, tablas dinámicas y macros automáticas

Transcript of Excel en un capitulo

Elementos de Excel.

Introducción

¿Para qué sirven las funciones y las fórmulas? ¿Qué son las tablas? ¿Con qué tipos de datos se trabaja? ¿Cómo aplicamos formato a nuestras planillas? ¿Cuál es la mejor manera de trabajar con gráficos? Responderemos a estas preguntas para empezar nuestro recorrido y más adelante abordar de la mejor manera las cuestiones más complejas.

Hoja de Cálculo

Es una aplicación informática (software comercial) que permite un versátil manejo y registro de datos en tablas (celdas) de manera tal que se puedan operar y realizar cálculos complejos de toda índole, a saber: ingeniería, contabilidad, finanzas y negocios..

Esta aplicación forma parte de los paquetes tradicionales de oficina en el argot de Informática y que está diseñada para la manipulación de datos numéricos y alfanuméricos con el propósito de obtener resultados de cálculos complejos, fórmulas, funciones, gráficos, tablas dinámicas y macros.

Las hojas de cálculo se iniciaron desde los años ’60, la primera fue creada por Dan Bricklin y la llamó VisiCalc. Al día de hoy se emplean para, además de lo antes citado (operaciones de cálculos entre celdas, fórmulas, funciones, tablas dinámicas y macros), también para utilísimas bases de datos numéricos, y como interfaz de datos de entrada para la Administración de Proyectos y Simulación, y muchas otras aplicaciones en el campo de la Ingeniería Industrial

Estas funciones o aplicaciones no sólo son muy útiles para la administración y la toma de decisiones a nivel ejecutivo, sino que también son fundamentales en la operación cotidiana en todos los niveles de las áreas inclusive las operativas, además de permitir la presentación de resultados y conclusiones laborales y de negocios a públicos y clientes.

Por lo versátil y su facilidad de uso, de esta aplicación permite la optimización del tiempo (de elaboración y resolución de cálculos extensos y complicados) y el costo también.

Muchas firmas tienen esta aplicación, la más común bajo el sistema operativo Windows es la de Microsoft Office, de nombre Excel, aunque también puede recurrirse a Calc, de OpenOffice.org, Gnumeric de Gnome Office, etc.

Excel

Para abrir e iniciar aplicación, hacer clic en el botón Inicio, situado normalmente en la esquina inferior izquierda de la pantalla, esto permitirá la apertura de una nueva pantalla con un menú

en el que se encontrará la aplicación de Excel. Una vez localizado el icono acompañado del texto Excel 2013, sólo deberemos pulsar en él para abrir una nueva hoja de Excel. Otra alternativa es desde el icono del escritorio si es que está instalado este acceso directo al instalar Office.

 

Figura número 4. Aplicaciones de Windows. Ménú Visual que se despliega al ejecutar el botón de inicio del Sistema Operativo Windows versión 8.1

Para cerrar Excel 2013, puedes utilizar cualquiera de las siguientes operaciones: - Hacer clic en el

botón cerrar , este botón se encuentra situado en la parte superior derecha de la ventana de Excel y - También puedes pulsar la combinación de teclas ALT+F4; con esta combinación de teclas cerrarás la ventana que tengas activa en ese momento.

- Hacer clic sobre el menú y elegir la opción .

Pantalla Inicial

Al iniciar Excel aparece una pantalla inicial como esta:

Figura numero 5. Aplicación de Hoja de Cálculo Excel. Se despliega al ejecutar la aplicación, Click en ícono Excel 2013.

Para abrir un Libro en blanco, dar clic sobre la primera opción del menú de la derecha, y se mostrará una hoja de cálculo.

.Figura número 6. Pantalla de Inicio de la aplicación Excel 2013, Ventana de Hoja-Libro Inicial, tomado del sitio: http://excelpara-todos.blogspot.mx/2011/11/ventana-principal-descripcion-de-cada.html

La pestaña Archivo

Para desplegar el menú, hacer clic en la pestaña Archivo que se encuentra en la parte superior izquierda de la pantalla y se desplegará la lista de las acciones que puedes realizar sobre el documento, incluyendo Guardar, Imprimir o crear uno Nuevo.

A este menú también puedes acceder desde el modo de acceso por teclado tal y como veremos en la Cinta de opciones.

Contiene elementos como: Información, Imprimir, Abrir, o Guardar como. Al situar el cursor sobre las opciones de este tipo observarás que tienen un efecto verde oscuro. Si hacemos clic en ellas se nos mostrará un panel justo a la derecha con más opciones, ocupando toda la superficie de la ventana Excel.

Para cerrar el archivo o libro de Excel, hacer clic en la ficha Archivo y volver al documento pulsamos ESC o hacemos clic en el icono con forma de flecha situado en la esquina superior izquierda.

Figura número 7. Menú principal de Excel

Las barras

La barra de título

Contiene el nombre del documento sobre el que se está trabajando en ese momento. Cuando creamos un libro nuevo se le asigna el nombre provisional Libro1, aunque se puede grabar con cualquier otro nombre. También en esta misma barra, en el extremo de la derecha están los botones

para minimizar , maximizar y cerrar .

La barra de acceso rápido

La barra de acceso rápido contiene las operaciones más habituales de Excel como Guardar ,

Deshacer o Rehacer , se encuentra en la esquina superior izquierda. Esta barra puede personalizarse para añadir todos los botones que quieras. Para ello, debe desplegarse la opción Personalizar barra de herramientas de acceso rápido haciendo clic sobre el pequeño icono con forma de flecha negra hacia abajo, situado a la derecha de los botones que describíamos anteriormente. Al desplegarse, si se hace clic en una opción esta aparecerá marcada y aparecerá en la barra de acceso rápido. De forma similar, si se vuelve a hacer clic sobre ella se eliminará de la barra. Si no se encuentra la opción en la lista que te propone, puedes seleccionar Más comandos....

Figura número 8. Opciones de personalización de la barra de herramientas de Excel.

Menú principal de alternativas

Es uno de los elementos más importantes de Excel, ya que contiene todas las posibles opciones del programa organizadas en pestañas. Al pulsar sobre una pestaña, se tiene acceso a alternativas que permite dicha pestaña o submenú.

Las alternativas principales son Inicio, Insertar, Diseño de página, Fórmulas, Datos, Revisar y Vista. En ellas se encuentran las distintas posibles alternativas con los botones para optar por las disponibles.

Excel ofrece además para determinados elementos, las herramientas relacionadas con ellos de manera ampliada o extendida, es decir al seleccionar un gráfico, se dispondrá del menú de Herramientas de gráficos, con botones especiales para aplicaciones propias de los mismos. 

Es posible que en la versión instalada en el equipo de Excel 2013 se visualicen otras menúes con más opciones. Lo anterior en atención a que los programas instalados en el equipo son capaces de interactuar con Excel y por su configuración podrán añadirse herramientas y funcionalidades.

Esta integración permite una mayor comodidad, sin embargo se puede ocultar o inhabilitar alguna de estas fichas, desde el menú Archivo > Opciones > Personalizar cinta de opciones, nótese que es posible exportar e importar la personalización del entorno en Excel 2013.

Figura número 9. Personalización de la cinta de opciones de Excel 2013.

Excel ofrece también que pulsar la tecla ALT se habilite el modo de acceso por teclado. De esta forma aparecerán pequeños recuadros junto a las pestañas y opciones indicando la tecla (o conjunto de teclas) que deberás pulsar para acceder a esa opción sin la necesidad del ratón.

Figura 10. Facilidad para habilitar modo de acceso por teclado al Menú de Alternativas.

Las opciones no disponibles en el momento VIGENTE se muestran con números semitransparentes. Para salir del modo de acceso por teclado volver a pulsar la tecla ALT.

El hacer doble clic sobre cualquiera de las pestañas, ocasionará que la barra se oculte, para disponer de más espacio de trabajo. Las opciones volverán a mostrarse en el momento en el que se vuelva a hacer clic en cualquier pestaña. También se puede mostrar u ocultar las cintas desde el botón con

forma rectangular con una flecha en su interior, en la zona superior derecha .

La barra de fórmulas

Muestra el contenido de la celda activa, es decir, la casilla donde se encuentra el cursor. Para modificar el contenido de la celda, dicha barra variará ligeramente.

La barra de etiquetas

Permite mover el control del cursor por las distintas hojas del libro de trabajo.

Las barras de desplazamiento

Permiten mover a lo largo y ancho de la hoja de forma rápida y sencilla, simplemente hay que desplazar la barra arrastrándola con el ratón, o hacer clic en los triángulos.

La barra de estado

Indica en qué estado se encuentra el documento abierto, y posee herramientas para realizar zoom sobre la hoja de trabajo, desplazando el marcador o pulsando los botones + y -. También dispone de tres botones para cambiar rápidamente de vista (forma en que se visualiza el libro).

Ayuda

Un método consiste en utilizar la Cinta de opciones, haciendo clic en el interrogante:

Otro método consiste en utilizar la tecla F1 del teclado. Aparecerá la ventana de ayuda desde la cual tendremos que buscar la ayuda necesaria.

Selección de celdas

Para seleccionar celdas es importante identificar la forma del puntero del ratón, para seleccionar

debe mostrarse una cruz gruesa blanca, tal como se ve a continuación: .Si se requiere la Selección de una celda solo tienes que hacer clic sobre ella.

Para seleccionar un conjunto de celdas adyacentes, pulsar el botón izquierdo del ratón en la primera celda a seleccionar y mantener pulsado el botón del ratón mientras se arrastra hasta la última celda a seleccionar, después soltarlo.

Para indicar un rango a seleccionar, es decir, seleccionar de la celda X a la celda Y debe hacerse clic sobre una celda, mantener pulsada la tecla Mayús (Shift) y luego pulsar la otra.

Selección de una columna: Hacer clic en el identificativo superior de la columna a seleccionar.

Selección de una fila: Hacer clic en el identificativo izquierdo de la fila.

Selección de una hoja entera:

Hacer clic sobre el botón superior izquierdo de la hoja situado entre el indicativo de la columna A y el de la fila 1 o pulsar la combinación de teclas Ctrl + E.

Para eliminar hoja o insertar una hoja, no hace falta seleccionar todas las celdas con este método ya que el estar situados en la hoja basta para tenerla seleccionada.

Añadir a una selección

Para seleccionar celdas NO contiguas ha de realizar la nueva selección manteniendo pulsada la tecla CTRL.

Este tipo de selección se puede aplicar con celdas, columnas o filas. Por ejemplo, podemos seleccionar una fila y añadir una nueva fila a la selección haciendo clic sobre el indicador de fila manteniendo pulsada la tecla CTRL.

Ampliar o reducir una selección

Para ampliar o reducir una selección ya realizada siempre que la selección sea de celdas contiguas, realizar los siguientes pasos, manteniendo pulsada la tecla MAYÚS, hacer clic donde queremos que termine la selección.

1.4 Fórmulas y funciones.

1.4.1. Elementos de una fórmula

Una fórmula ingresada en una celda consiste en cinco elementos:

1. Operadores: Estos incluyen símbolos tales como + (para sumar) y * (para multiplicar). 2. Referencia de celdas: Estos incluyen nombres de celdas y rangos que pueden referirse a

celdas en la hoja actual, celdas en otras hojas en el mismo libro, o incluso celdas en una hoja de otro libro.

3. Valores o cadenas de texto: Los ejemplos incluyen 7.5 (un valor) y “Resultado final” (una cadena, encerrada en comillas).

4. Funciones y sus argumentos: Estos incluyen funciones tales como SUMA o PROMEDIO y sus argumentos. Los argumentos de las funciones aparecen en paréntesis, y proporcionan ingreso para los cálculos de las funciones.

5. Paréntesis: Estos controlan el orden en el cual las expresiones dentro de una formula son evaluadas.

1.4.2. Ingresar una fórmula

Escribir un signo de igual (=) en una celda vacía, ocasiona que Excel asuma que se está ingresando una fórmula, así también se puede usar un símbolo (@) para comenzar una fórmula que comienza con una función. Por lo que ambas alternativas son aceptadas por Excel:

=SUMA(A1:A500)

@SUMA(A1:A500)

Se puede ingresar una fórmula en la celda tanto manualmente o escribiendo la etiqueta de la celda, por ejemplo =A4 ocasionará que el valor contenido en la celda columna A fila 4 se ubique en la celda vigente del cursor.

1.4.3. Ingresar una Fórmula manualmente

Observar que a medida que se escriben los caracteres aparecen en la celda así como en la barra de fórmula. Después de ingresar la formula, pulsar Enter.

Nota: Cuando se trata de una fórmula matricial, pulsar Ctrl + Mayus + Enter en lugar de solo Enter. Una fórmula matricial es un tipo de formula especial para varios tipos de datos anidados.

Después de pulsar la tecla Enter, la celda muestra el resultado de la fórmula. La fórmula aparece por sí misma en la barra de fórmula cuando la celda es activada.

Figura numero 11. Ingreso manual de fórmula en una hoja de cálculo de Excel 2013.

1.4.4. Ingresar una fórmula señalando celdas.

El otro método de ingresar una fórmula aún involucra algo de la entrada manual, pues es posible señalar las celdas de referencia  en lugar de escribirlas manualmente.

Figura numero 11. Ingreso manual de fórmula en una hoja de cálculo de Excel 2013.

Excel muestra Introducir o modificar en el lado izquierdo de la barra de estado.

Cuando han de incluirse varias celdas o rango de celdas Pulsar la tecla direccional o flecha (hacia abajo, arriba, izquierda o derecha, según se requiera, Excel muestra un borde en movimiento alrededor de la celda y en la barra de fórmula. También muestra el texto Señalar en la barra de estado.

Figura número 12. Emplo de las teclas flecha para marcar rangos de celdas.

1.4.5. Trabajar con Nombres

Es posible en Excel escribir un nombre en lugar de seleccionar celda o rango de celdas para aplicar fórmulas. Para definir nombres dar clic al rango de celdas que se desea identificar con el mismo, marcando el rango de celdas y posteriormente dar clic derecho al rango

Figura numero 13. Aplicación de fórmulas para seleccionar celda o rango de celdas escribiendo un nombre.

Figura número 14. Ejemplo de aplicación de fórmulas con nombres.

De manera tal que para calcular la operación de Ventas – Comisión, podrá escribirse o seleccionarse a través de los nombres para completar la fórmula; 10000-500 = 9500.

Para que la barra de fórmulas muestre más que una sola línea, arrastre el borde inferior de la barra de fórmula hacia abajo.

Figura número 15. Amplicación de la barra de fórmulas.

1.4.6. El límite de las fórmulas

Una fórmula puede contener hasta casi 8000 caracteres, para crear una fórmula que exceda este límite, se debe separar la fórmula en varias u optar por crear una función personalizada usando Visual Basic para aplicaciones (VBA).

1.4.7. Ejemplo de fórmulas

=1780*.01 calcula el 1% de 1780

=A1+A2 suma los valores contenidos en las celdas a1 y a2

=Ingresos-Gastos substrae el valor en la celda nombrada Gastos del valor en la celda nombrada Ingresos.

=SUMA(A1:A12) agrega valores en el rango A1:A12.

=A1=C12 compara la celda A1 con la celda C12 usando el operador (=). Si los valores en las dos celdas son idénticos, la fórmula regresa VERDADERO; por lo contrario, regresará FALSO.

=(B2-B3)*B4 fórmula substrae el valor en la celda B3 del valor en la celda B2 y a continuación multiplica el resultado por en valor en la B4.

1.4.8. Editar fórmulas

Doble clic en la celda: Permite editar el contenido de la celda directamente en la celda. Esta técnica trabaja solo si la casilla de verificación, en caso contrario optar por ficha Avanzadas en el cuadro de diálogo Opciones de Excel

Pulsar F2: Permite editar el contenido de las celdas directamente en la celda, de no ser así, implica que la casilla de verificación Permitir editar directamente en las celdas no está seleccionado, por lo que la edición se producirá en la barra de fórmulas: Seleccione la celda de fórmula que quiera editar y haga clic en la barra de fórmula. De esta manera es posible seleccionar varios caracteres arrastrando el mouse sobre ellos o pulsando la tecla Mayus mientras usa las teclas direccionales. También pulsar las teclas Inicio o Fin para seleccionar al inicio o al final de la línea actual de la fórmula.

Sugerencia: Cuando una formula sea extensa y contenga un error y Excel no permita ingresar en ella, convertir la fórmula a texto para corregir. Para convertir una fórmula a texto, borrar el signo igual inicial (=), corregir y volver a insertar igual inicial para convertir el contenido de las celdas de nuevo en una fórmula.

1.4.9. Usar la barra de fórmulas como una calculadora

Escribir directamente en la barra de fórmula como una calculadora en cualquier celda:

=(132*1.15)/12

La fórmula siempre regresa el mismo resultado, por lo que se puede almacenar el resultado de la fórmula en lugar de la fórmula, pulsar F2 para editar la celda y a continuación F9, seguido de Enter.

Excel almacena el resultado de la fórmula (12.6500), en lugar de la formula. Esta técnica también trabaja si la fórmula utiliza referencias de celda.

Para usar funciones de hoja, ingresar la raíz cuadrada de 123 en una celda, escribir =RAIZ(123), pulse F9, y a continuación pulse Enter. Excel ingresa el resultado: 11.0905365.

Para evaluar parte de una fórmula: =(145*1.05)/A1

Si se desea convertir solo la expresión sin el paréntesis para una evaluación, ingresar al modo de edición de celda y seleccionar la parte a evaluar. En este ejemplo, seleccione 145*1.05. A continuación pulse F9 seguido de Enter. Excel convierte la fórmula a lo siguiente:

=(152.25)/A1

1.4.10. Usar operadores en las fórmulas

Los operadores son los elementos básicos de las fórmulas. Un operador es un símbolo que representa una operación. La siguiente tabla muestra los operadores que Excel soporta.

Símbolo Operador

+ Adición- Substracción/ División* Multiplicación% Porcentaje& Concatenación de texto^ Exponenciación= Comparación lógica (igual a)>  Comparación lógica (mayor que)<  Comparación lógica (menor que)>= Comparación lógica (mayor o igual que)<= Comparación lógica (menor o igual que)<>  Comparación lógica (no es igual a)Tabla 1. Orden de prioridad de operadores combinados, aritmético-logico-relacionales.

Nota: El porcentaje no es realmente un operador, pero este funciona casi igual. Ingrese un signo de porcentaje después de un número para dividir el número entre 100. Si el valor no es parte de una fórmula, Excel también aplica el formato porcentual a la celda.

1.4.11. Operadores de referencia

Excel soporta otras clases de operadores conocidos como operadores de referencia. Los operadores de referencia, descritos en la siguiente lista, trabajan con referencias de celda.

Símbolo Operador

: (Dos puntos) Rango. Proporciona una referencia a todas las celdas entre dos referencias.

, (coma) Unión. Combina varias celdas o referencias de rango dentro de una referencia.

 (espacio) Intersección. Proporciona una referencia a las celdas comunes para dos referencias.

Tabla 8. Operadores de referencia

1.4.12. Ejemplo de fórmulas que usan operadores

Estos ejemplos de fórmulas usan varios operadores:

La siguiente fórmula junta (concatena) las dos cadenas de texto literal (cada una encerrada en comillas) para proporcionar una nueva cadena de texto:

La concatenación es usada generalmente con texto, pero también funciona con valores también. Por ejemplo, si la celda A1 contiene 123 y la celda A2 contiene 456, el procedimiento de la fórmula debería regresar el valor 123456. El resultado es una cadena de texto. Sin embargo, ésta cadena puede usarse en una fórmula matemática, Excel los trata como un número. Muchas funciones de Excel ignoraran este “número” debido a que ellos están diseñados para ignorar texto.

Otro operador es el de exponenciación (^) para elevar 8 a la potencia 5 con el resultado: 32768

=8^5

Otra forma es usar una referencia de celda en lugar de un valor particular: eleva el valor en la celda B1 a la potencia 4:

=B1^4 resulta 20736

Esta fórmula regresa la raíz cubica de 162: 5.45136178

=16^(1/3)

La siguiente fórmula regresa VERDADERO si el valor en la celda A1 es menor que el valor en la celda A2. Por lo contrario, regresa FALSO:

=A1<A2

Los operadores de comparación lógica también trabajan con texto. Si A1 contiene Herrera y A2 contiene López, la fórmula regresa VERDADERO porque Herrera va antes que López en orden alfabético.

La siguiente fórmula regresa VERDADERO si el valor en la celda A1 es menor o igual que el valor en la celda A2. Por lo contrario, este regresa FALSO:

=A1<=A2

La siguiente fórmula regresa VERDADERO si el valor en la celda A1 no es igual al valor en la celda A2. Por lo contrario, este regresa FALSO:

=A1<>A2

Excel no tiene operadores lógicos Y y O, por lo que han de emplearse funciones para especificarlos y poder usarlos en las fórmulas:

=O(A1=100,A1=1000)

Esta última fórmula regresa VERDADERO solo si ambas celdas, A1 y A2 contienen valores menores que 100:

=Y(A1<100,A2<100)

1.4.13. Prioridad de los operadores

Para aplicar fórmulas en Excel han de emplearse paréntesis y poder así controlar el orden en el que los cálculos se hacen. Esto implica familiarizarse con la procedencia de los operadores, el conjunto de reglas que Excel utiliza para realizar sus cálculos. La siguiente tabla lista las prioridades de operadores de Excel.

Símbolo Operador

Dos puntos (:), coma (,), espacio ( ) Referencia- Negación% Porcentaje^ Exponenciación* Y / Multiplicación y división+ y - Adición y Substracción& Concatenar texto=, <, >, <=, >= y <> ComparaciónTabla 8. Prioridad de operadores aritmético-lógico-relacionales.

Para anular el orden de prioridad de Excel deberá utilizarse paréntesis, pues las expresiones dentro del paréntesis siempre son primeras en evaluarse

1.4.14. Paréntesis anidado

Anidar paréntesis en las fórmulas, es, colocar paréntesis dentro de los paréntesis. Cuando una fórmula contiene paréntesis, Excel evalúa la expresión anidada más profunda en primer lugar y continúa aplicando operaciones hacia afuera. La siguiente fórmula utiliza paréntesis anidados:

=((B3*C3)+(D3*E3)-(F3*G3))*H3

Tiene en total cuatro paréntesis, y de acuerdo a la prioridad de Excel, realizará los productos de izquierda a derecha, seguidamente sumará los 2 primeros, a este resultado le deducirá el tercero y finalmente calculará el producto de esta cifra por el contenido de la celda H3.

Excel ofrece una ventaja para la edición de fórmulas pues los paréntesis emparejados son del mismo color, y también, cuando el cursor se mueve sobre un paréntesis, Excel momentáneamente muestra el paréntesis y su paréntesis emparejado en negrita. Por último, en algunos casos, si la fórmula contiene paréntesis no coincidentes, Excel puede proponer una corrección a su fórmula

1.4.15. Sugerencia: “No usar valores literales”

Cuando se construyen y editan fórmulas en Excel es recomendable insertar valores en una celda de manera tal que pueda usarse ésta como referencia de celda en lugar del valor literal. Esto hace más fácil modificar y mantener su hoja, pues una modificación de ese valor requerirá tan sólo la modificación de la celda con el valor, y no de todas y cada una de las celdas en las que se hubieran incluido valores literales.

1.4.16. Cálculo automático de Fórmulas

Ante la edición de fórmulas Excel podrá de manera inmediata realizar y actualizar los cálculos, siempre que esté configurada esta modalidad. Este modo es por defecto, aunque han de considerarse las siguientes reglas que emplea Excel para sus cálculos:

* Ingreso o Edición de Datos o Fórmulas, por ejemplo) = Excel calcula inmediatamente estas fórmulas que dependen de los datos nuevos o editados.

* Ante cálculos largos, Excel temporalmente suspende los cálculos cuando usted necesita realizar otras tareas de hojas; se reanuda cuando haya terminado.

* Las fórmulas son evaluadas en una secuencia natural. Por ejemplo, si una fórmula en la celda B10 depende del resultado de una fórmula en la celda B9, la celda B9 es calculada antes que B10.

Para establecer el modo de Calcular de Excel a Manual, en la pestaña Fórmulas, grupo Cálculo, hacer clic en Opciones, cálculo y clic en Manual.

En la barra de estado Excel muestra, en el modo Cálculo manual, si tiene alguna fórmula sin calcular en el rubro Calcular de la pestaña Fórmulas. En el rubro Cálculo ofrece dos controles: Calcular ahora y Calcular hoja. Además de estos controles, se pueden usar las teclas de método abreviado para calcular nuevamente las fórmulas:

F9: Calcula las fórmulas en todos los libros abiertos (al igual que el control Calcular ahora).

Mayus + F9: Calcula sólo las fórmulas en la hoja activa. Este no calcula en otras hojas del mismo libro (igual que el control Calcular hoja).

Ctrl + Alt + F9: Fuerza un cálculo nuevamente de todos los libros abiertos. Úselo si Excel (por alguna razón) no regresa los cálculos correctos.

Ctrl + Mayus + Alt + F9: Verifica nuevamente todas las fórmulas dependientes y a continuación fuerza un los cálculos nuevamente para todos los libros abiertos.

1.4.17. Referencias de celda y rangos

La modalidad para aplicar fórmulas que emplea Excel es hacer referencia a una o más celdas usando la dirección de celda o rango (o el nombre si lo tuviese). Las referencias de celda pueden ser de 4 formas, de manera tal que cuando se realizar una copia de la formula varía el resultado de esta operación en función de dicha forma, a saber:

Relativo: La referencia es totalmente relativa, se ajusta a su nueva ubicación. Ejemplo: A1

Absoluta: La referencia es completamente absoluta, no cambia. Ejemplo: $A$1

Fila Absoluta: La referencia es parcialmente absoluta, las columnas se ajustan, pero la fila no cambia. Ejemplo: A$1

Columna Absoluta: La referencia es parcialmente absoluta, las filas se ajustan, pero las columnas no cambian. Ejemplo: $A1

1.4.18. Creando una referencia absoluta o mixta

Cuando se crean fórmulas todas las referencias de celdas y rangos son relativas. Para cambiar una referencia a una referencia absoluta o una referencia mixta, han de hacerse de manera manual agregando signos de dólar. Para que se desplieguen los diversos modos de referencias tecla F4.

La siguiente imagen demuestra una referencia absoluta en una fórmula. La celda D5 contiene una fórmula que multiplica la cantidad (celda B5) por el precio (celda C5) y a este producto le deduce a continuación por los impuestos de ventas (celda B7).

=(B2*C2)*$B$7

Figura 19. Referencia absoluta en una fórmula.

La referencia para la celda F3 es una referencia absoluta.

A continuación se presenta ejemplo de referencias mixtas. Note la fórmula en la celda E9

Cálculo de los productos de las filas por las columnas dados los valores 1,1.2,1.4 y 1.6 de las filas 9,10,11 y 12 por los de las columnas E,F,G Y H …

Al escribir la fórmula =$D9* E$8 en la celda E9, se podrá copiar tanto hacia abajo y hacia la derecha (cruzadas) sin problema, es decir; aun conteniendo las celda valores, la fórmula asegura que el valor de la celda D9 (1) se FIJE y multiplique este mismo valor, por cada uno de los distintos valores que contienen las celdas en la fila 8, a saber F,G y H.

1.0 1.2 1.4 1.6 1.8

1.0 1.0x1.0 1.0x1.2 1.0x1.4 1.0x1.6 1.0x1.81.2 1.2x1.0 1.2x1.2 1.2x1.4 1.2x1.6 1.2x1.81.4 1.4x1.0 1.4x1.2 1.4x1.4 1.4x1.6 1.4x1.81.6 1.6x1.0 1.6x1.2 1.6x1.4 1.6x1.6 1.6x1.81.8 1.8x1.0 1.8x1.2 1.8x1.4 1.8x1.6 1.8x1.8

Tabla 2. Ejemplo de referencias mixtas.

Lo anterior dado que la fórmula utiliza referencias absolutas para la columna D y para la fila 8. Al copiar arrastrando el vértice de la celda E9 hacia la derecha, columna H9 ó hacia abajo, fila 13, respetará los valores fijos indicados con el operador $, es decir la columna D y la fila 8, así queda la tabla:

Figura 20. Ejemplo de referencias absolutas.

1.4.20. Referencias a otras hojas o libros

Una fórmula puede estar conformada por valores o fórmulas, funciones e incluso macros de celdas que se encuentran en otra hoja o libro diferente. Para poder hacer referencia a la celda de otra hoja o libro, se debe anteponer la referencia de celda con el nombre de la hoja seguido por un signo de exclamación. Ejemplo de referencia a otra hoja llamada Referencias Mixtas: ='Ref mixtas'!E11*D4

Es posible también crear fórmulas vinculadas que refieren a una celda en un libro diferente. Para ello basta anteponer la referencia de celda con el nombre del libro (en corchetes), el nombre de la hoja y un signo de exclamación, al igual que el siguiente ejemplo:

=[Libro1.xlsx]Hoja1!$F$4*6

Figura 21. Ejemplo de Referencia a otras hojas o libros.

Si el nombre del libro o de hoja en la referencia incluye uno o más espacios, debe encerrarse entre comillas simples: ='Ref mixtas'!E11*D4 y si el libro vinculado está cerrado, debe indicarse la ruta completa para la referencia del libro: ='C:\Users\60227\Documents\SABATICO\unidad 1\[Libro1.xlsx]Hoja1'!$F$4*6

Para los casos en los que se hacen referencias a otras hojas o libros inclusive, podrá indistintamente escribir la fórmula directamente o crear la referencia usando el método común de seleccionar las celdas, cuidando que estén abiertos los archivos.

Se puede crear una fórmula señalando los resultados en las referencias de celda relativas, sin embargo, cuando se crea una referencia a otro libro seleccionándolo, Excel asume que se trata de celdas absolutas. Por ello, cuando se copian fórmulas en estas circunstancias deberá editarse la fórmula para crear una referencia relativa.

Figura 21. Ejemplo que exige edición al copiar referencia para crear la relativa.

1.4.21 Convertir fórmulas a valores

Cuando se requiere reemplazar las fórmulas por sus valores de manera que dicho valor permanezca fijo y no vuelva a cambiar al momento de actualizar los cálculos de la hoja: para ello hacer click en la pestaña, dentro del grupo Portapapeles, y hacer clic en la flecha de Pegar y clic en el comando Valores.

Figura 22. Despliegue de alternativas de pegado especial.Conversión de fórmulas a valores, tomado del sitio

http://exceltotal.com/convertir-formulas-en-valores-en-excel/

1.4.22. Formas aplicar el Autorelleno

Incluyendo Fórmulas: es una forma rápida y eficaz de copiar celda a las celdas adyacentes, pues permite el ahorro de tiempo cuando se manejan grandes volúmenes de datos, así también se puede incluso substituir por fórmulas en algunos casos. Por ejemplo, si usted necesita una lista de valores de 1 al 1000 en el rango que va de la celda C3:C1004, se escribe el número 1 en la celda c3 y en la celda c4 c3+1, a continuación copiar la fórmula a las 998 celdas de abajo o simplemente usar el controlador del mouse haciendo clic en la esquina inferior derecha de la celda c4 y arrastrar el mouse hasta la 998. Sólo valores: pueden crearse series sin usar una fórmula. Escribir 1 en la celda d3 y 2 en la celda d4, seleccionar d3:d4 y arrastre el controlador de relleno abajo hasta la celda A100.

Excel también reconoce nombres de series comunes tales como meses y días de la semana.

Para crear una lista de Autorelleno personalizado usando el panel Listas personalizadas, de las alternativas en General de Opciones avanzadas, del cuadro de diálogo Opciones de Excel.

Figura 22. Pantalla de Listas Personalizadas.

Al arrastrar el controlador de relleno con el botón derecho del mouse, se muestra un menú de acceso directo para seleccionar una opción de Autorelleno, entre las que ofrece: Copiar celdas, Rellenar serie, Rellenar formatos sólo, Rellenar sin formato, Rellenar días, Rellenar días de la semana, Rellenar meses.

Esta aplicación ofrece alternativas de relleno como sigue: Dar clic con el botón izquierdo del mouse en el extremo inferior derecho de la celda marca (en el ejemplo es la celda D3 del recuadro verde de Excel) y arrastrar el mouse hasta la celda que se desee rellenar, al soltar el botón se desplegará la lista que se muestra en la figura 23, en la que se escogerá el formato deseado.

También por defecto ofrece el relleno, es decir, si escribe el número 1, se arrastra hasta la 8va celda, se escribirán automática y respectivamente en las celdas, los números 2,3,4,5,6,7 y 8. Si se escribe el lunes, en lugar del número 1 y se arrastra el mouse, las celdas contiguas contendrán automáticamente martes, miércoles, jueves, viernes, sábado y domingo.

1.4.23. Errores en las fórmulas

Valor de error Explicación#DIV/0! Este error aparece cuando se intenta realizar alguna división entre cero o

quizá una celda vacía, por ejemplo si usted desea realizar la siguiente operación: =10/0. Entonces el resultado será #¡DIV/0! Pues no existe una división entre 0.

Si tuviese una lista de valores que comprende C2:C6, en el cual tiene que realizar una división con una celda en blanco momentáneamente, ya que después añadirá algún valor, entonces el resultado sería error. Ppuede utilizar la función SI para resolver esta duda.

Utilice la función: =SI(C2=0,” “,B2*C2), indica que si la celda C2 es una celda en blanco o igual a cero, entonces aparezca la celda con un espacio en blanco, caso contrario que se realice la multiplicación.

#N/A Este error es muy común, nos indica que no está disponible el valor deseado y que la fórmula no podrá mostrar el resultado correcto.

Algunos usuarios utilizan la función ND a propósito, para indicar que faltan datos.

#NOMBRE? Este error también es muy común dentro de una hoja de Excel, indica que está mal escrito el nombre de una fórmula, o quizá porque ha incluido el nombre de un rango sin ser todavía creado.

Generalmente este error es un error de sintaxis, para poder resolverlo, deberá revisar la fórmula detenidamente.

#¡NULO! Este error puede aparecer cuando no existe o no se utiliza correctamente los separadores de lista (,) o (;)

En la función: =SUMA(A2:A6 B2:B6), no aparece ningún símbolo de separación de argumentos o listas y el resultado será #¡NULO!, la fórmula correcta seria: =SUMA(A2:A6;B2:B6)

#¡NUM! Este error en Excel, nos indica que existe un error en algún número que funciona como argumento en nuestra fórmula.

Si se utiliza =RCUAD(B4) y tenemos en B4 un valor negativo, el resultado es error #¡NUM!, pues la función raíz no puede operar ante un número negativo, para solucionarlo puede utilizar la siguiente fórmula: =RAIZ(ABS(B4))

#¡REF! Este error nos indica que la fórmula que se esté utilizando, presenta una referencia de celda no valida, por ejemplo: =A1*B1

Devuelve el error #¡REF! si de casualidad se eliminara la columna A o la columna B.

#¡VALOR! La fórmula incluye un argumento u operando del tipo equivocado. Un operando se refiere a una valor o referencia de celda que una fórmula usa para calcular un resultado.

Tabla 14. Código de errores de fórmulas de Excel, tomada del sitio Curso AulaClic 2013, http://www.aulaclic.es/excel-2013/

Nota: Si la celda entera se rellena con el marcador almohadilla (#######), significa que la columna no tiene el ancho suficiente para mostrar el valor. La celda también rellena con un marcador almohadilla si este contiene una fórmula que regresa una fecha u hora inválida. Dependiendo de la

configuración, las fórmulas que regresan un error pueden mostrar una Etiqueta inteligente. Al hacer clic en esta Etiqueta inteligente se muestra información sobre el error o para rastrear los pasos de cada cálculo que lo lleven al error.

Función:

Es una forma o herramienta implementada para realizar un cálculo o cálculos predefinidos mediante valores especificados por el usuario, y éstos pueden ser constantes, matrices, referencias a celdas etc. Son denominados argumentos de funciones y están organizados en orden estándar dependiendo de la función.

Estructura de una Función

Sintaxis de las funciones

La forma de escribir en Excel las funciones exige: el signo "igual" = (como una fórmula), luego el nombre de la función y entre paréntesis se escriben los argumentos, éstos separados por comas y finalmente el paréntesis de cierre. Ejemplo: =PROMEDIO(E3:E11).

1.4.24. Funciones en las fórmulas

Para crear de manera eficaz fórmulas complejas Excel ofrece la posibilidad de aplicar funciones a rangos de celdas, así como la variedad de éstas: de texto, de fecha y hora, lógicas, de referencias, matemáticas y trigonométricas, etc. Entre las funciones básicas tenemos: SUMA, PROMEDIO, MAX, MIN Y CONTAR.

Existen varios métodos para insertar una función.

1) Escribir en una celda manualmente el símbolo de “=” y la primera letra de la fórmula, automáticamente aparece una lista dinámica que va cambiando de acuerdo a lo que se vaya escribiendo.

Figura 23. Inserción de funciones a través del símbolo =

Figura 24. Aplicación de funciones en las fórmulas.

2) A través del comando Insertar función en la barra de fórmulas, una vez que se despliegue, dentro del cuadro de diálogo Insertar función, escribir la palabra que indica la operación que se requiere, ejemplo: CONTAR y al hacer clic en Ir, la lista Seleccionar una función muestra las funciones recomendadas por Excel para esa operación. Al hacer clic en Aceptar, aparece el cuadro de diálogo Argumentos de función en el que se le indicará ya sea de manera directa o dándole clic al botón de selección, el rango al que se aplicará esa función.

Figura 25. Inserción de una función en la barra de fórmulas.

Excel también permite en la pestaña de Fórmulas, del grupo Fórmulas insertar las funciones y están categorizadas.

Figura 26. Inserción de funciones en la pestaña de fórmulas.

Figura 27. Inserción de función a través de la escritura de la descripción de nombres de fórmulas.

Figura 26. Argumentos en las funciones

1.4.28. Funciones Básicas

Además de las funciones que se ofrecen en el cuadro de diálogo de fórmulas de la barra:

Figura 27.

Excel ofrece AYUDA EN LÍNEA. Para tener acceso a ésta dar clic en el botón de ayuda de Excel

éste está situado en el margen superior derecho de la aplicación y se desplegará ventana como la que se muestra:

Los tipos de funciones que ofrece Excel:

Figura 27. Tipos de Funciones de Excel. Tomada del sitio: http://exceltotal.com/video-tutorial-de-funciones-en-excel-2010/

De entre las funciones matemáticas y trigonométricas, Excel ofrece:

Para consultar la sintaxis de alguna función escribir en el cuadro de diálogo el nombre de ésta, por ejemplo escríbase SUMA y se desplegará:

Observar que Excel ofrece muchas alternativas por función, las primeras de tantas son Sumar números, Sumar (suma) o restar fechas, Sumar o restar tiempo, SUMAR.SI (función SUMAR.SI), función SUMAR.SI.CONJUNTO, SUMAR.SI.CONJUNTO (función SUMAR.SI.CONJUNTO) …

El dar clic a las palabras hipervinculadas (resalte en azul en el entorno informático o computacional) ocasionará el despliegue de una pantalla que relaciona las diferentes alternativas de esa función en la modalidad escogida:

Si se optase por la alternativa Función SUMA números, se desplegará la siguiente información:

Sumar números de una celda

Para Sumar números de una celda, usar el operador aritmético + (signo más) en una fórmula. Si escribe la fórmula siguiente en una celda: =5+10, la celda muestra el resultado siguiente: 15

Suma de números contiguos en una fila o columna: si se tiene un rango de números contiguos (es

decir, sin celdas en blanco), usar el botón Autosuma .

1. Hacer clic en una celda situada debajo de la columna de números o a la derecha de la fila de números.

2. En la pestaña Inicio, en el grupo Edición, hacer clic en Autosuma y después presionar ENTRAR.

Suma de números no contiguos: si se tiene un rango de números que pueden incluir celdas en blanco o celdas que contienen texto en vez de números, usar la función SUMA en una fórmula. Aunque podrían estar incluidas en el rango que se usa en la fórmula, las celdas en blanco y las celdas que contienen texto se pasan por alto.

A VENDEDOR B FACTURA1 Buchanan 15.0002 Buchanan 9.0003 Suyama 8.0004 Suyama 20.0005 Buchanan 5.0006 Dodsworth 22.500

Fórmula

Tabla 3. Datos para calcular formula con función suma

Descripción (resultado)

=SUMA(B2:B3;B5) Suma dos facturas de Buchanan y una de Suyama (44.000).

=SUMA(B2;B5;B7) Suma facturas individuales de Buchanan, Suyama y Dodsworth (57.500).

Nota    La función SUMA puede incluir cualquier combinación de hasta 30 referencias de celda o de rango. Por ejemplo, la fórmula =SUMA(B2:B3;B5) contiene una sola referencia al rango (B2:B3) y una sola celda (B5).

Otra de las alternativas que ofrece la función suma, es la basada en una condición, por lo que para conocer la sintaxis particular dar clic en el hipervínculo Suma de Números basándose en una condición y el cursor se ubicará en la sección en la que la describe incluyendo ejemplos la forma de realizar la función. La siguiente pantalla se mostraría:

La función SUMAR.SI (COMBINACIÓN DE FUNCIÓN MATEMATICA CON LOGICA) sirve para sumar los valores en un rango que cumple los criterios especificados. Por ejemplo, supongamos que, en una columna que contiene números, desea sumar solo los valores que son mayores que 5. Puede usar la siguiente fórmula:

=SUMAR.SI(B2:B25,">5")

Este ejemplo aplica los criterios a los mismos valores de la suma. Si lo desea, puede aplicar los criterios a un rango y sumar los valores correspondientes en un rango distinto. Por ejemplo, la fórmula =SUMAR.SI(B2:B5, "Juan", C2:C5) suma solo los valores del rango C2:C5, donde las celdas correspondientes al rango B2:B5 son iguales a "Juan."

Nota   Para sumar las celdas en función de criterios múltiples, vea SUMAR.SI.CONJUNTO (función SUMAR.SI.CONJUNTO).

Sintaxis

SUMAR.SI(rango, criterio, [rango_suma])

La sintaxis de la función SUMAR.SI tiene los argumentos (argumento: valor que proporciona información a una acción, un evento, un método, una propiedad, una función o un procedimiento.) siguientes:

Rango    Obligatorio. Es el rango de celdas que desea evaluar según los criterios especificados. Las celdas de cada rango deben ser números, o bien nombres, matrices o referencias que contengan números. Los valores en blanco y los de texto no se tienen en cuenta.

Criterio    Obligatorio. Es el criterio en forma de número, expresión o texto, que determina las celdas que va a sumar. Por ejemplo, los criterios pueden expresarse como 32, ">32", B5, 32, "32", "manzanas" u HOY().

Importante   Cualquier criterio de texto o cualquier criterio que incluya los símbolos lógicos o matemáticos debe estar entre comillas dobles ("). Si el criterio es numérico, las comillas dobles no son necesarias.

Rango_suma    Opcional. Son las celdas reales para agregar, si es que desea agregar celdas a las ya especificadas en el argumento rango. Si omite el argumento rango_suma, Excel agrega las celdas especificadas en el argumento rango (las mismas celdas a las que aplica el criterio).

Notas 

Puede usar los caracteres comodín signo de interrogación (?) y asterisco (*) como argumento criterio. El signo de interrogación corresponde a cualquier carácter único y el asterisco equivale a cualquier secuencia de caracteres. Si desea buscar un signo de interrogación o un asterisco reales, escriba una tilde (~) antes del carácter.

Comentarios

La función SUMAR.SI devuelve resultados incorrectos cuando se usa para comparar cadenas de más de 255 caracteres con la cadena #¡VALOR!.

No es necesario que rango_suma tenga el mismo tamaño y forma que el argumento rango. Las celdas reales que agregadas se determinan usando la celda superior del extremo izquierdo del argumento rango_suma como celda inicial e incluye las celdas que corresponden con el tamaño y la forma del argumento rango.

Ejemplo 1

Copiar los datos del ejemplo en la siguiente tabla y péguelos en la celda A1 de una nueva hoja de cálculo de Excel. Para las fórmulas que muestren resultados, selecciónelas, presione F2 y, a continuación, presione Entrar. Si lo necesita, puede ajustar los anchos de la columna para ver todos los datos.

Valor de propiedad Comisión Datos

100.000,00 $ 7000,00 $ 250.000,00 $ 200.000,00 $ 14.000,00 $ 300.000,00 $ 21.000,00 $ 400.000,00 $ 28.000,00 $ Fórmula Descripción Resultado=SUMAR.SI(A2:A5;">160000";B2:B5) Suma las comisiones de los

valores de propiedad superiores a 160.000.

63.000,00 $

=SUMAR.SI(A2:A5;">160000") Suma los valores de propiedad superiores a 160.000.

900.000,00 $

=SUMAR.SI(A2:A5,300000,B2:B5) Suma las comisiones de los valores de propiedad igual a 300.000.

21.000,00 $

=SUMAR.SI(A2:A5,">" & C2,B2:B5) Suma las comisiones de los valores de propiedad superiores al valor en C2.

49.000,00 $

Tabla 4. Datos y aplicación de fórmulas y función Sumar SI

La función SUMAR.SI utiliza los siguientes argumentos Fórmula con función SUMAR.SI

 Rango de evaluación: comprobar estas celdas para determinar si una fila cumple los criterios. Criterios: la condición que las celdas evaluadas deben cumplir para que la fila se incluya en la

suma. Rango de suma: sumar los números de estas celdas si la fila cumple la condición.

Otro tipo de funciones son las estadísticas:

Funciones Estadísticas

Promedio

Descripción: Devuelve el promedio (media aritmética) de los argumentos. Por ejemplo, si el rangoA1:A20 contiene números, la fórmula =PROMEDIO(A1:A20) devuelve el promedio de dichos números.

Sintaxis

PROMEDIO(número1, [número2], ...)

La sintaxis de la función PROMEDIO tiene los siguientes argumentos:

Número1    Obligatorio. El primer número, referencia de celda o rango para el cual desea el promedio. Número2, .Opcional. Números, referencias de celda o rangos adicionales para los que desea el

promedio, hasta un máximo de 255.

Observaciones

Los argumentos pueden ser números o nombres, rangos o referencias de celda que contengan números.

Se tienen en cuenta los valores lógicos y las representaciones textuales de números escritos directamente en la lista de argumentos.

Si el argumento de un rango o celda de referencia contiene texto, valores lógicos o celdas vacías, estos valores se pasan por alto; sin embargo, se incluirán las celdas con el valor cero.

Los argumentos que sean valores de error o texto que no se pueda traducir a números provocan errores.

Si se desea incluir valores lógicos y representaciones textuales de números en una referencia como parte del cálculo, usar la función PROMEDIOA.

Si se desea calcular el promedio de solo los valores que cumplen ciertos criterios, usar la función PROMEDIO.SI o la función PROMEDIO.SI.CONJUNTO.

NOTA   La función PROMEDIO mide la tendencia central, que es la ubicación del centro de un grupo

de números en una distribución estadística. Las tres medidas más comunes de tendencia central son

las siguientes:

Promedio, que es la media aritmética y se calcula sumando un grupo de números y dividiendo a continuación por el recuento de dichos números. Por ejemplo, el promedio de 2, 3, 3, 5, 7 y 10 es 30 dividido por 6, que es 5.

Mediana, que es el número intermedio de un grupo de números; es decir, la mitad de los números son superiores a la mediana y la mitad de los números tienen valores menores que la mediana. Por ejemplo, la mediana de 2, 3, 3, 5, 7 y 10 es 4.

Moda, que es el número que aparece más frecuentemente en un grupo de números. Por ejemplo, la moda de 2, 3, 3, 5, 7 y 10 es 3.

Para una distribución simétrica de un grupo de números, estas tres medidas de tendencia central son

iguales. Para una distribución sesgada de un grupo de números, las medidas pueden ser distintas.

SUGERENCIA   Al calcular el promedio de celdas, tenga en cuenta la diferencia existente entre las

celdas vacías y las que contienen el valor cero, especialmente cuando desactiva la casilla Mostrar un

cero en celdas que tienen un valor cero en el cuadro de diálogo Opciones de Excel de la

aplicación de escritorio de Excel. Cuando se activa esta opción, las celdas vacías no se tienen en

cuentan pero sí los valores cero.

Para encontrar la casilla Mostrar un cero en celdas que tienen un valor cero: En la pestaña

Archivo, haga clic en Opciones y después en la categoría Avanzado, busque Mostrar opciones

para esta hoja.

Ejemplo: Copiar los datos de ejemplo en la tabla siguiente y cópielos en la celda A1 de una nueva hoja de cálculo de Excel. Para que las fórmulas muestren resultados, seleccionarlas, presionar F2 y después presionar Entrar. Si se requiriese, ajustar los anchos de columna para ver todos los datos.

A B C

DATOS

10 15 3

20

7

9

27

2

11=PROMEDIO(A2:A6) Promedio de los números en las celdas A2 a A6.

10=PROMEDIO(A2:A6;5) Promedio de los números en las celdas A2 a A6 y el número 5.

19=PROMEDIO(A2:C2) Promedio de los números en las celdas A2 a C2.

Tabla 5. Datos y Aplicación de la función Promedio.

Contar:

Optar por la alternativa Contar la frecuencia de un valor permite averiguar cuántas veces aparece un valor de texto o numérico determinado en un rango de celdas. Por ejemplo:

Si un rango, como A2:D20, contiene los valores numéricos 5, 6, 7 y 6, el número 6 aparece dos veces. Si una columna contiene "Tomás", "Navarro", "Navarro" y "Navarro", "Navarro" aparece tres veces.

Hay varias formas de contar con qué frecuencia aparece un valor.

Contar con qué frecuencia aparece un valor único empleando una función Contar según varios criterios empleando la función CONTAR.SI.CONJUNTO Contar según criterios empleando las funciones CONTAR y SI juntas Contar con qué frecuencia aparecen varios valores de texto o numéricos empleando funciones Contar con qué frecuencia aparecen varios valores utilizando un informe de tabla dinámica

Contar con qué frecuencia aparece un valor único empleando una función, usar la función CONTAR.SI para realizar esta tarea.

Ejemplo: Copie los datos del ejemplo en la siguiente tabla y péguelos en la celda A1 de una nueva hoja de cálculo de Excel. Para las fórmulas que muestren resultados, selecciónelas, presione F2 y, a continuación, presione Entrar. Si lo necesita, puede ajustar los anchos de la columna para ver todos los datos.

Vendedor FacturaBenito 15.000Benito 9.000Solsona 8.000Solsona 20.000Benito 5.000Navarro 22.500Fórmula Descripción Resultado=CONTAR.SI (A2:A7;"Benito")

Número de entradas de Benito (2) =CONTAR.SI (A2:A7;"Benito")

=CONTAR.SI(A2:A7,A4) Número de entradas de Solsona (3) =CONTAR.SI(A2:A7,A4)=CONTAR.SI(B2:B7,"< 20000")

Número de valores de facturas menores de 20.000 (4)

=CONTAR.SI(B2:B7,"< 20000")

=CONTAR.SI(B2:B7,">="&B5)

Número de valores de facturas mayores o iguales a 20.000 (2)

=CONTAR.SI(B2:B7,">="&B5)

Tabla 7. Datos y Aplicación de la función CONTAR SI.

Contar según varios criterios empleando la función CONTAR.SI.CONJUNTO

La función CONTAR.SI.CONJUNTO, que se introdujo en Excel 2007, es similar a la función

CONTAR.SI con una excepción importante: CONTAR.SI.CONJUNTO permite aplicar criterios a

celdas en varios rangos y cuenta la cantidad de veces que se cumplen todos los criterios. Puede usar

hasta 127 pares de rango/criterios con la función CONTAR.SI.CONJUNTO. La sintaxis de la función

es similar a esta:

CONTAR.SI.CONJUNTO(rango_criterios1; criterios1, [rango_criterios2; criterios2];…)

Ejemplo

Id. de empleado N.º región Departamento20552 2 Ventas21268 2 Finanzas23949 1 Administración24522 4 Administración28010 3 TI29546 4 Ventas31634 3 TI32131 1 TI35106 4 Finanzas40499 1 RR. HH.42051 1 Ventas43068 2 RR. HH.45382 2 Finanzas47971 1 TIFórmula Resulta Descripción=CONTAR.SI.CONJUNTO(C2:C15,"Finanzas")

3 ¿Cuántos empleados trabajan en la región 2 y en el departamento de finanzas?

=CONTAR.SI.CONJUNTO(B2:B15,"2",C2:C15,"Finanzas")

2 ¿Cuántos empleados trabajan en el departamento de finanzas?

Tabla 8. Datos y aplicación de la función CONTAR SI CONJUNTO.

El primer rango de criterios es el número de región y el segundo rango de criterios es el nombre de

departamento. El criterio aplicado al primer rango de criterios es "2" y el criterio aplicado al segundo

rango es "Finanzas". CONTAR.SI.CONJUNTO comprueba si se cumplen ambos criterios.

Para más información sobre el uso de esta función para contar con varios rangos y criterios, vea

Función CONTAR.SI.CONJUNTO.

Contar según criterios empleando las funciones CONTAR y SI juntas

Supongamos que tiene que determinar cuántos vendedores vendieron un artículo específico en una

región determinada, o que desea saber cuántas ventas superiores a un determinado valor realizó un

vendedor específico. Puede usar las funciones SI y CONTAR juntas; es decir, primero usa la función

SI para probar una condición y luego, solo si el resultado de la función SI es Verdadero, usa la función

CONTAR para contar celdas.

Figura 28. Ejemplo aplicación de función Contar si

Las fórmulas de este ejemplo se deben escribir como fórmulas de matriz. Si abrió este libro en el programa de escritorio de Excel y desea cambiar la fórmula o crear una fórmula similar, presione F2 y después presione Ctrl+Mayús+Entrar para que la fórmula devuelva los resultados esperados.

Para que estas fórmulas funcionen, el segundo argumento para la función SI debe ser un número.

La función CONTAR cuenta el número de celdas que contienen números y cuenta números dentro de

su lista de argumentos. Si la función SI devuelve un valor si una condición especificada se evalúa

como Verdadero y otro valor si se evalúa como Falso.

Para más información sobre estas funciones, vea Función CONTAR y Función SI.

Contar con qué frecuencia aparecen varios valores de texto o numéricos empleando las funciones SUMA y SI juntas

En el ejemplo que sigue se usan las funciones SI y SUMA juntas. La función SI primero prueba los

valores en algunas celdas y luego, si el resultado de la prueba es Verdadero, SUMA calcula el total de

los valores que pasan la prueba.

FIGURA 28. aPLICACIÓN DE FUNCIÓN CONTAR SI

NOTA    Las fórmulas de este ejemplo se deben escribir como fórmulas de matriz. Para que aplique

efectivamente la fórmula presionar Ctrl+Mayús+Entrar y se calcularán los resultados esperados.

Figura 29. Pantalla de Ayuda de Excel, funciones de Texto.

IZQUIERDA devuelve el primer carácter o caracteres de una cadena de texto, según el número de

caracteres que especifique el usuario.

Sintaxis

IZQUIERDA(texto, [núm_de_caracteres])

La sintaxis de las funciones tiene los siguientes argumentos:

Texto    Obligatorio. Es la cadena de texto que contiene los caracteres que desea extraer. Núm_de_caracteres    Opcional. Especifica el número de caracteres que desea extraer con la función

IZQUIERDA. Núm_de_caracteres debe ser mayor o igual a cero. Si núm_de_caracteres es mayor que la longitud del texto, IZQUIERDA devolverá todo el texto. Si omite núm_de_caracteres, se calculará como 1.

Ejemplo 1: IZQUIERDA

Figura 30. Ejemplo de función Izquierda.

Otro tipo de funciones que ofrece Excel es de fecha y hora:

Figura 31. Ayuda de Excel, funciones de fecha y hora.

DIAS (función DIAS)

Descripción: Devuelve el número de días entre dos fechas.

Sintaxis

DIAS(fecha_final, fecha_inicial)

La sintaxis de la función DIAS tiene los siguientes argumentos:

Fecha_final    Obligatorio. Fecha_inicial y fecha_final son las dos fechas cuya diferencia de días desea conocer.

Fecha_inicial    Obligatorio. Fecha_inicial y fecha_final son las dos fechas cuya diferencia de días desea conocer..

NOTA    Excel almacena las fechas como números de serie secuenciales para que se puedan usar en cálculos. De manera predeterminada, la fecha 1 de enero de 1900 es el número de serie 1, mientras que la fecha 1 de enero de 2008 es el número de serie 39448, porque es 39447 días posterior al 1 de enero de 1900.

Observaciones

Si ambos argumentos de fecha son números, DIAS usa FechaFinal – FechaInicial para calcular el número de días entre ambas fechas.

Si alguno de los argumentos de fecha es texto, dicho argumento se trata como FECHANUMERO(texto_fecha) y devuelve una fecha de número de entero en lugar de un componente temporal.

Si los argumentos de fecha son valores numéricos no incluidos en el intervalo de fechas válidas, DIAS devuelve el valor de error "#NUM!".

Si los argumentos de fecha son cadenas que no se pueden analizar sintácticamente como fechas válidas, DIAS devuelve el valor de error "#VALOR!".

Ejemplo

Figura 32. Función Días.

Tasa_nominal    Obligatorio. Es la tasa de interés nominal. Núm_per_año    Obligatorio. Es el número de períodos compuestos por año.

Observaciones

El argumento núm_per_año se trunca a entero. Si uno de los argumentos no es numérico, INT.EFECTIVO devuelve el valor de error #¡VALOR!. Si el argumento tasa_nominal ≤ 0 o núm_per_año < 1, INT.EFECTIVO devuelve el valor de error

#¡NUM!. INT.EFECTIVO se calcula como:

INT.EFECTIVO (tasa_nominal,núm_per_año) se relaciona con TASA.NOMINAL(tasa_efect,núm_per_año) en la siguiente ecuación: tasa_efect=(1+(tasa_nominal/núm_per_año))*núm_per_año -1.

Ejemplo

Figura 32. Función Int Efectivo

Función Lógica per se Función Y

Descripción: Devuelve VERDADERO si todos los argumentos se evalúan como VERDADERO; devuelve FALSO si uno o más argumentos se evalúan como FALSO.

Un uso común de la función Y es expandir la utilidad de otras funciones que realizan pruebas lógicas.

Por ejemplo, la función SI realiza una prueba lógica y, luego, devuelve un valor si la prueba se evalúa

como VERDADERO y otro valor si la prueba se evalúa como FALSO. Con la función Y como

argumento prueba_lógica de la función SI, puede probar varias condiciones diferentes en lugar de

solo una.

Sintaxis

Y(valor_lógico1; [valor_lógico2]; ...)

La sintaxis de la función Y tiene los siguientes argumentos:

valor_lógico1    Obligatorio. La primera condición que desea probar se puede evaluar como VERDADERO o FALSO.

valor_lógico2; ...    Opcional. Las condiciones adicionales que desea probar se pueden evaluar como VERDADERO o FALSO, hasta un máximo de 255 condiciones.

Observaciones

Los argumentos deben evaluarse como valores lógicos, como VERDADERO o FALSO, o bien deben ser matrices o referencias que contengan valores lógicos.

Si un argumento de matriz o de referencia contiene texto o celdas vacías, esos valores se pasarán por alto.

Si el rango especificado no contiene valores lógicos, la función Y devuelve el valor de error #¡VALOR!.

Ejemplos

Figura 33. Función lógica AND o Y.

Figura 33. Funciones lógicas.

Las funciones matriciales

Las funciones matriciales son funciones algo especiales, pues estas no se insertan en una única celda, en lugar de ello, estas se insertan en todo un rango al mismo tiempo. Esto permite a la función matricial devolver varios resultados juntos.

El siguiente ejemplo mostrará la función matricial FRECUENCIA. Para insertar una función matricial debes seguir los siguientes pasos:

1° Seleccionar el rango E3:E14 que es donde aparecerán los resultados.

2° Escribir la función matricial en nuestro caso =FRECUENCIA(E3:E14,G3:G5)

3° Pulsar CTRL+MAYUSC+ENTER para crear la fórmula matricial.

Observar en la barra de fórmulas que la fórmula matricial posee símbolos de llave al principio y final de la misma.

Figura 34. Ejemplo de Función Matricial, Frecuencia de valores en un rango dado.

Figura 35. Resultado de aplicar función matricial, Frecuencia de números en un rango.

Esta información fue tomada de la ayuda guiada que los paquetes de Microsoft ofrecen, por lo que se sugiere, para consultar la sintaxis de las funciones seguir los siguientes pasos:

Dar clic en el botón de ayuda de Excel éste está situado en el margen superior derecho de la aplicación.

Se desplegará ventana como la que se muestra:

Para consultar la sintaxis de alguna función escribir en el cuadro de diálogo el nombre de ésta, por ejemplo escríbase SUMA y se desplegará:

Figura 35. Ayuda de Excel, Función Suma

Observar que Excel ofrece muchas alternativas por función, las primeras de tantas son Sumar números, Sumar (suma) o restar fechas, Sumar o restar tiempo, SUMAR.SI (función SUMAR.SI), función SUMAR.SI.CONJUNTO, SUMAR.SI.CONJUNTO (función SUMAR.SI.CONJUNTO) …El dar clic a las palabras hipervinculadas (resalte en azul en el entorno informático o computacional) ocasionará el despliegue de una pantalla que relaciona las diferentes alternativas de esa función en la modalidad escogida:

Figura 36. Función Suma y sus alternativas.

Para conocer la sintaxis particular dar clic en la alternativa deseada, para el caso Suma de Números basándose en una condición, dar clic en el hipervínculo y el cursor se ubicará en la sección en la que describe incluso con ejemplos la forma de realizar la función incluyendo la sintaxis apropiada:

Figura 37. Ejemplo de Ayuda, función suma si

La función SUMAR.SI utiliza los siguientes argumentos

Fórmula con función SUMAR.SI

Rango de evaluación: comprobar estas celdas para determinar si una fila cumple los criterios.

Criterios: la condición que las celdas evaluadas deben cumplir para que la fila se incluya en la suma.

Rango de suma: sumar los números de estas celdas si la fila cumple la condición.

Ejecutando el ejemplo en Excel queda:

Figura 38. Ejemplo. Aplicación de función sumar si

Con lo anterior, el usuario podrá consultar el Tutorial o Ayuda en línea que ofrece Microsoft en particular de Excel, y acceder a cualquier función que requiera conocer y aplicar.

1.5 Tablas dinámicas.

https://www.youtube.com/channel/UCvfxanLbaBE3QxZr-PU5vyQ

http://asp3.anep.edu.uy/capinfo//material/excel/ejercicios/bas/ejexcbas.htm

https://www.youtube.com/watch?v=9dALgwgfpnU&list=PLba-ZvOQ-JvOv6W6fzTGe35jgi_UK3JtT&index=5

https://app.box.com/s/w1vlhww5sh3c0f5nfrp0

Es una potente tabla interactiva de datos que de manera automática combina y compara grandes volúmenes de datos destacar los detalles requeridos de los campos o datos de interés, para lograrlo organiza con varios criterios de agrupación concretos la información global. Esta herramienta de Excel combina lo mejor de la consolidación de datos, los subtotales, totales y destaca con creces por una mayor flexibilidad de presentación pues se modifica de manera automáticamente la misma tan sólo con incorporar o mover al área de colocación los campos tanto interna como externamente de manera tal que permite:

Resumir, explorar y analizar datos Crear reportes, calcular totales y subtotales con diversos diseños Filtrar, ordenar y organizar sin escribir las fórmulas o macros Vincular datos de distintos orígenes y combinaciones de éstos Integrar múltiples internas, externas o mixtas Identificar relaciones y políticas de los datos para determinar acciones o tomar decisiones

Antes de crear una Tabla Dinámica habrá de asegurarse de ciertos requisitos para asegurar la eficacia de la misma, es decir:

1. Etiquetar apropiadamente las columnas de la hoja de datos.2. Asegurar que no existan totales ni subtotales3. Identificar claramente las subcategorías para asegurar no existan similitudes 4. Eliminar filas y columnas vacías5. Eliminar etiquetas distintas a las de las columnas

Precisamente fue diseñada para el control, administración de grandes volúmenes de datos, pues permite además de una presentación excelsa de los informes en cuanto al diseño, la implementación y cálculos diversos a través de filtros, segmentos de datos y escalas de tiempo, adicionales a las ya conocidas propiedades de Excel en cuanto a ese rubro desde el punto de vista de hoja de cálculo. Es importante señalar, que las tablas dinámicas se pueden crear a partir de una lista de Microsoft Excel, una base de datos externa, varias hojas de cálculo de Excel u otro informe de tabla dinámica.

Creación de Tabla Dinámica a partir de Origen de Datos, desde el Menú INSERTAR

Seleccionar en la Pestaña Insertar, el ícono Tabla Dinámica, y se desplegará una pantalla en la que deberá seleccionarse el rango de datos a analizar: Para ello deberá pulsarse el botón y seleccionar el cursor, y arrastrar hasta la celda deseada, como se muestra a continuación:

Figura 39. Creación de una tabla dinámica. Blog EXCEL TOTAL de Moisés Ortiz, Tomada del sitio: http://exceltotal.com/como-crear-una-tabla-dinamica/

Figura 40. Selección del rango de datos que conformarán la Tabla Dinámica. Blog EXCEL TOTAL de Moisés Ortiz, Tomada del sitio: http://exceltotal.com/como-crear-una-tabla-dinamica/

Figura 39. Creación de Tabla dinámica.Selección del Rango de la Tabla de Datos a analizar, Blog EXCEL TOTAL de Moisés Ortiz,.tomada del sitio: http://exceltotal.com/como-crear-una-tabla-dinamica/

Excel permite crear la Tabla Dinámica en la misma hoja o en una nueva, y el análisis de varias tablas. Para crearla directamente aplicar la sucesión de las teclas Alt B B A, con las que automáticamente se incluye el origen de los datos (mantener cursor sobre la Tabla).

Figura 41. Pantalla Inicial de Diseño de Tabla Dinámica Blog EXCEL TOTAL de Moisés Ortiz,.tomada del sitio: http://exceltotal.com/como-crear-una-tabla-dinamica/

Diseño de la Tabla Dinámica

Obsérvese que en el área de campos Listas de campos de Tabla Dinámica están relacionados los campos de la Hoja de Datos a analizar, y el diseño de la Tabla Dinámica dependerá de la forma en que se ubiquen los campos en las áreas de Etiquetas de Fila y Columna, de Valores y de Filtro.

Figura 42. Tabla Dinámica resultante del diseño de campos en el área de Filtros, Columnas, Filas y Valores.

Las áreas denominadas Filtros, Columnas, Filas y Valores son las que conforman las partes de la Tabla Dinámica resultante.

Filtros de informe. Al colocar campos en ésta área se restringirán datos de la tabla original para generar informe que los omita. Estos filtros son adicionales a los que se pueden hacer entre las columnas y filas especificadas.

Etiquetas de columna. Los campos contenidos en esta área harán que la tabla dinámica los muestre como columnas.

Etiquetas de fila. Los campos en esta, determinarán las filas de la tabla dinámica. Valores. Los campos en esta área fungirán como las “celdas” de la tabla dinámica y serán

totalizados para cada columna y fila.

Configuración del Campo Valores.

Fia

Figura 43. Configuración Valores tomadas del sitio: http://exceltotal.com/formato-de-valores-en-una-tabla-dinamica/

Figura 44. Dando formato de celda al campo Valores, tipo moneda, Blog EXCEL TOTAL de Moisés Ortiz, tomada del sitio: http://exceltotal.com/formato-de-valores-en-una-tabla-dinamica/

La Tabla Dinámica resultante es la siguiente:

Figura 44. Tabla Dinámica con los valores de Suma de Ventas.

Aplicación de Filtros

Independientemente de los Filtros que en el Area de campos de diseño de la Tabla Dinámica se pueden aplicar, es posible filtrar y ordenar usando los filtros que Excel coloca de manera predeterminada en el reporte como Etiquetas de columna y Etiquetas de fila. Esto es posible seleccionando cualquiera de las opciones del filtro, la información será resumida y solamente mostrará un  subconjunto de los datos de la tabla dinámica.

Figura 45. Aplicando filtros de manera directa en las etiquetas de filas y columnas. , Blog EXCEL TOTAL de Moisés Ortiz, tomada del sitio: http://exceltotal.com/filtrar-una-tabla-dinamica/

Figura 46. Tabla Dinámica resultante al aplicar filtros directos, , Blog EXCEL TOTAL de Moisés Ortiz, tomada del sitio: http://exceltotal.com/filtrar-una-tabla-dinamica/

Para ordenar los datos filtrados, dar clic en el mismo ícono encuadrado en rojo y se desplegará la lista de alternativas para seleccionar el tipo de ordenamiento como sigue:

Figura 47. Alternativa de ordenamiento de a través de las etiquetas de filas o columnas, Blog EXCEL TOTAL de Moisés Ortiz, tomada del sitio: http://exceltotal.com/filtrar-una-tabla-dinamica/

Otras utilidades en las Tablas Dinámicas

En el diseño de Tablas Dinámicas existen Filtros de Campo, Segmentación, y Escalas o Segmentación de Tiempo. Los Filtros de campo están dispuestos precisamente en las celdas, pueden ser tanto de Valor como de Etiqueta; para tener acceso, dar clic derecho sobre el boton de lista de la Etiqueta, ya sea de Filas o de Columnas, como se muestra y para cada una de esas opciones, se desplegará una amplia gama de posibilidades.

Cuando la Tabla Dinámica no muestra la subcategorización de los Filtros, se hace necesaria la SEGMENTACIÓN, para ello, en la pestaña Analizar, en el grupo Filtrar, hacer clic en Insertar Segmentación de Datos.

La segmentación de datos en tablas dinámicas ofrece la posibilidad de filtrar los datos dentro de una tabla dinámica, incluso por más de una columna.

Figura 48. Recorte de pantalla tomado de Excel 2013. 11/12/2014

Para lograrlo, una vez que se despliegue el cuadro de diálogo Insertar segmentación de datos, seleccionar el campo por el que se desea filtrar los datos.

Figura 49. Ventanas de configuración de filtro de tablas dinámicas, , Blog EXCEL TOTAL de Moisés Ortiz, tomada del sitio: http://exceltotal.com/dar-formato-a-una-tabla-dinamica/

Excel agregará a la Tabla Dinámica un filtro para cada campo seleccionado: como se muestra en la figura:

Para filtrar la información de la tabla dinámica debe darse clic sobre cualquiera de las opciones del filtro desplegadas en azul.

Excel realizará la información de la tabla dinámica de acuerdo a las opciones seleccionadas. Para mostrar de nuevo toda la información puedes hacer clic en el botón Borrar filtro que se encuentra en la esquina superior derecha de cada panel.

Podrás agregar tantos filtros como campos disponibles tengas en la tabla dinámica, lo cual te permitirá hacer un buen análisis de la información.

Diseño de formato de la Tabla Dinámica

En la ficha Diseño pueden agregarse tanto estilos, apariencia y colores, como subtotales y totales generales de los datos.

La ficha está dividida en tres grupos, el de Diseño da oportunidad para agregar subtotales y totales generales a la tabla dinámica y también modificar aspectos básicos de diseño; el de Opciones de estilo de tabla dinámica, permiten restringir la selección de estilos que se muestran en el grupo que se encuentra justo a su derecha, o sea los estilos que tienen filas con bandas y el de Estilos de tabla dinámica muestra la galería de estilos que se pueden aplicar a la tabla dinámica. Con tan sólo hacer clic sobre el estilo deseado se aplicará sobre la tabla.

Modificar campos de las tablas dinámicas

Para reestructurar y cambiar los campos de una tabla dinámica, basta con arrastrar los Campos nuevos de tabla dinámica ubicados en la Lista de campos a las áreas de Valores, Filas, Columnas y Filtros y también, entre esas mismas áreas, (en el caso de no estar visible, habrá de darse clic en cualquier celda de la tabla dinámica). Para eliminar un campo, puede optarse por 2 alternativas: arrastrarlo fuera del área en el que se encuentre o dar clic izquierdo con el mouse sobre él, para mover campos, también es posible arrastrarlos o emplear el menú de alternativas para moverlos a filtro de informe o a rótulos de fila o columna. Por último, para agregar un nuevo campo, puede arrastrarse de la lista, o marcar el cuadro de selección del mismo.

Modificar el tipo de cálculo de una tabla dinámica

La función Suma es la que por defecto emplea Excel para crear totales y subtotales de los valores de una tabla dinámica, para aplicar otra diferente, deberá hacerse clic sobre el menú de configuración

Figura 50. Alternativa de diseño de la ficha contextual, Blog EXCEL TOTAL de Moisés Ortiz, tomada del sitio: http://exceltotal.com/dar-formato-a-una-tabla-dinamica/

Estilos de Tablas Dinámicas

del campo de valor, y se desplegarán alternativas como: Cuenta, Promedio, Máx, Mín, Producto, Contar números, Desvest, Desvestp, Var, Varp.

Gráficos Dinámicos derivados de Tablas Dinámicas

Para crear un gráfico dinámico deberá darse clic sobre cualquier celda de la tabla dinámica base del gráfico y también, en la pestaña ANALIZAR del menú principal, en el Grupo de Herramientas, al ícono denominado Gráfico dinámico; se desplegará ventana con menú de alternativas para seleccionar el tipo de gráfico. Es importante observar, que éste se modificará (actualizará) cuando se apliquen filtros sobre la tabla dinámica, y también también el los botones de filtro del gráfico dinámico. Para eliminar un gráfico únicamente habrá que seleccionarlo y oprimir suprimir.

En el caso que se requiera trabajar de manera independiente con el gráfico de una tabla dinámica, en la pestaña ANALIZAR, Herramientas del Gráfico Dinámico, deberá darse clic en Mover gráfico y podrá se seleccionada una nueva hoja donde ha de ser colocado. También podrá modificarse, en la misma pestaña o ficha de Diseño, el estilo el gráfico, y específicamente en la ficha de Presentación, podrán agregarse títulos, rótulos de eje y leyendas y en la ficha de Formato, rediseñar los estilos de forma.

En ocasiones podría darse la circunstancia de que el origen de los datos de una tabla dinámica este ubicado en lugar diferente, por lo que la Tabla deberá ser actualizada, de acuerdo a lo siguiente:

Cambiar origen de datos de una Tabla Dinámica.

Hacer clic sobre la tabla dinámica y selecciona el icono Cambiar Origen de Datos, en el grupo de Herramientas de Tabla Dinámica, de la pestaña Analizar, lo que desplegará una nueva ventana, en la que deberá indicarse el rango de datos deseado.

1.6 Macros

Una Macro está conformada por una serie de sentencias de código de algún lenguaje de programación estructuradas y ordenadas que se almacenan y ejecutan con algún clic, alguna combinación de teclas, un botón, una tecla particular o un comando.

Estas pueden ser implementadas en otras aplicaciones de Microsoft Office, como Word, Project, Access, además de Excel y otros inclusive externos Photoshop y aplicaciones del grupo Open Office. Los lenguajes de programación pueden ser visual Basic, C# o C++; para el caso de Excel 2013, es una aplicación integrada en VBA 5.0.

Con el desarrollo e implementación de las macros es posible automatizar tareas, diseñar herramientas metódicas, potencializar características o propiedades de las aplicaciones del paquete Office e incluso diseñar y establecer funciones específicas y personalizadas.

Es importante señalar, que por defecto, cuando se crea o inicia un libro de Excel, la pestaña Desarrollador que contiene los grupos e íconos para la creación, diseño y operatividad de las macros no está disponible.

Para activar dicha pestaña ha de darse clic en el botón de Personalizar Barra de Herramientas de Acceso Rápido para que al desplegarse pantalla en forma de lista, se pueda acceder a Más Comandos y en el rubro Personalizar cinta de opciones marcar la casilla de activación de Desarrollador ó, alternativamente, dar Clic derecho sobre cualquier pestaña, Personalizar cinta de opciones y activar el Desarrollador. Las acciones antes señaladas ocasionarán, que la barra de Menúes de Excel quede como se muestra:

El acceso al grupo Código permite abrir el Editor de Visual Basic, el botón Macros que administra las macros existentes, Grabar macro para crear macros automáticas, Usar referencias relativas como alternativa para mejorar la aplicación y Seguridad de macros para habilitar o deshabilitar las funciones relativas a la seguridad.

Editor de Visual Basic

Requiere conocimientos de lenguajes de programación y con el programa (VBE - Visual Basic Editor) o aplicación independiente Excel permite desarrollar las acciones o funciones en Lenguaje o código Visual Basic (VB) como escribir, editar, exportar, importar y documentar siguiendo específica sintaxis y metodología. Para su efectivo funcionamiento ha de ejecutarse dentro del entorno de Excel.

Para tener acceso y disponibilidad del Editor de Visual Basic, en la pestaña DESARROLLADOR del Menú Principal, dar clic, y en el grupo Código, al ícono Visual Basic o la combinación de las teclas ALT-F11.

Macros

Alternativa que al ser seleccionada despliega ventana que permite administrar las macros existentes: ejecutar, eliminar y modificar, entre otras.

Grabar Macros

Son dos Formas las que se pueden seguir para Crear Macros, la manual y la automática. La más sencilla, la automática o Grabadora de Macros, consiste en crear o generar código sin necesidad de conocimientos de VBA en los módulos. Consiste en captar mediante código los pasos que se van ejecutando en Excel. Sin embargo, existen limitaciones pues éstas solamente pueden grabar acciones directas, no permite incluir decisiones, esto implica que Excel recuerde o guarde una secuencia de acciones que se realizan indicando inicio y fin de ésta.

Para ejemplificar esta forma, en el grupo Código de la pestaña Desarrollador, dar Clic en la opción Guardar Macro y se desplegará ventana en la que deberá indicarse el nombre de la macro, la Letra con la que se combinará la tecla Ctrl para ejecutarla, el lugar en el que se guardará la macro y la descripción de la misma.

A continuación habrán de realizarse las acciones que coadyuven a lograr el propósito de la macro y finalmente.

Una vez realicen las acciones deseadas, seleccionar Detener Grabación. En lo subsiguiente, podrán realizarse todas ellas a través de la combinación de las teclas Ctrl-(Letra), método abreviado para ejecutar dicha macro.

Cabe aclarar, que cuando se implementan macros en un libro, el archivo que los contiene no podrá guardarse o grabarse convencionalmente, por lo que habrá que acceder a la alternativa de Guardar Como y el usuario escogerá de acuerdo a sus requierimientos de entre las siguientes tres alternativas:

Libro de Excel habilitado para macros con extensión .xlsm. Libro Binario de Excel con extensión .xlsb. (archivos muy grandes) Libro de Excel 97 2000 .xls (para versiones antiguas)

Nota: en tanto esté abierto un libro que contiene macros, éstas se podrán aplicar en otros libros.

Referencias Absolutas y Relativas

Cuando se graban las macros, por defecto éstas se aplican en referencias absolutas, cuando se requiere hacerlo en celdas diferentes a las que fueron creadas, es decir, hacer flexibles las mismas, han de seguirse las siguientes acciones: en el Grupo Código de la Pestaña Desarrollador, hacer Clic en el botón Usar Referencias Relativas, y a continuación Grabar Macros; realizar las acciones requeridas o deseadas, y para terminar de Grabar macro, dar Clic en el ícono cuadrado blanco de la Barra de Estado (extremo superior izquierdo). Con lo anterior, la macro podrá aplicarse en celdas diferentes a las originalmente determinadas.

Seguridad de las macros.

Pueden existir macros maliciosas que pueden causar daños, a los archivos e incluso al equipo, por lo que Excel, de manera predeterminada no permite ejecutar las macros automáticamente. Sin embargo, cuando se sabe que no hay código malicioso, es posible configurar las macros, de manera tal que se habiliten todas. Lo anterior se logra haciendo clic en perstaña Archivo, luego Opciones y dentro del cuadro de diálogo mostrado seleccionar la opción Centro de confianza, pulsar el botón Configuración del centro de confianza, el que permite: Deshabilitar todas las macros sin notificación, Deshabilitar todas las macros con notificación, Deshabilitar todas las macros excepto las firmadas digitalmente y Habilitar todas las macros.

Desarrollando Macros Manualmente

Retomando el tema del Editor de Visual Basic, a partir del cual se programan las macros a través de código, se describe el entorno del mismo:

Componentes básicos

Barra de menúes (Archivo, Edición, Ver, Insertar, Formato, Depuración, Ejecutar, Herramientas, Complementos, Ventana y Ayuda.

Barra de herramientas que agrupa comandos por funcionalidad (Depuración, Estándar, Edición y UserForm), la Estándar está activa por defecto.

Explorador de proyectos que contiene la estructura de los proyectos en forma de lista de árbol. Cada uno de los libros de Excel y complementos abiertos, visibles u ocultos es un proyecto VBA, cada proyecto es un conjunto de objetos con un propósito particular. A su vez, cada Proyecto (conjunto de objetos organizados que tienen como fin, resolver o dar un resultado), en el explorador de proyectos ha de contener carpetas o nodos que a su vez contienen objetos ordenados de manera específica, a saber:

a) Microsoft Excel Objetos contiene todas las hojas de cálculo y las hojas de gráfico del archivo de Excel asociado, además de contener y el objeto ThisWorkbook que tienen cada uno una ventana de código.

b) El nodo Módulos contiene los asociados al proyecto. Los módulos se pueden crear manualmente y también cuando se crea una macro utilizando la grabadora de macros.

c) Otro tipo de nodo en un proyecto VBA, los Userforms, que agrupa los cuadros de diálogo personalizados. Por último, la Ventana de código, en la que se desarrolla el código Visual Basic de cada objeto e ítem de la macro a implementar.

Los Módulos son espacios creados en un Libro de Excel a través del Editor de Visual Basic que contienen procedimientos, es decir código de programación (todo el contenido de la aplicación o repartido en distintos módulos aunque agrupados bajo algún criterio y pueden ser de tipo Estándar (código) o de Clases (objetos propios).

Dado que un objeto es la existencia de algo en el contexto de un Sistema, cada módulo en el entorno del Editor de Visual Basic estará asociado a un objeto (cabe comentar, que los objetos pueden importarse o exportarse en el entorno de los proyectos activos a través de la pestaña Archivo).

Los módulos, como ya se mencionó, contienen código, es decir procedimientos, y el diseño de los mismos, requiere, en forma previa de conocimientos tanto de metodología de la programación, como de la sintáxis de VBA, por lo que, se sugiere, estudiar las unidades 4,5 y 6 para realizar los ejercicios y práctica de Macros manuales.

Objetos, propiedades y métodos.

Objeto, como antes se mencionó significa algo abstracto que puede ser cualquier cosa. En Excel puede ser un libro, cada hoja contenida en el libro, una etiqueta, una fila o una columna, una celda, un menu, una tabla dinámica, un gráfico, es decir, cada elemento identificable es un objeto.

Propiedades.

Son características como el color, la forma, peso, medidas, etc. Para entender este concepto en Excel considerar el objeto celda que tiene algunas propiedades como; altura, color de fondo, alto de la misma, una propiedad puede ser el estar vacia, o contener un texto o un número, o una fórmula, otro ejemplo es una hoja de cálculo, una propiedad es tener líneas de división o por el contrario no tenerlas, o estar visible o estar oculta, tener o no etiqueta; es decir, que las propiedades del objeto son las caracrísticas que lo diferencian de otro-

Métodos.

Los objetos tienen comportamientos o realizan acciones, o bien, es posible realizar acciones sobre sus diferentes propiedades. Cualquier proceso que implica una acción o pauta de comportamiento por parte de un objeto se define como método asociado a él. En Excel se emplean métodos sobre un objeto hoja como copiar, borrar mover, ocultar, eliminar líneas de división etc., o tambén sobre una celda o rango de celdas en particular, esas acciones son los métodos que afectaran y/o cambiaran las propiedades de los objetos.

La Programación Orientada a Objetos, así como las macros en Excel se basa en lo anterior, es decir: aplicar métodos a las propiedades conocidas de los objetos, aunque también el programador puede crear nuevos objetos, usando el lenguaje de programación del Excel el VBA y definir que propiedades tendrá el objeto y aplica diferentes métodos sobre los mismos.

Estos conceptos asociados con los elementos de Excel quedan: WorkSheet (Objeto hoja de cálculo) o Range (Objeto casilla o rango de casillas), o Cell (Objeto celda), o Workbook (Objeto Libro).

Un objeto Range está definido por una clase donde se definen sus propiedades, (propiedad es una característica, modificable o no, de un objeto). Entre las propiedades de un objeto Range están Value, que contiene el valor de la casilla , Column y Row que contienen respectivamente la fila y la columna de la casilla, Font que contiene la fuente de los caracteres que muestra la casilla, etc.

Range, como objeto, también tiene métodos, (los métodos sirven para llevar a cabo una acción sobre un objeto.) Por ejemplo el método Activate, hace activa una celda determinada, Clear, borra el contenido de una celda o rango de celdas, Copy, copia el contenido de la celda o rango de celdas en el portapapeles,... El cuadro siguiente contiene los conceptos mencionados que emplea VBA para realizar o ejecutar métodos a las propiedades de los Objetos que están dentro del Excel:

OBJETOS PROPIEDADES METODOS

Workbook Libro Value Valor Copy Copiar

WorkSheet Hoja Color Color Cut Cortar

Row Fila Width Ancho Replace Reemplazar

Column Columna Height Altura Sort Ordenar

Range Rango Format Formato Move Mover

Cell Celda Size Tamaño Delete Borrar

Conjuntos.

Un conjunto es una colección de objetos del mismo tipo (array de objetos (arreglo de objetos)). Ejemplo: Un libro de trabajo (WorkBook) con más de una hoja (WorkSheet), todas las hojas de un libro de trabajo forman un conjunto, el conjunto WorkSheets.

Cada elemento individual de un conjunto se referencia por un índice, de esta forma, la primera, segunda y tercera hoja de un libro de trabajo, se referenciarán por WorkSheets(1), WorkSheets(2) y WorkSheets(3).

Objetos de Objetos.

Es muy habitual que una propiedad de un objeto sea otro objeto. Una celda es un objeto que tiene propiedades, a la vez la celda hace parte de una columna, que también es un objeto que tiene también sus propiedades, y la columna hace parte de la hoja, que es un objeto que pertenece al libro, un subconjunto hace parte de un conjunto mas grande. En Excel, el objeto WorkSheets tiene la propiedad Range que es un objeto, Range tiene la propiedad Font que es también un objeto y Font tiene la propiedad Bold (negrita). Dicho de otra forma, hay propiedades que devuelven objetos, por ejemplo, la propiedad Range de un objeto WorkSheet devuelve un objeto de tipo Range.

Insertar un nuevo módulo

Otra tarea básica implica es la inserción de un nuevo módulo, para agrupar procedimientos y funciones que son entidades que sirven para agrupar instrucciones de código que realizan una acción concreta.

Para insertar un módulo, en el explorador de proyecto, dar clic derecho sobre Módulo, Insertar, con lo que se activará una nueva ventana, que llevará por nombre módulo y el número preterminado por orden que tiene:

En esa ventana, para insertar un procedimiento, escribir el siguiente código:

Sub Nombre_Procedimiento()instruccionesEnd Sub.

Ejemplo:

Sub Primero()Range("A1").Value = "Hola"

End Sub

En la línea Range("A1").Value="Hola" se indica el objeto a programar es el indicado y atribuido al objeto a través de Range. Se indica la referencia a la casilla A1, encerrandola entre paréntesis, y se indica un nuevo valor para la propiedad Value, observese que para separar el objeto de su propiedad se utiliza la notación punto.

Ejemplificación del concepto objeto de objetos

Equivalencia en las siguientes instrucciones:

Range("A1").Value = "Buen dia" y WorkSheets(1).Range("A1").Value = "Buen dia"

Para hacer referencia a la hoja activa se utiliza ActiveSheet:

Sub Primero()ActiveSheet.Range("A1").Value = "Hola"

End Sub

Para poner cualquier valor en la casilla activa, se utiliza la propiedad (objeto) Activecell de WorkSheets.

Sub Primero()ActiveSheet.ActiveCell.Value = "Inicio"

End Sub

Las hojas (WorkSheets) están dentro del Objeto WorkBooks (libros de trabajo) y WorkBooks están dentro de Application. Application es el objeto superior, es el que representa la aplicación Excel. Implementando toda la jerarquía de objetos quedaría de la forma siguiente.

Sub Primero()Application.WorkBooks(1).WorkSheets(1).Range("A1").Value = "Inicio"

End Sub

Sin embargo, Application generalmente no es especificado pues todos los objetos dependen de este, el caso de WorkBooks será necesario implementarlo sólo si en las macros se trabaja con diferentes libros de trabajo (diferentes archivos). Los WorkSheets, si han de ser incluidos en el código, sobre todo cuando se requiere manipular diferentes hojas.

Ejercicios preliminares

Ejecutar un procedimiento o función. Ejecutar/ Ejecutar Sub Userform. También puede hacer clic sobre el botón o pulsar la tecla ► F5.

Para ejecutar el procedimiento desde la hoja de cálculo.

1. Active opción de la barra de menús Herramientas/ Macro/ Macros. Se despliega una ventana que muestra una lista donde estás todas las macros incluidas en el libro de trabajo.2. Seleccione la macro de la lista y pulse sobre el botón Ejecutar.

Escribir "Hola" en la casilla A1 de la Hoja 1, la pondremos en negrita y le daremos color al texto. Para ello utilizaremos las propiedades Bold y Color del objeto Font.

Sub Segundo() Activisheet.Range(“A1”).Value=”Buen dia” Activisheet.Range(“A1”).Font.Bold=True Activisheet.Range(“A1”).Font.Color=RGB(255,0,0)End SubTrue, que traducido es verdadero, simplemente indica que la propiedad Bold está activada. Si se deseara desactivar, bastaría con igualarla al valor False.La función RGB.Observe que para establecer el color de la propiedad se utiliza la función RGB(Red, Green, Blue), los tres argumentos para esta función son valores del 0 a 255 que corresponden a la intensidad de los colores Rojo, Verde y Azul respectivamente.

Referenciar un rango de celdas. Sub tercero() ActiveSheet.Range(“A1:A8”).Value=”Heyyyy” ActiveSheet.Range(“A1:A8”). Font.Bold = True

ActiveSheet.Range(“A1:A8”).Font.Color=RGB(255,0,0)End Sub

Variables en Visual Basic para Aplicaciones

Al trabajar en Visual Basic, se realiza indefectiblemente la manipulación de datos, para ello han de almacenarse en memoria y ello se logra a través del uso de variables: lugar de memoria o dirección en el que se guardan un valor o un objeto. Las variables pueden ser de diversos tipos, como: Boolean, Integer, Long, Single, Double, Currency, Date, String, Object, Variant, User Defined.

El indicarle al Editor de Visual que reserve espacios de memoria para dichos datos, implica Declaración de variables y se realiza de acuerdo a la siguiente sintaxis:

DIM variable AS tipo.

Reglas para la declaración de variables en el Editor de Visual Basic:

El primer carácter debe ser letra No usar espacios Considerar que el Editor no distingue de entre mayúsculas y minúsculas Utilizar símbolos, excepto el punto. Máximo número de caracteres de una variable: 255

Declaración de variable de tipo String (tipo texto). Reserva de un trozo de memoria que se llama Texto y que el tipo de datos que se guardarán ahí serán caracteres.

Dim Texto As String

Función InputBox.Esta función muestra una ventana para que el usuario pueda teclear datos. Cuando se pulsa sobre Aceptar, los datos entrados pasan a la variable a la que se ha igualado la función.

Texto=InputBox(“Introduzca texto”, “Entrada de datos”)

Para que los datos tecleados se guarden en la variable Texto, pulsar Aceptar en la ventana que muestra InputBox.

Sintaxis de InputBox.

InputBox(Mensaje, Título, Valor por defecto, Posición horizontal, Posición Vertical, Archivo ayuda, Número de contexto para la ayuda).

Mensaje : mensaje que se muestra en la ventana. Para que acepte más de una línea agregar Chr(13) para cada nueva línea.

Título : Es el título para la ventana InputBox. Es un parámetro opcional.

Valor por defecto: valor que mostrará por defecto el cuadro donde el usuarioteclea el valor. Parámetro opcional.

Posición Horizontal: posición X de la pantalla en la que se mostrará el cuadro para la parte izquierda. Si se omite el cuadro se presenta horizontalmente centrado a la pantalla.

Posición Vertical: posición Y de la pantalla en la que se mostrará la parte superior. Si se omite el cuadro se presenta verticalmente centrado a la pantalla.

Sub Lee_Valor() Dim Texto As String Texto=InputBox(“Dame texto “ & Chr(13) & “Para la casilla A1”, “Entrada de datos”) ActiveSheet.Range(“A1”).Value=TextoEnd Sub

Sin variables.Sub Lee_Valor() ActiveSheet.Range("A1").Value=InputBox(“ Introducir un texto “& Chr(13) & “Para la casilla A1", "Entrada de datos")End Sub

Eligiendo CasillaOption Explicit Sub Lee_Valor

Archivo Ayuda: Es el archivo que contiene la ayuda para el cuadro. Parámetro opcional.

Número de contexto para la ayuda: Número asignado que corresponde al identificador del archivo de ayuda, sirve para localizar el texto que se debe mostrar. Si se especifica este parámetro, debe especificarse obligatoriamente el parámetro Archivo Ayuda.

Dim Casilla As String Dim Texto As String Casilla = InputBox("En que casilla quiere entrar el valor", "Entrar Casilla") Texto = InputBox("Introducir un texto " & Chr(13) & "Para la casilla " & Casilla , "Entrada de datos") ActiveSheet.Range(Casilla).Value = TextoEnd Sub

Tipos de datos en Visual Basic para Excel.

Tipo de datos Tamaño de almacenamiento

Intervalo

Byte 1 byte 0 a 255

Boolean 2 bytes True o False

Integer 2 bytes -32,768 a 32,767

Long(entero largo)

4 bytes -2,147,483,648 a 2,147,483,647

Single(coma flotante/ precisión simple)

4 bytes -3,402823E38 a –1,401298E-45 para valores negativos; 1,401298E-45 a 3,402823E38 para valores positivos

Double(coma flotante/ precisión doble)

8 bytes -1.79769313486231E308 a -4,94065645841247E-324 para valores negativos; 4,94065645841247E-324 a 1,79769313486232E308 para valores positivos

Currency(entero a escala)

8 bytes -922.337.203.685.477,5808 a 922.337.203.685.477,5807

Decimal 14 bytes +/-79.228.162.514.264.337.593.543.950.335 sin punto decimal; +/-7,9228162514264337593543950335 con 28 posiciones a la derecha del signo decimal; el número más pequeño distinto de cero es +/-0,0000000000000000000000000001

Date 8 bytes 1 de enero de 100 a 31 de diciembre de 9999

Object 4 bytes Cualquier referencia a tipo Object

String (longitud variable)

10 bytes + longitud de la cadena

Desde 0 a 2.000 millones

String(longitud fija)

Longitud de la cadena Desde 1 a 65.400 aproximadamente

Variant(con números)

16 bytes Cualquier valor numérico hasta el intervalo de un tipo Double

Variant(con caracteres)

22 bytes + longitud de la cadena

El mismo intervalo que para un tipo String de longitud variable

Definido por el usuario (utilizando Type)

Número requerido por los elementos

El intervalo de cada elemento es el mismo que el intervalo de su tipo de datos.

(Tabla copiada de la ayuda en línea de Visual Basic para Excel).

La función Val(Dato String), convierte una cadena de caracteres a valor numérico. Si la cadena a convertir contiene algún carácter no numérico devuelve 0.

Val(Cadena). Convierte la cadena a un valor numérico.Str(Número). Convierte el número a una expresión cadena.Las siguientes funciones tienen la forma Función(Expresión).

Función Tipo devuelto Intervalo del argumento expresión

CBool Boolean Cualquier expresión de cadena o numérica válida.

CByte Byte 0 a 255.

CCur Currency -922.337.203.685.477,5808 a 922.337.203.685.477,5807.

CDate Date Cualquier expresión de fecha.

CDbl Double -1.79769313486231E308 a -4,94065645841247E-324 para valores negativos; 4,94065645841247E-324 a 1,79769313486232E308 para valores positivos.

CDec Decimal +/-79.228.162.514.264.337.593.543.950.335 para números basados en cero, es decir, números sin decimales. Para números con 28 decimales, el intervalo es +/-7,9228162514264337593543950335. La menor posición para un número que no sea cero es 0,0000000000000000000000000001.

CInt Integer -32.768 a 32.767; las fracciones se redondean.

CLng Long -2.147.483.648 a 2.147.483.647; las fracciones se redondean.

CSng Single -3,402823E38 a -1,401298E-45 para valores negativos; 1,401298E-45 a 3,402823E38 para valores positivos.

CStr String El mismo intervalo que Double para valores numéricos. El mismo intervalo que String para valores no numéricos.

CVar Variant El valor de retorno de CStr depende del argumento expresión

Objetos y Propiedades

Objeto Cells(fila, columna): referencia una casilla o rango de casillas, utilizando la fila y la columna que ocupa la casilla dentro de la hoja (o objeto WorkSheet).

ActiveSheet.Cells(1,1).Value="Heyyyy"

Range(Cells(1, 1), Cells(8, 2)).Value = "Heyyy": referencia un rango

Variables de Objetos.

Para hacer referencia a un objeto, accediendo a las propiedades de un objeto e invocar a sus métodos a través de la variable en lugar de hacerlo directamente a través del objeto.

Dim Var_Objeto As Objeto

Dim R As Range

Dim Hoja As WorkSheet

Para asignar un objeto a una variable se utiliza la instrucción Set.

Set Variable_Objeto = Objeto

Set R= ActiveSheet.Range("A1:B10")Set Hoja = ActiveSheetSet Hoja = WorkSheets(1)

Para llenar el rango de A1 a B10 con la palabra "Heyyyy" y después poner negrita:

Sub obj()Dim R As Range

Set R = ActiveSheet.Range("A10:B15")R.Value = "Heyyyy"R.Font.Bold = True

End Sub

Estructura Selectiva Simple

Las estructuras condicionales son instrucciones de programación que permiten controlar la ejecución de un fragmento de código en función de si se cumple o no una condición: if Condición then..End if (Si Condición Entonces...Fin Si).

Leer un valor con la instrucción InputBox y guardarlo en la celda A1 de la hoja activa. Si el valor es superior a 100, leer otro valor con otro InputBox y guardarlo en la casilla A2 de la hoja activa. Calcular en A3, un tercer valor, a partir de A1 menos el descuento de A2.

Sub Condicional()ActiveSheet.Range("A1").Value = 0 ActiveSheet.Range("A2").Value = 0ActiveSheet.Range("A3").Value = 0ActiveSheet.Range("A1").Value = Val(InputBox("Dame un numero", "Entrar"))If ActiveSheet.Range("A1").Value > 100 Then

ActiveSheet.Range("A2").Value = Val(InputBox("Dame otro numero", "Entrar"))End IfActiveSheet.Range("A3").Value = ActiveSheet.Range("A1").Value - ActiveSheet.Range("A2").Value

End Sub

Usando variables.

Sub Condicion()Dim dato1 As IntegerDim dato2 As IntegerDato1 = 0Dato2 = 0Dato1 = Val(InputBox("Dame un número", "Entrar"))If Dato1 > 100 Then

Dato2 = Val(InputBox("Dame otro número", "Entrar"))End IfActiveSheet.Range("A1").Value = Dato1ActiveSheet.Range("A2").Value = Dato2ActiveSheet.Range("A3").Value = Dato1 - Dato2

End Sub

Macro que compara los valores de las casillas A1 y A2 de la hoja activa. Si son iguales cambia el color de la fuente de ambas en azul.

Sub Condicion2()If ActiveSheet.Range("A1").Value = ActiveSheet.Range("A2").Value Then

ActiveSheet.Range("A1").Font.Color = RGB(0, 0, 255)ActiveSheet.Range("A2").Font.Color = RGB(0, 0, 255)

End IfEnd Sub

Estructura Selectiva Doble

Otra forma de condicional, es Si Condición Entonces y Si no se cumple la condición se ejecuta el bloque delimitado por Sino y Fin Si. En Visual Basic la instrucción Si Condición Entonces ... Sino ... Fin Si se expresa con las instrucciones siguientes.

Siguiendo el ejemplo anterior, en el caso en el que Dato1 es mayor que 100, aplicar y calcular porcentaje de 10% y si no, la cantidad deberá calcularse el 15% ; cualquiera que sea el resultado deberá asignárse a la celda A3 y en la celda A4, calcular y asignar el resultado de restarle al Dato1, el porcentaje calculado.

Sub Condicion3 Else()Dim Dato1 As SingleDim Dato2 As SingleDato1 = 0Dato1 = Val(InputBox("Dame un numero", "Entrar"))If Dato1 > 100 Then

Dato2 = Dato1 * (10 / 100)ActiveSheet.Range("A2").Value = 0.1

Else Dato2 = Dato1 * (15 / 100)ActiveSheet.Range("A2").Value = 0.05

End IfActiveSheet.Range("A1").Value = Dato1ActiveSheet.Range("A3").Value = Dato2ActiveSheet.Range("A4").Value = Dato1 – Dato2

End Sub

Restar los valores de las casilla A1 y A2. Guardar el resultado en A3. Si el resultado es positivo o 0, poner la fuente de A3 en azul, sino ponerla en rojo.

Sub Condicion_Else2()ActiveSheet.Range("A3").Value = ActiveSheet.Range("A1").Value - _ActiveSheet.Range("A2").Value

If ActiveSheet.Range("A3").Value < 0 ThenActiveSheet.Range("A3").Font.Color = RGB(255,0,0)

ElseActiveSheet.Range("A3").Font.Color = RGB(0,0,255)

End IfEnd Sub

Estructuras Selectivas Anidadas

Comparar los valores de las casillas B1 y B2 de la hoja activa. Si son iguales, escribir en B3 "B1 y B2 son iguales", si B1 es mayor que B2, escribir "B1 es mayor que B2", sino, escribir "B2 es mayor que B1" .

Sub Condicion4()If ActiveSheet.Range("B1").Value = ActiveSheet.Range("B2").Value Then

ActiveSheet.Range("B3").Value = "Los Valores de B1 y B2 son iguales"Else

If ActiveSheet.Range("B1").Value > ActiveSheet.Range("B2").Value ThenActiveSheet.Range("B3").Value = "B1 mayor que B2"ElseActiveSheet.Range("B3").Value = "B2 mayor que B1"End If

End IfEnd Sub

Operadores lógicos en VBA

El operador lógico And

El operador lógico And fuerza al cumplimiento de dos condiciones; es decir, se ejecuta el bloque cuando se cumplan ambas condiciones.

Dadas dos calificaciones, indicar calificación de Aprobado si ambas son iguales o mayores que 70, con alguna que no cumpla la condición, mostrar Reprobado.

El código será el siguiente:

Private Sub ComandButton1_Click()

If (Range(B1”).Value>70) and (Range(“B2”),Value>70) thenRange(“B4”).Value=”Aprobado”

ElseRange(“B4”).Value=”Reprobado”

EndifEnd Sub

De esta manera comprobamos que el operador lógico And nos ayuda a forzar que ambas condiciones se cumplan. En cambio, si el valor de una de las celdas es menor a 70, entonces

tendremos un resultado diferente: El operador lógico And devolverá el valor verdadero solamente cuando ambas condiciones se cumplan y será suficiente con que una de ellas no se cumpla para obtener  un resultado negativo.

El operador lógico Or

El operador lógico Or permitirá la ejecución de un bloque, si al menos una de las condiciones se cumple.

Private Sub ComandButton1_Click()

If (Range(B1”).Value>70) or (Range(“B2”),Value>70) thenRange(“B4”).Value=”Aprobado”

ElseRange(“B4”).Value=”Reprobado”

EndifEnd Sub

Si alguna de las calificaciones es mayor a 70, entonces el estudiante será aprobado: La única manera en que el operador lógico Or nos devuelva un valor falso es que ninguna de las condiciones se cumpla. En nuestro ejemplo, el alumno estará reprobado solamente cuando ambas calificaciones sean menores a 70:

Los operadores lógicos evalúan las condiciones de acuerdo a las siguientes:

Lista de Funciones de Comprobación.

IsNuméric(Expresión). Comprueba si expresión tiene un valor que se puede interpretar como numérico.

IsDate(Expresión). Comprueba si expresión tiene un valor que se puede interpretar como tipo fecha.

IsEmpty(Expresión). Comprueba que expresión tenga algún valor, que se haya inicializado.

IsError(Expresión). Comprueba si expresión devuelve algún valor de error.

IsArray(Expresión). Comprueba si expresión (una variable) es un array o no.

IsObject(Expresión). Comprueba si expresión (una variable) representa una variable tipo objeto.

IsNull(Expresión). Comprueba si expresión contiene un valor nulo debido a datos no válidos.

Nothing. No es propiamente una función, sirve para comprobar si una variable objeto esta asociada a un objeto antes de hacer cualquier operación con ella. Recuerde que para trabajar con una variable objeto antes debe asignarse a uno (mediante la instrucción Set), en caso contrario se producirá un error en el programa cuando utilice el objeto y se detendrá su ejecución.

Sub Obj()Dim C As RangeIf C Is Nothing Then

MsgBox Prompt := "La variable Objeto no ha sido asignada", Buttons:=vbOk, _Title := "Error"

ElseC.Value = "Heyyyy"

End IfEnd Sub

La función MsgBox.

Función que muestra un mensaje en un cuadro de diálogo hasta que el usuario pulse un botón. Para ello devuelve un dato tipo Integer dependiendo del botón pulsado por el usuario.

Sintáxis de MsgBox.

MsgBox( Mensaje, Botones, Título, Archivo de ayuda, contexto)

Mensaje : Obligatorio, es el mensaje que se muestra dentro del cuadro de diálogo.

Botones : Opcional. Es un número o una suma de números o constantes, si se omite este argumento asume valor 0 que corresponde a un único Botón OK.

Título : Opcional. Es el texto que se mostrará en la barra del título del cuadro de diálogo.

Archivo de Ayuda : Opcional. Si ha asignado un texto de ayuda al cuadro de diálogo, aquí debe especificar el nombre del archivo de ayuda donde está el texto.

Context: Opcional. Es el número que sirve para identificar el texto al tema de ayuda correspondiente que estará contenido en el archivo especificado en el parámetro Archivo de Ayuda.

Tabla para botones e iconos del cuadro MsgBox. (Tabla copiada del archivo de ayuda de Microsoft Excel).

Constante Valor Descripción

Argumentos de MsgBox

Constante Valor Descripción

vbOKOnly 0 Sólo el botón Aceptar (predeterminado)

vbOKCancel 1 Los botones Aceptar y Cancelar

vbAbortRetryIgnore 2 Los botones Anular, Reintentar e Ignorar

vbYesNoCancel 3 Los botones Sí, No y Cancelar.

VbYesNo 4 Los botones Sí y No

vbRetryCancel 5 Los botones Reintentar y Cancelar

vbCritical 16 Mensaje crítico

vbQuestion 32 Consulta de advertencia

vbExclamation 48 Mensaje de advertencia

vbInformation 64 Mensaje de información

vbDefaultButton1 0 El primer botón es el predeterminado (predeterminado)

vbDefaultButton2 256 El segundo botón es el predeterminado

vbDefaultButton3 512 El tercer botón es el predeterminado

vbDefaultButton4 768 El cuarto botón es el predeterminado

vbApplicationModal 0 Cuadro de mensajes de aplicación modal (valor predeterminado)

vbSystemModal 4096 Cuadro de mensajes modal del sistema

vbMsgBoxHelpButton 16384 Agrega el botón Ayuda al cuadro de mensaje

VbMsgBoxSetForeground 65536 Especifica la ventana del cuadro de mensaje como la ventana de primer plano

vbMsgBoxRight 524288 El texto se alinea a la derecha

vbMsgBoxRtlReading 1048576 Especifica que el texto debe aparecer para leer de derecha a izquierda en sistemas hebreos y árabes

El primer grupo de valores (0 a 5) describe el número y el tipo de los botones mostrados en el cuadro de diálogo; el segundo grupo (16, 32, 48, 64) describe el estilo del icono, el tercer grupo (0, 256, 512) determina el botón predeterminado y el cuarto grupo (0, 4096) determina la modalidad del cuadro de mensajes. Cuando se suman números para obtener el valor final del argumento buttons, se utiliza solamente un número de cada grupo.

Nota: Estas constantes las especifica Visual Basic for Applications. Por tanto, el nombre de las mismas puede utilizarse en cualquier lugar del código en vez de sus valores reales.

Los valores que puede devolver la función msgbox en función del botón que pulse el usuario se muestran en la tabla siguiente.

Tabla de valores que puede devolver MsgBox. (Tabla copiada del archivo de ayuda de Microsoft Visual

Basic para aplicaciones).

Valores devueltos por MsgBox

Constante Valor Descripción

vbOK 1 Botón Aceptar presionado

vbCancel 2 Botón Cancelar presionado

vbAbort 3 Botón Anular presionado

vbRetry 4 Botón Reintentar presionado

vbIgnore 5 Botón Ignorar presionado

vbYes 6 Botón Sí presionado

vbNo 7 Botón No presionado

La instrucción With.

La sentencia With permite ejecutar una serie de acciones sobre un mismo Objeto. Su sintaxis es la siguiente.

With Objeto

Instrucciones

End With

With hace referencia al objeto ActiveSheet.

Leer el Nombre, la cantidad y el precio de un producto desde el teclado y guardarlos respectivamente en B1,B2 Y B3. Calcular el total y guardarlo en B4. Si el total es superior a 10.000 o el nombre del producto es "Albahaca", solicitar por teclado un descuento, calcular el total descuento y guardarlo en B5, restar el descuento del total y guardarlo en B6.

Sub Ejemplo_19()Dim Producto As StringDim Cantidad As IntegerDim Precio As SingleDim Total As SingleDim Descuento As SingleDim Total_Descuento As SinglePrecio = 0Producto = InputBox("Entrar Nombre del Producto","Entrar")Precio = Val(InputBox("Entrar el precio", "Entrar"))Cantidad = Val(InputBox("Entrar la cantidad", "Entrar"))Total = Precio * CantidadWith ActiveSheet

.Range("B1").Value = Producto

.Range("B2").Value = Precio

.Range("B3").Value = Cantidad

.Range("B4").Value = TotalEnd WithIf Total > 10000 Or Lcase(Producto) = "Albahaca" Then

Descuento = Val(InputBox("Entrar Descuento", "Entrar"))Total_Descuento = Total * (Descuento / 100)Total = Total - Total_Descuento

With ActiveSheet.Range("B5").Value = Total_Descuento.Range("B6").Value = Total

End WithEnd If

End Sub

Estructuras Repetitivas.

Este tipo de estructuras permiten ejecutar más de una vez un mismo bloque de sentencias.

Estructura repetitiva Para (for).

Esta estructura se utiliza para repetir la ejecución de una sentencia o bloque de sentencias, un número definido de veces. Al iniciar Var en el bucle se iguala a Valor_Inicial, y las sentencias del bucle se ejecutan hasta que Var

llega al Valor_Final, cada vez que se ejecutan el bloque de instrucciones Var se incrementa según el valor de Incremento.

Leer 10 valores utilizando la función InputBox, sumarlos y guardar el resultado en la casilla A1 de la hoja activa.

Sub Ejemplo_21()Dim i As IntegerDim Total As IntegerDim Valor As IntegerFor i=1 To 10

Valor= Val(InputBox("Entrar un valor","Entrada"))Total = Total + Valor

Next iActiveCell.Range("A1").Value = Total

End Sub

Propiedad Offset.

Offset, que significa desplazamiento, es una propiedad del objeto Range y se utiliza para referenciar una casilla situada a n Filas y n Columnas de una casilla dada.

ActiveSheet.Range("A1").Offset(2, 2).Value = "Hola" ' Casilla C3 = Hola, 2 filas y 2 columnas desde A1.

ActiveCell.Offset(5,1).Value = "Hola" ' 5 Filas por debajo de la casilla Activa = Hola

ActiveCell.Offset(2,2).Activate 'Activar la casilla que está 2 filas y 2 columnas de la activa

Estructura repetitiva Do While...Loop (Hacer Mientras).

Estructura repetitiva controlada por una o varias condiciones, la repetición del bloque de sentencias dependerá de si se va cumpliendo la condición o condiciones.

Sub Ejemplo_27()Dim Nombre As StringDim Ciudad As StringDim Edad As IntegerDim fecha As DateWorkSheets("Hoja1").ActivateActiveSheet.Range("A2").ActivateNombre = InputBox("Entre el Nombre (Return para Terminar) : ", "Nombre")

Do While Nombre <> ""Ciudad = InputBox("Entre la Ciudad : ", "Ciudad")Edad = Val(InputBox("Entre la Edad : ", "Edad"))Fecha=Cdate(InputBox("Entra la Fecha : ", "Fecha"))

With ActiveCell.Value = Nombre.Offset(0,1).Value = Ciudad.Offset(0,2).Value = Edad.Offset(0,3).Value = fecha

End WithActiveCell.Offset(1,0).ActivateNombre = InputBox("Entre el Nombre (Return para Terminar) : ", "Nombre")

LoopEnd Sub

Sub Ejemplo_28()‘ Activar hoja1WorkSheets("Hoja1").Activate‘ Activar casilla A2ActiveSheet.Range("A1").Activate‘ Mientras la celda activa no esté vacíaDo While Not IsEmpty(ActiveCell)

‘ Hacer activa la celda situada una fila por debajo de la actualActiveCell.Offset(1,0).Activate

Loop‘‘

End Sub

Es la unión de los dos programas anteriores. Es decir habrá un bucle Do While que buscará la primera casilla vacía de la base da datos y otro para pedir los valores de los campos hasta que se pulse Enter en Nombre.

Sub Ejemplo_28()Dim Nombre As StringDim Ciudad As StringDim Edad As IntegerDim fecha As DateWorkSheets("Hoja1").ActivateActiveSheet.Range("A1").Activate‘ Buscar la primera celda vacía de la columna A y convertirla en activaDo While Not IsEmpty(ActiveCell)

ActiveCell.Offset(1,0).ActivateLoopNombre = InputBox("Entre el Nombre (Return para Terminar) : ", "Nombre")‘ Mientras la variable Nombre sea diferente a cadena vacíaDo While Nombre <> ""

Ciudad = InputBox("Entre la Ciudad : ", "Ciudad")Edad = Val(InputBox("Entre la Edad : ", "Edad"))Fecha=Cdate(InputBox("Entra la Fecha : ", "Fecha"))With ActiveCell

.Value = Nombre

.Offset(0,1).Value = Ciudad

.Offset(0,2).Value = Edad

.Offset(0,3).value = fechaEnd WithActiveCell.Offset(1,0).ActivateNombre = InputBox("Entre el Nombre (Return para Terminar) : ", "Nombre")

LoopEnd Sub

Cuando se tienen que entrar desde el teclado conjuntos de valores, algunos programadores y usuarios prefieren la fórmula de que el programa pregunte si se desean entrar más datos, la típica pregunta ¿Desea Introducir más datos ?, si el usuario contesta Sí, el programa vuelve a ejecutar las instrucciones correspondientes a la entrada de datos, si contesta que no se finaliza el proceso, observe como quedaría nuestro bucle de entrada de datos con este sistema.

Mas_datos = vbYesDo While Mas_Datos = vbYes

Nombre = InputBox("Entre el Nombre (Return para Terminar) : ", "Nombre")

Ciudad = InputBox("Entre la Ciudad : ", "Ciudad")Edad = Val(InputBox("Entre la Edad : ", "Edad"))Fecha=Cdate(InputBox("Entra la Fecha : ", "Fecha"))With ActiveCell

.Value = Nombre

.Offset(0,1).Value = Ciudad

.Offset(0,2).Value = Edad

.Offset(0,3).value = fechaEnd WithActiveCell.Offset(1,0).Activate‘ Preguntar al usuario si desea entrar otro registro.Mas_datos = MsgBox("Otro registro ?", vbYesNo+vbQuestion,"Entrada de datos")

Loop

** Observe que es necesaria la línea anterior al bucle Mas_datos = vbYes, para que cuando se evalúe la condición por vez primera esta se cumpla y se ejecuten las sentencias de dentro del bucle, Mas_datos es una variable de tipo Integer. Vea la sección siguiente donde se estudia una variante de la estructura Do While que es más adecuada para este tipo de situaciones.

Estructura Do..Loop While.

El funcionamiento de esta estructura repetitiva es similar a la anterior salvo que la condición se evalúa al final, la inmediata consecuencia de esto es que las instrucciones del cuerpo del bucle se ejecutaran al menos una vez . Observe que para nuestra estructura de entrada de datos vista en el último apartado de la sección anterior esta estructura es más conveniente, al menos más elegante, si vamos a entrar datos, al menos uno entraremos, por tanto las instrucciones del cuerpo del bucle se deben ejecutar al menos una vez, luego ya decidiremos si se repiten o no.

DoNombre = InputBox("Entre el Nombre (Return para Terminar) : ", "Nombre")Ciudad = InputBox("Entre la Ciudad : ", "Ciudad")Edad = Val(InputBox("Entre la Edad : ", "Edad"))Fecha=Cdate(InputBox("Entra la Fecha : ", "Fecha"))With ActiveCell

.Value = Nombre

.Offset(0,1).Value = Ciudad

.Offset(0,2).Value = Edad

.Offset(0,3).value = fechaEnd WithActiveCell.Offset(1,0).ActivateMas_datos = MsgBox("Otro registro ?", vbYesNo+vbQuestion,"Entrada de datos")

‘Mientras Mas_Datos = vbYesLoop While Mas_Datos = vbYes

Observe que en este caso no es necesario la línea Mas_Datos = vbYes antes de Do para forzar la entrada en el bucle ya que la condición va al final.

Estructura Do..Loop Until (Hacer.. Hasta que se cumpla la condición).

Es otra estructura que evalúa la condición al final observe que la interpretación es distinta ya que el bucle se va repitiendo HASTA que se cumple la condición, no MIENTRAS se cumple la condición. Cual de los dos utilizar, pues, no se sorprenda, la que entienda mejor o le guste más. La entrada de datos con este bucle quedaría

DoNombre = InputBox("Entre el Nombre (Return para Terminar) : ", "Nombre")Ciudad = InputBox("Entre la Ciudad : ", "Ciudad")Edad = Val(InputBox("Ent re la Edad : ", "Edad")Fecha=Cdate("InputBox("Entra la Fecha : ", "Fecha")With ActiveCell

.Value = Nombre

.Offset(0,1).Value = Ciudad

.Offset(0,2).Value = Edad

.Offset(0,3).value = fechaEnd WithActiveCell.Offset(1,0).ActivateMas_datos = MsgBox("Otro registro ?", vbYesNo+vbQuestion,"Entrada de datos")

‘Hasta que Mas_Datos sea igual a vbNoLoop Until Mas_Datos=vbNo

Estructura For Each.

Este bucle se utiliza básicamente para ejecutar un grupo de sentencias con los elementos de una colección o una matriz (pronto veremos los que es). Recuerde que una colección es un conjunto de objetos, hojas, rangos, etc. Vea el ejemplo siguiente que se utiliza para cambiar los nombres de las hojas de un libro de trabajo.

Programa que pregunta el nombre para cada hoja de un libro de trabajo, si no se pone nombre a la hoja, queda el que tiene.

Sub Ejemplo_29()Dim Nuevo_Nombre As StringDim Hoja As WorkSheet‘ Para cada hoja del conjunto WorkSheetsFor Each Hoja In WorkSheets

Nuevo_Nombre=InputBox("Nombre de la Hoja : " & Hoja.Name,"Nombrar Hojas")If Nuevo_Nombre <> "" Then

Hoja.Name=Nuevo_nombreEnd if

NextEnd Sub

** Hoja va referenciando cada una de las hojas del conjunto WorkSheets a cada paso de bucle.

Ejemplo 30.

Entrar valores para las celdas del rango A1:B10 de la hoja Activa.

Sub Ejemplo_30()Dim R As Range‘ Para cada celda del rango A1:B10 de la hoja activaFor Each R in ActiveSheet.Range("A1:B10")

R.Value = InputBox("Entrar valor para la celda " & R.Address, "Entrada de valores")Next

End Sub

** Observe que se ha declarado una variable tipo Range, este tipo de datos, como puede imaginar y ha visto en el ejemplo sirve para guardar Rangos de una o más casillas, estas variables pueden luego utilizar todas las propiedades y métodos propios de los Objetos Range. Tenga en cuenta que la asignación de las varaibles que sirven para guardar o referenciar objetos (Range, WorkSheet, etc.) deben inicializarse muchas veces a través de la instrucción SET , esto se estudiará en otro capítulo.

Procedimientos y funciones.

Se define como procedimiento i/o función a un bloque de código que realiza alguna tarea. Hasta ahora, hemos construido los programas utilizando un único procedimiento, pero a medida que los programas (y los problemas) crecen se va haciendo necesaria la inclusión de más procedimientos. Podría fácilmente caer en la tentación de utilizar, como hasta ahora, un único procedimiento por programa pero se dará cuenta rápidamente de que este método no es nada práctico ya que grandes bloques de código implican mayor complicación del mismo, repetición de sentencias y lo que es más grave, mayores problemas de seguimiento a la hora de depurar errores, ampliar funcionalidades o incluir modificaciones.

La filosofía de utilizar procedimientos es la antigua fórmula del "divide y vencerás", es decir, con los procedimientos podremos tratar cada problema o tarea de forma más o menos aislada de forma que construiremos el programa paso a paso evitando tener que resolver o controlar múltiples cosas a la vez. Cada tarea la realizará un procedimiento, si esta tarea implica la ejecución de otras tareas, cada una se implementará y solucionará en su correspondiente procedimiento de manera que cada uno haga una cosa concreta. Así, los diferentes pasos que se deben ejecutar para que un programa haga algo, quedaran bien definidos cada uno en su correspondiente procedimiento, si el programa falla, fallará a partir de un procedimiento y de esta forma podremos localizar el error más rápidamente.

Los procedimientos son también un eficaz mecanismo para evitar la repetición de código en un mismo programa e incluso en diferentes programas. Suponemos que habrá intuido que hay muchas tareas que se repiten en casi todos los programas, veremos como los procedimientos que ejecutan estas tareas se pueden incluir en un módulo de forma que este sea exportable a otros programas y de esta manera ganar tiempo que, como dice el tópico, es precioso.

Definir un procedimiento.

Ya lo hemos hecho unas cuantas veces, pero ahí va de nuevo.

Sub Nombre_Procedimento

Sentencias.

End Sub.

Llamar a un procedimiento.

Las secuencias del procedimiento P_Uno se ejecutan hasta llegar a la línea Call P_Dos, entonces se salta al procedimiento P_Dos, se ejecutan todas las sentencias de este procedimiento y el programa continua ejecutándose en el procedimiento P_Uno a partir de la sentencia que sigue a Call P_Dos.

Es el mismo programa que el visto en el ejemplo 29 pero el código que salta casilla hasta que se encuentra una vacía se implementa en un procedimiento llamado, Saltar_Celdas_Llenas. Observe que para entrar valores se ha sustituido Do While..Loop por Do.. Loop While.

Sub Ejemplo_32()Dim Nombre As String

Dim Ciudad As StringDim Edad As IntegerDim fecha As Date' Llamada a la función Saltar_Celdas_Llenas, el programa salta aquí a ejecutar las'instrucciones de este procedimiento y luego vuelve para continuar la ejecución a partir de la'instrucción DoCall Saltar_Celdas_LlenasDo

Nombre = InputBox("Entre el Nombre (Return para Terminar) : ", "Nombre")Ciudad = InputBox("Entre la Ciudad : ", "Ciudad")Edad = Val(InputBox("Entre la Edad : ", "Edad"))Fecha=Cdate(InputBox("Entra la Fecha : ", "Fecha"))With ActiveCell

.Value = Nombre

.Offset(0,1).Value = Ciudad

.Offset(0,2).Value = Edad

.Offset(0,3).value = fechaEnd WithActiveCell.Offset(1,0).ActivateMas_datos = MsgBox("Otro registro ?", vbYesNo+vbQuestion,"Entrada de datos")

Loop While Mas_Datos = vbYesEnd Sub' Función que salta celdas de una misma columna. Si rve para encontrar la primera celda vacía de la

' columna

Sub Saltar_Celdad_Llenas()

WorkSheets("Hoja1").Activate

ActiveSheet.Range("A1").Activate

Do While not IsEmpty(ActiveCell)

ActiveCell.Offset(1,0).Activate

Loop

End Sub

Generalizar una función.

Observe que para saltar un rango de casillas llenas sólo necesitará llamar a la función Saltar_Celdas_Llenas, pero, siempre y cuando este rango esté en una hoja llamada "Hoja1" y empiece en la casilla A1, el procedimiento es poco práctico ya que su ámbito de funcionamiento es limitado. En la siguiente sección modificaremos el procedimiento de manera que sirva para recorrer un rango que empiece en cualquier casilla de cualquier hoja.

Parámetros.

Los parámetros son el mecanismo por el cual un procedimiento puede pasarle valores a otro y de esta forma condicionar, moldear, etc. las acciones que ejecuta. El procedimiento llamado gana entonces en flexibilidad. La sintaxis de llamada de un procedimiento es la siguiente,

Call Procedimiento(Parámetro1, Parámetro2,..., ParámetroN)

Los parámetros pueden ser valores o variables. La sintaxis para el procedimiento llamado es la siguiente,

Sub Procedimiento(Parámetro1 as Tipo, Parámetro2 As Tipo,..., Parámetro3 As Tipo)

Observe que aquí los parámetros son variables que recibirán los valores, evidentemente debe haber coincidencia de tipo. Por ejemplo, si el primer parámetro es una variable tipo Integer, el primer valor que se le debe pasar al procedimiento cuando se llama también ha de ser de tipo Integer (recuerde que puede ser un valor directamente o una variable).

El mismo programa que en el ejemplo 32 pero ahora la función Saltar_Celdas_Llenas tiene dos parámetros Hoja y Casilla_Inicial que reciben respectivamente la hoja donde está el rango a recorrer y la casilla inicial del rango.

Sub Ejemplo_33()Dim Nombre As StringDim Ciudad As StringDim Edad As IntegerDim fecha As Date' Llamada a la función Saltar_Celdas_Llenas, observar que mediante dos parámetros se' Al procedimiento en que hoja está el rango a saltar y en la casilla donde debe empezar.Call Saltar_Celdas_Llenas("Hoja1", "A1")Do

Nombre = InputBox("Entre el Nombre (Return para Terminar) : ", "Nombre")Ciudad = InputBox("Entre la Ciudad : ", "Ciudad")Edad = Val(InputBox("Entre la Edad : ", "Edad"))Fecha=Cdate(InputBox("Entre la Fecha : ", "Fecha"))With ActiveCell

.Value = Nombre

.Offset(0,1).Value = Ciudad

.Offset(0,2).Value = Edad

.Offset(0,3).value = fechaEnd With

ActiveCell.Offset(1,0).ActivateMas_datos = MsgBox("Otro registro ?", vbYesNo+vbQuestion,"Entrada de datos")

Loop While Mas_Datos = vbYesEnd Sub'

' Procedimiento Saltar_Celdas_Llenas.' Sirve para Saltar celdas llenas de una columna hasta encontrar una vacía que se convierte en activa' Parámetros :' Hoja : Hoja donde está el rango a saltar.' Casilla_Inicial : Casilla Inicial de la columnaSub Saltar_Celdas_Llenas(Hoja As String, Casilla_Inicial As String)

WorkSheets(Hoja).ActivateActiveSheet.Range(Casilla_Inicial).Activate

Do While not IsEmpty(ActiveCell)ActiveCell.Offset(1,0).Activate

LoopEnd Sub

Observe que ahora el procedimiento Saltar_Celdas_Llenas sirve para recorrer cualquier rango en cualquier hoja.

Observe que al procedimiento se le pasan dos valores directamente, recuerde, y esto es quizás lo más

habitual, que también pueden pasarse variables, por ejemplo.

Sub Ejemplo_33..Dim Hoja As StringDim Casilla_Inicial As String

Hoja = InputBox("En que hoja está la base de datos : ", "Entrar Nombre de Hoja")Casilla_Inicial = InputBox("En que casilla comienza la base de datos","Casilla Inicial")

' Observe que los parámetros son dos variables cuyo valor se ha entrado desde teclado en' las dos instrucciones InputBox anteriores.Call Saltar_Celdas_Llenas(Hoja, Casilla_Inicial)..

End Sub

Variables locales y variables Globales.

El ámbito de una variable declarada dentro de una función es la propia función, es decir no podrá utilizares fuera de dicha función. Así, el siguiente programa que debería sumar las cinco filas siguientes a partir de la casilla activa y guardar el resultado en la sexta es incorrecto.

Sub Alguna_Cosa()..Call Sumar_Cinco_SiguientesActiveCell.Offset(6,0).Value = Suma..

End Sub

Sub Sumar_Cinco_Siguientes()Dim i As IntegerDim Suma As SingleSuma=0For i=1 To 5

Suma = Suma+ActiveCell.Offset(i,0).ValueNext i

End Sub

Es incorrecto porque tanto las variable i como la variable Suma están declaradas dentro del procedimiento Sumar_Cinco_Siguientes consecuentemente, su ámbito de acción es este procedimiento. Por tanto, la instrucción ActiveCell.Offset(6,0).Value = Suma del procedimiento Alguna_Cosa, generaría un error (con Option Explicit activado) ya que la variable Suma no está declarado dentro de él. Si piensa en declarar la variable Suma dentro del procedimiento Hacer_Algo, no solucionará nada porque esta será local a dicho procedimiento, en este caso tendría dos variables llamadas Suma pero cada una de ellas local a su propio procedimient o y consecuentemente con el ámbito de acción restringido a ellos.

Una solución, que a nosotros no nos gusta, seria declarar suma como variable global. Una variable global se declara fuera de todos los procedimientos y es reconocida por todos los procedimientos del módulo,

Option Explicit' Suma es una variable global reconocida por todos los procedimientos del módulo.Dim Suma As SingleSub Alguna_Cosa()

.Call Sumar_Cinco_SiguientesActiveCell.Offset(6,0).Value = Suma

End Sub

Sub Sumar_Cinco_Siguientes()Dim i As Integer

Suma=0For i=1 To 5

Suma = Suma+ActiveCell.Offset(i,0).ValueNext i

End Sub

Las variables globales son perfectas en cierta ocasiones, para este caso seria mejor declarar Suma en la función Hacer_Algo y pasarla como parámetro al procedimiento Sumar_Cinco_Siguientes.

Sub Alguna_Cosa()Dim Suma As Single' Llamada a la función Sumar_Cinco_Siguientes pasándole la variable SumaCall Sumar_Cinco_Siguientes(Suma)

ActiveCell.Offset(6,0).Value = SumaEnd Sub

Sub Sumar_Cinco_Siguientes(S As Single)Dim i As Integer

Suma=0For i=1 To 5

S = S+ActiveCell.Offset(i,0).ValueNext i

End Sub

Esto le funcionaria porque la variable parámetro S (y se le ha cambiado el nombre adrede) de Sumar_Cinco_Siguientes es la variable Suma declarada en Hacer_Algo. Funcionará porque en visual basic, a menos que se indique lo contrario, el paso de parámetros es por referencia, vea la siguiente sección.

Paso por referencia y paso por valor.

No entraremos en detalles sobre como funciona el paso de parámetros por valor y el paso de parámetros por referencia, sólo indicar que el paso por valor significa que la variable parámetro del procedimiento recibe el valor de la variable (o directamente el valor) de su parámetro correspondient e de la instrucción de llamada y en el paso por referencia, la variable parámetro del procedimiento es la misma que su parámetro correspondiente de la instrucción de llamada, es decir, la declarada en el procedimiento desde el que se hace la llamada. Por defecto, y siempre que en la instrucción de llamada se utilicen variables, las llamadas son por referencia. Si desea que el paso de parámetros sea por valor, debe anteponer a la variable parámetro la palabra reservada ByVal, por ejemplo,

Sub Saltar_Celdas_Llenas(ByVal Hoja As String, ByVal Casilla_Inicial As String)

Aunque lo elegante y efectivo por razones de memoria seria pasar siempre que sea posible por valor, es poco habitual que así se haga en visual basic, seguramente por comodidad. Como suponemos que hará como la mayoría, es decir, pasar por referencia, tenga cuidado con los (indeseables) efectos laterales. Copie y ejecute este programa y descubrirá que son los efectos laterales.

Ejemplo Efecto_Lateral.

Antes de copiar el programa, active una hoja en blanco y ponga valores del 1 al 15 distribuidos de la forma siguiente, en el rango A1:A5 valores del 1 al 5, en el rango B1:B5 valores del 6 al 10, en el rango C1:C5 valores del 11 al 15.

El siguiente programa debe recorrer cada una de tres las columnas de valores, sumarlos y poner el resultado en las filas 6 de cada columna. Entonces, según los valores que ha entrado en cada una de las columnas, cuando haya acabado la ejecución del programa debe haber los siguientes resultados, A6 = 15, B6=40, C6=65. Para llevar a cabo la suma de los valores de cada columna se llama a la función Recorrer_Sumar tres veces, una para cada columna, esta función recibe en el parámetro F el valor de la fila donde debe empezar a sumar, sobre el parámetro C el valor de la columna a sumar y sobre el parámetro Q la cantidad de filas que ha de recorrer.

El programa utiliza la propiedad Cells para referenciar las filas y columnas de los rangos. Observe atentamente los valores que irá cogiendo la variable Fila ya que esta será la que sufra el efecto lateral.

Sub Efecto_Lateral()Dim Fila As IntegerFila = 1Call Recorrer_Sumar(Fila, 1,5) ' Columna ACall Recorrer_Sumar(Fila, 2,5) ' Columna BCall Recorrer_Sumar(Fila, 3,5) ' Columna C

End Sub

Sub Recorrer_Sumar(F As Integer, C As Integer, Q As Integer)Dim i As IntegerDim Total As IntegerTotal = 0For i =1 To Q

Total = Total + ActiveSheet.Cells(F, C).ValueF=F+1 ' OJO con esta asignación, recuerde que F es la variable Fila declarada en

' el procedimiento Efecto_LateralNext iActiveSheet.Cells(F, C) = Total

End Sub

Cuando ejecute el programa se producirá la salida siguiente, en A6 habrá un 15, hasta aquí todo correcto, pero observe que en la segunda columna aparece un 0 en B12 y en la tercera columna aparece un 0 en C18, veamos que ha pasado. La primera vez que se llama la función, la variable F vale 1 ya que este es el valor que tiene su parámetro correspondiente (Fila) en la instrucción Call. Observe que F se va incrementando una unidad a cada paso de bucle For, RECUERDE que F es realmente la variable Fila declarada en el procedimiento Efecto_Lateral, por tanto cuando finaliza el procedimiento Recorrer_Sumar y vuelve el control al procedimiento Efecto_Lateral Fila vale 6, y este es el valor que se pasará a Recorrer_Suma la segunda vez que se llama, a partir de ahí todo irá mal ya que se empezará el recorrido de filas por la 6. Una de las soluciones a este problema para hacer que

cada vez que se llame Recorrer_Sumar la variable F reciba el valor 1, es utilizar un paso por valor, es decir que F reciba el valor de Fila, no que sea la variable Fila, observe que entonces, si F no es la variable Fila, cuando incremente F no se incrementará Fila, esta siempre conservará el valor 1. Para hacer que F sea un parámetro por valor, simplemente ponga la palabra ByVal antes de F en la declaración del procedimiento. Vuelva a ejecutar el programa, verá como ahora funciona correctamente.

Insistimos de nuevo en que tenga cuidado con estas cosas. Al menos ahora ya está sobre aviso, cuando un programa no haga lo que ha previsto una de las cosas que deberá repasar es el paso de parámetros a los procedimientos.

** Para acabar, observe que en muchas ocasiones le hemos indicado que en el paso por referencia la variable del procedimiento llamado es la variable declarada en el procedimiento que llama. En este último ejemplo, le hemos dicho que F era la variable Fila, pues bien, esto no es cierto Fila es una variable y F es otra variable, ahora es lógico que se pregunte por qué entonces F actúa como si fuera Fila, este es un tema que no entra en el ámbito de este manual, si alguna vez programa en C y llega al tema de los punteros entenderá que es lo que sucede realmente en el paso por parámetro y en el paso por valor. Si ya conoce los punteros de C o Pascal entonces ya habrá intuido que el paso por valor en nuestro ejemplo equivaldría a,

Recorrer_Fila(F, C, Q);

void Recorrer_Fila(int F, int C, int Q)

Y un paso por referencia a

Recorrer_Fila(&F, C, Q);

Void Recorrer_Fila(int *F, int C, int Q)

Funciones.

Una función es lo mismo que un procedimiento con la salvedad que este devuelve un valor al procedimiento o función que lo llama. Vea el siguiente ejemplo, es una función muy sencilla ya que simplemente suma dos números y devuelve el resultado.

Función que devuelve la suma de dos valores que se le pasan como parámetros. Observe las diferentes formas en como se llama la función.

Sub Ejemplo_34()Dim x As IntegerDim n1 As Integer, n2 As IntegerX = Suma(5, 5)n1= Val ( InputBox("Entrar un número : ", "Entrada"))n2= Val ( InputBox("Entrar otro número : ", "Entrada"))X= suma(n1,n2)ActiveCell.Value = Suma(ActiveSheet.Range("A1").Value , ActiveSheet.Range("A2").Value)X = Suma(5, 4) + Suma (n1, n2)

End Sub

Function Suma(V1 As Integer, V2 As Integer) As IntegerDim Total As IntegerTotal = V1 + V2Suma = Total

End Function

Observe la sintaxis de la cabecera de función,Function Suma(V1 As Integer, V2 As Integer) As Intege rLa estructura general seria,

Function Nombre_Funcion(par1 As Tipo, par2 As Tipo,..., parN As Tipo) As Tipo.

La sintaxis es similar a la cabecera de un procedimiento, sólo que una función tiene tipo, esto tiene su lógica, ya que una función devuelve un valor, ese valor será de un tipo determinado. Así, en nuestro ejemplo de Function Suma, esta función es de tipo Integer, o dicho de otra manera, la función ejecuta sus sentencias y devuelve un valor hacia el procedimiento o la función que la llamó, el valor devuelto se establece igualando el nombre de la función a algo,

Nombre_Función = ....

En el ejemplo de Function Suma,

Suma = Total

Observe también la sintaxis de la llamada a la función, en el ejemplo hemos utilizado unas cuantas formas de llamarla, lo que debe tener siempre presente es que en cualquier expresión aritmética o de cálculo, el ordenador realiza un mínimo de dos operaciones, una de cálculo y otra de asignación. Por ejemplo,

A= B+C

El ordenador primero calcula el resultado de sumar B+C luego asigna ese resultado a la variable A. En cualquier llamada a una función, cojamos por caso,

X= suma(n1,n2)

Primero se ejecutan todas las sentencias de la función Suma, luego se asigna el cálculo de la función a la variable X. De otro vistazo a la función de ejemplo y vea lo que realiza cada sentencia en la que se llama a la función Suma.

Veamos a continuación unos cuantos ejemplos de funciones. Antes recordarle que todo lo referente a parámetros por valor y referencia, variables locales y globales, etc. que estudiamos en los procedimientos es lo mismo para las funciones.

Función que devuelve la dirección de la primera celda vacía de un rango. La función es de tipo String ya que devuelve la casilla en la forma "FilaColumna ", por ejemplo "A10". Utilizaremos la propiedad Address del objeto range, esta propiedad devuelve un string que contiene la referencia "FilaColumna" de una casilla o rango de casillas. En el caso de un rango devuelve,

"FilaColumna_Inicial:FilaColumna_Final", por ejemplo "A1:C10"

Sub Ejemplo_35()Dim Casilla As String

Casilla = Casilla_Vacia("A1")......

End Sub

' Función Casilla_Vacia de Tipo String

' Sirve para Recorrer las filas de una columna hasta encontrar una vacía.

' Parámetros :

' Casilla_Inicio : Casilla donde debe empezar a buscar.

' Devuelve Un string que contiene la referencia de la primera casilla

Function Casilla_Vacia(Casilla_Inicio As String) As StringActiveSheet.Range(Casilla_Inicio).Activate

Do While Not IsEmpty(ActiveCell)ActiveCell.Offset(1, 0).Activate

Loop

Casilla_Vacia = ActiveCell.AddressEnd Function

Similar al anterior. Es la típica búsqueda secuencial de un valor en un rango de casillas, en esta función solo se avanzará a través de una fila. La función devuelve la dirección (address) de la casilla donde está el valor buscado, en caso que el valor no esté en el rango de filas, devuelve una cadena vacía ("").

Sub Ejemplo_36()Dim Casilla As StringCasilla = Buscar_Valor("A1", 25)' Si valor no encontradoIf Casilla = "" Then

.....Else 'Valor encontrado

....End if

End Sub

' Función Buscar de Tipo String' Sirve para Recorrer las filas de una columna hasta encontrar el valor buscado o una de vacía.' Parámetros :' Casilla_Inicial : Casilla donde debe empezar a buscar.' Valor_Buscado : Valor que se debe encontrar' Devuelve Un string que contiene la referencia de la casilla donde se ha encontrado el valor.' También puede devolver "" en caso que el valor buscado no esté.Function Buscar(Casilla_Inicial As String, Valor_Buscado As Integer) As String

ActiveSheet.Range(Casilla_Inicial).Activate' Mientras casilla no vacía Y valor de casilla diferente al buscadoDo While Not IsEmpty(ActiveCell) And ActiveCell.Value <> Valor_Buscado

ActiveCell.Offset(1, 0).ActivateLoop' Si la casilla donde se ha detenido la búsqueda NO ESTÁ VACÍA es que se ha encontrado'el valor.If Not IsEmpty(ActiveCell) Then

Buscar = ActiveCell.Address ' Devolver la casilla donde se ha encontrado el valorElse ' La casilla está vacía, NO se ha encontrado el valor buscado

Buscar="" ' Devolver una cadema vacíaEnd if

End Function

Similar al anterior. Búsqueda secuencial de un valor en un rango de casillas, en esta función se avanzará a través de filas y columnas. La función devuelve la dirección (address) de la casilla donde está el valor buscado, en caso que el valor no esté en el rango, devuelve una cadena vacía ("").

Sub Ejemplo_36()Dim Casilla As StringCasilla = Buscar_Valor("A1", 25)If Casilla = "" Then

.....Else

....End if

End Sub

Function Buscar(Casilla_Inicial As String, Valor_Buscado As Integer) As StringDim Incremento_Columna As IntegerDim Continuar As BooleanActiveSheet.Range(Casilla_Inicial).Activate

Continuar = TrueDo While Continuar

Incremento_Columna = 0' Buscar el valor por las columnas hasta encontrarlo o encontrar una celda vacía.Do While Not IsEmpty(ActiveCell.Offset(0, Incremento_Columna) And

ActiveCell. Offset(0, Incremento_Columna.Value <> Valor_Buscado' Siguiente columnaIncremento_Columna = Incremento_Columna + 1

Loop' Si no está vacía la casilla entonces parar la búsqueda, se ha encontrado el valorIf Not IsEmpty(ActiveCell.OffSet(0, Incremento_Columna)) Then

Continuar=FalseElse ' La casilla está vacía, no se ha encontrado el valor

ActiveCell.Offset(1, 0).Activate ' Saltar a una nueva filaIf IsEmpty(ActiveCell) Then ' Si la casilla de la nueva fila está vacía

Continuar=False ' Parar la búsqueda, no hay más casilla a recorrerEnd if

End ifLoop

' Si la casilla donde se ha detenido la búsqueda NO ESTÁ VACÍA es que se ha encontrado'el valor.

If Not IsEmpty(ActiveCell) ThenBuscar = ActiveCell(0, Incremento_Columna).Address ' Devolver la casilla donde se

'ha encontrado el valorElse ' La casilla está vacía, NO se ha encontrado el valor buscado

Buscar="" ' Devolver una cadema vacíaEnd if

End Function

La cláusula Private.

Puede anteponer la cláusula private a todos los procedimientos y funciones que sean llamados sólo desde el mismo módulo, es una forma de ahorrar memoria y hacer que el programa corra un poco más rápido. Si necesita llamar un procedimiento o función desde otro módulo, nunca debe precederlo por la cláusula private, recuerde que esta cláusula restringe el ámbito de utilización de un procedimiento a su propio módulo. Supongamos el ejemplo siguiente.

' Módulo 1Sub General

....End Sub

Private Sub Privado....

End Sub

' Módulo 2Sub Procedimiento_de_modulo2

' Esto es correcto. Llama al procedimiento General definido en Módulo1Call General' Esto no es correcto. Llama al procedimiento Privado definido en Módulo 1, este' procedimiento va precedido pro la cláusula Private, por tanto sólo puede ser llamado' desde procedimientos de su propio móduloCall Privado

End Sub

Vamos a ver a continuación tres ejemplos más sobre funciones. Es importante que los cree en un libro de trabajo nuevo y los ponga en un mismo módulo, al final del capítulo utilizaremos las opciones de exportar e importar módulos de procedimientos y funciones. En todos los ejemplos verá el procedimiento Procedimiento_Llamador, es para mostrar de que forma se debe llamar al procedimiento o función. Los procedimientos implementados son, por llamarlo de alguna manera, de tipo general, es decir, son procedimientos que podrá utilizar en muchas aplicaciones.

Procedimiento que abre un cuador MsgBox y muestra el texto que se le paso como parámetro.

Procedimiento mAviso' Función Mostrar el cuadro de función MsgBox, con el icono información y el botón OK (Aceptar).' Se utiliza para mostrar avisos.' Parámetros:

' Texto = Texto que muestra el cuadro' Titulo = Título del cuadro

'Sub mAviso(Texto As String, Titulo As String)MsgBox Prompt:=Texto, Buttons:=vbOKOnly + vbInformation, Title:=Titulo

End Sub

Función tipo range que devuelve un rango. Observe como la función se iguala a una variable tipo Range, recuerde que con esta variable podrá acceder a todas las propiedades e invocar todos los métodos propios de los objetos Range. En este ejemplo en concreto se utilizan las variables para Copiar un grupo de celdas de un rango hacia otro, se utilizan los métodos Copy y Paste del objeto Range.

Sub Procedimiento_Llamador()Dim Rango_Origen As RangeDim Rango_Destino As RangeSet Rango_Origen=Coger_Rango(A1,5,5)Rango_Origen.CopySet Rango_Destino=Coger_Rango(G1,5,5)Rango_Destino.Paste PasteSpecial:=xlPasteAll

End Sub

' Función que devuelve un rango a una variable de este tipo' Parámetros' Casilla = casilla inicial del rango' Filas = número' de filas' Columnas = número de columnas del rango

Function Coger_Rango(Casilla As String, Filas As Integer, Columnas As Integer) As RangeDim Casilla_Final As StringActiveSheet.Range(Casilla).Activate

ActiveCell.Cells(Filas, Columnas).ActivateCasilla_Final = ActiveCell.AddressActiveSheet.Range(Casilla & ":" & Casilla_Final).SelectSet Coger_Rango = ActiveSheet.Range(Casilla & ":" & Casilla_FInal)

End Function

Función para comprobar el tipo de datos. Es una función de comprobación que se puede utilizar para validar los datos que se entran desde un cuadro InputBox o desde los cuadros de texto de formularios. La función es de tipo Booleano, devuelve True (cierto) o False en función de si el dato pasado es correcto. En esta función se evalúan sólo datos numéricos y datos tipo Fecha, puede ampliarla para que se comprueben más tipos.

Sub Procedimiento_Llamador()Dim Cantidad As IntegerDim Fecha As DateDim Datos As StringDatos = InputBox("Entrar una Cantidad : ", "Entrar")If Not Comprobar_Tipo(Datos,"N") Then

mAviso("Los datos introducido no son numéricos", "Error")Else

Cantidad = Val(Datos)End If

Datos=InputBox("Entrar Fecha","Entrar")If Not Comprobar_Tipo(Datos,"F") Then

mAviso("Los fecha introducida no es correcta", "Error")Else

Fecha = Val(Datos)End If.End Sub

' Función que evalúa si el tipo de datos que se le pasan son correctos o no. Si son correctos devuelve' TRUE , en caso contrario devuelve FALSE' Parámetros' Valor =valor que se debe comprobar, de tipo String' Tipo = tipo a comprobar, "N" --> Numérico, "F", tipo fecha

Function Comprobar_Tipo(Valor As String, Tipo As String) As BooleanDim Valido As BooleanValido = TrueSelect Case Tipo

' Comprueba si es un valor numérico válidoCase "N"

If Not IsNumeric(Valor) ThenValido = False

End If' Comprueba si es un valor fecha válidoCase "F"

If Not IsDate(Valor) ThenValido = False

End If

End SelectComprobar_Tipo = Valido

End Function

Ejercicios Prácticos

1.7 Aplicaciones.

Ejercicios propuestos: o Competencias propuestas:

Aquí empieza eduteka Utilizar apropiadamente las funciones básicas del software para crear hojas de cálculo

sencillas (crear, abrir, grabar y cerrar). Abrir y cerrar la aplicación Abrir y cerrar uno o varios libros de hojas de cálculo existentes Crear un libro de hojas de cálculo nuevo Guardar un libro de hojas de cálculo en una unidad de almacenamiento local o remota Guardar un libro de hojas de cálculo con otro nombre o formato Guardar un archivo para ser abierto con otras versiones del mismo software o con otros

programas. Comprender la diferencia entre abrir y guardar Alternar entre libros abiertos Utilizar las funciones de ayuda que ofrece el software

Demostrar comprensión sobre libros, hojas, celdas, filas, columnas y rangos. Comprender qué es un libro. Comprender qué es una hoja de cálculo. Comprender qué son filas, columnas y celdas en una hoja de cálculo. Comprender qué son referencias a celdas. Comprender qué es un rango de celdas.

Utilizar el teclado y el ratón (mouse) para desplazarse por libros y hojas. Utilizar las diferentes teclas y combinaciones de teclas para desplazarse por una hoja de

cálculo Utilizar las diferentes formas que ofrece el ratón (mouse) para desplazarse por una hoja

de cálculo

Realizar operaciones básicas con celdas, filas y columnas (insertar, seleccionar, modificar, agregar y borrar contenido).

Digitar cifras, fechas o texto en una celda (datos) Identificar el tipo de dato de acuerdo a la alineación. Seleccionar una celda Seleccionar un rango de celdas (adyacente) Seleccionar un grupo de rangos de celdas (discontinuo) Seleccionar filas, rangos adyacentes o grupos de rangos (discontinuos) de filas Seleccionar columnas, rangos adyacentes o grupos de rangos (discontinuos) de

columnas Mover filas, columnas y rangos. Ocultar y mostrar filas y columnas. Modificar el contenidos de una celda Utilizar los comandos deshacer y repetir

Utilizar los comandos copiar y pegar para duplicar el contenido de celdas Utilizar los comandos cortar y pegar para mover el contenido de celdas Utilizar las herramientas de auto completar y copiar para facilitar la entrada de datos Borrar el contenido de una celda. Bloquear o desbloquear celdas o rangos de celdas. Proteger y desproteger libros para restringir la edición de datos en celdas bloqueadas.

Dar formato que dé significado al contenido de celdas, filas y columnas. Modificar el ancho de columnas y el alto de filas o un rango de estas Copiar un formato específico de una celda a otras. Eliminar formatos específicos a celdas. Dar formato a celdas para mostrar cifras con un número determinado de posiciones

decimales y con o sin puntos separadores de miles. Dar formato a celdas para mostrar diferentes estilos de fechas Dar formato a celdas para mostrar diferentes símbolos de moneda Dar formato a celdas para mostrar cifras que representen porcentajes Dar formato a celdas para mostrar cifras que representen fracciones Dar formato a celdas para mostrar cifras en notación científica Dar formato a celdas para mostrar el contenido de celdas en formato texto

Realizar operaciones básicas con hojas de cálculo (insertar, nombrar, seleccionar, eliminar, duplicar, mover, inmovilizar, ocultar).

Insertar y eliminar hojas de cálculo Renombrar una hoja de cálculo Duplicar una hoja de cálculo dentro de un mismo libro o entre libros Mover una hoja de cálculo dentro de un mismo libro o entre libros Seleccionar una o varias hojas de cálculo completas Insertar y eliminar filas y columnas en una hoja de cálculo Ocultar y mostrar hojas. Inmovilizar y movilizar paneles Utilizar los comandos de búsqueda y reemplazo de contenidos (datos) específicos dentro

de una hoja de cálculo Ordenar el contenido de un rango de celdas en forma ascendente o descendente

Realizar operaciones con fórmulas y funciones básicas. Reconocer y comprender la estructura de una fórmula (uso de paréntesis y parámetros,

orden de prioridad de los operadores, etc) Generar fórmulas utilizando referencias a celdas y operadores aritméticos (suma, resta,

etc) Reconocer y comprender los códigos de error básicos relacionados con el uso de

fórmulas Entender y utilizar referencias relativas, mixtas y absolutas a algunas celdas, en las

fórmulas Generar fórmulas utilizando funciones de diversas categorías (financieras, matemáticas) Utilizar adecuadamente la ayuda que ofrece el software para elaborar funciones.

Dar formato de presentación a celdas, filas y columnas. Alinear el contenido de una celda o rango de celdas (izquierda, derecha, centro, parte

superior o inferior) Combinar celdas Centrar un título en celdas combinadas Cambiar la orientación del contenido de una celda Añadir bordes y fondos a una celda o rango de celdas Vista preliminar de una hoja de cálculo

Elaborar hojas de cálculo que contengan gráficos que representen datos. Comprender la aplicabilidad que tienen los diversos tipos de gráficos (columnas, barras,

líneas, circulares, etc) Comprender la forma de organizar en una tabla los datos destinados a la creación de

gráficos. Crear diferentes tipos de gráficos a partir de datos en una hoja de cálculo nueva o dentro

de la misma hoja, utilizando adecuadamente el asistente. Planear y preparar el espacio para ubicar un gráfico. Añadir y eliminar títulos y etiquetas en un gráfico Editar un gráfico (cambiar colores, líneas de división, rótulos de datos, añadir porcentajes,

etc.) Cambiar el tipo de gráfico Cambiar el tamaño de un gráfico Cambiar la escala de representación de los datos (abscisa y ordenada). Duplicar y mover gráficos dentro de una misma hoja de cálculo o entre libros abiertos Eliminar gráficos

Preparar e imprimir hojas de cálculo. Comprender la importancia de revisar los cálculos de un libro antes de imprimirlo o

compartirlo Determinar el área de impresión Utilizar la vista preliminar de una hoja de cálculo. Insertar manualmente saltos de página. Mostrar u ocultar las líneas divisorias de una hoja de cálculo y los encabezados de filas y

columnas antes del proceso de impresión Cambiar los márgenes de una hoja de cálculo (superior, inferior, izquierdo, derecho) Cambiar la orientación del papel (horizontal o vertical) Cambiar el tamaño del papel Ajustar el contenido de una hoja de cálculo al tamaño de una o varias páginas Añadir y modificar textos en el encabezado y pie de página de una hoja de cálculo Insertar campos en el encabezado y pie de página (numeración de páginas, fecha, hora,

nombre de archivo, etc) Aplicar la opción de repetir filas en el extremo superior de cada una de las páginas a

imprimir Seleccionar las opciones de impresión (número de copias, intervalo de páginas,

intercalar) Configurar las propiedades de la impresora Imprimir un rango de celdas Imprimir una hoja de cálculo completa Preparar e imprimir gráficos que representen datos. Imprimir hojas y gráficos en un archivo.

AVANZADO Realizar operaciones con fórmulas y funciones avanzadas.

Definir nombre a celdas o rangos, Reconocer y comprender los códigos de error estándar relacionados con el uso de

fórmulas Generar fórmulas utilizando funciones de fecha Generar fórmulas utilizando funciones de texto. Generar fórmulas utilizando funciones lógicas. Generar fórmulas utilizando funciones de búsqueda y referencia Aplicar formato condicional a una celda o un rango de estas. Reconocer la relación entre celda precedente y dependiente. Entender y utilizar la herramienta auditoria . Utilizar la opción pegado especial. Utilizar fórmulas como valores.

ACTIVIDADES:

NOTA: Desarrollar adecuadamente estos temas requiere no solamente tiempo sino que los estudiantes tengan conocimientos previos tanto de lógica como de competencia en el manejo de fórmulas y funciones. Los períodos de clase especificados (12) son el tiempo mínimo requerido para la comprensión básica de estos temas.

Importar y exportar datos. Conocer los formatos de intercambio de datos que acepta y genera la hoja de cálculo. Reconocer las limitaciones para intercambio de datos (máquina, versión del software). Comprender y utilizar el asistente para importar datos. Separar texto en columnas. Comprender y utilizar la opción “Guardar como...” para exportar datos.

Elaborar hojas de cálculo en las que se utilicen filtros y agrupación para organizar información.

Utilizar filtros para organizar información. Crear formularios para ingresar información. Agrupar y desagrupar información. Utilizar subtotales (fórmulas).

Elaborar hojas de cálculo en la que se utilice una base de datos. Comprender el concepto básico y los elementos de una base de datos. Comprender las reglas básicas de la construcción de una base de datos. Comprender la manera correcta de ingresar datos en una base de datos. Utilizar la opción de restricciones para el ingreso de datos. Utilizar un nombre de rango como base de datos. Comprender y utilizar las funciones para el manejo de bases de datos.

Adicionar una clave a un libro para protegerlo. Adicionar una clave a un libro para protegerlo (lectura o escritura). Abrir un libro protegido Eliminar la clave de protección de un libro

Elaborar hojas de cálculo en forma colaborativa. Activar el control de cambios Aceptar o rechazar cambios en una hoja de cálculo Compartir un libro para que varios usuarios puedan modificarlo a la vez Proteger libros compartidos Agregar comentarios a celdas.

Elaborar hojas de cálculo en las que se utilicen tablas dinámicas. Comprender el concepto de tabla dinámica. Crear hojas de cálculo con tablas dinámicas

Grabar y utilizar una macro sencilla. Grabar una Macro sencilla Copiar una Macro Ejecutar una Macro Asignar una Macro a un botón personalizado en una barra de herramientas, a un menú o

a una combinación de teclas.

Configurar el entorno de trabajo que le presenta la Hoja de Cálculo (menús y barras). Seleccionar el idioma para el revisor ortográfico

Mostrar, ocultar y utilizar las barras básicas y otras disponibles

Personalizar las opciones del software. Modificar la ubicación predeterminada de los archivos Modificar otras opciones del software (general, ver, calcular, modificar y listas

personalizadas)

NOTA GENERAL: El número de clases que aparece asociada a cada uno de los objetivos específicos indica la cantidad de períodos de clase, de 55 minutos, estimado por los profesores participantes, necesarios para impartir la instrucción y realizar ejercicios y prácticas necesarios para que el estudiante pueda dominar lo que se pretende enseñar.

INDICADORES DE LOGROAntes de finalizar la instrucción en esta herramienta informática, el estudiante debe demostrar los

siguientes desempeños:

1. Sin ayuda de referencias, describe brevemente, y en sus propias palabras, el entorno de trabajo que presenta la Hoja de Cálculo [A]

2. Utilizando la Hoja de Cálculo, crea un Libro nuevo, lo graba en un lugar establecido por el profesor, lo cierra; si es necesario, lo abre nuevamente para modificarlo [A, C]

3. Sin ayuda de referencias, describe brevemente, y en sus propias palabras, qué son Libros, Hojas, celdas, filas columnas y rangos cuando hace referencia a una Hoja de Cálculo [A]

4. Mediante el desplazamiento por un Libro suministrado por el docente, demuestra agilidad en el uso del teclado y del ratón [A]

5. Dada una serie de datos por el profesor, los analiza, y apoyándose en una Hoja de Cálculo, los tabula de manera coherente [C, F]

6. Dado un tema por el profesor, usa una Hoja de Cálculo para tabular los datos recopilados sobre ese tema cuidando que el formato dado a las celdas contribuya a dar significado a la información (estilo de fecha, símbolos de moneda, porcentajes, etc) [C, D, F]

7. A partir de los datos obtenidos y tabulados sobre un tema, los ordena ascendente o descendentemente y hace inferencias sobre lo que encontró [C, F]

8. Dado un tema por el profesor, representa hechos o eventos utilizando las diversas operaciones matemáticas (fórmulas, cálculos, funciones) que ofrece la Hoja de Cálculo [C, D, F]

9. A partir de los datos obtenidos y tabulados sobre un tema, les da formato de presentación para que su apariencia sea armónica y estética [C, F]

10. Dado un tema por el profesor, usa una Hoja de Cálculo para tabular los datos obtenidos sobre ese tema y crea gráficos que representen la información [C, D, F]

11. Mediante la impresión de una Hoja de Cálculo demuestra conocimiento y habilidad para prepararla antes de imprimirla y para configurar las propiedades de la impresora [A, C, D]

12. A partir de la información localizada sobre un tema de investigación dado por el profesor, crea tablas dinámicas en una Hoja de Cálculo para mostrar los diferentes niveles de desagregación de los datos [C, F]

13. A partir de una tabla dinámica, crea un gráfico interactivo que permita analizar los datos de la tabla [C, F]

14. Dado un tema por el profesor y utilizando las funciones que para este fin ofrece la Hoja de Cálculo, tabula la información recolectada sobre el tema y genera fórmulas (fecha, texto, lógicas, búsqueda, etc) [C, F]

15. Dado un tema por el profesor, tabula la información recolectada sobre este y utiliza la opción de pegado especial para pegar objetos o para pegar fórmulas como valores [C, F]

16. Dado un tema por el profesor, tabula la información recolectada sobre este y utiliza la herramienta de auditoria de la Hoja de Cálculo para rastrear celdas precedentes y dependientes [C, F]

17. Dado un tema por el profesor, tabula la información recolectada sobre este y exporta los datos para utilizarlos en otra aplicación indicada por el profesor [C, F]

18. Dado un tema por el profesor, tabula la información recolectada sobre este y, utiliza las opciones de filtros y agrupamiento para organizar la información en formas diferentes [C, F]

19. Dado un tema por el profesor, elabora una Hoja de Cálculo en la cual se almacene la información como Base de Datos [C, F]

20. Dada una Hoja de Cálculo elaborada con anterioridad, le adiciona una clave a un libro para protegerlo [A, C, D]

21. Dada una Hoja de Cálculo ejecutada o producida con anterioridad por otro compañero, agrega comentarios a celdas y activa el control de cambios para dejar huella de las modificaciones hechas [A, C, D]

22. Dada una Hoja de Cálculo realizada por él y modificada por otro compañero, acepta o rechaza los cambios sugeridos por éste y atiende los comentarios indicados [A, C, D]

23. Dadas una serie de tareas por el profesor, las automatiza con la creación de una Macro sencilla [A, C, F]

24. Configura el entorno de trabajo y personaliza las barras de herramientas para ajustarlas a las necesidades de trabajo indicadas por el profesor [A, C, D]

25. Dada por el profesor una unidad de almacenamiento remota o local, configura la ubicación predeterminada de los archivos [A, C]

ACTIVIDADES PARA ENSEÑAR INFORMÁTICA (APEI)

En la enseñanza de la Hoja de Cálculo, se deben dedicar algunas clases de informática a realizar, actividades especialmente diseñadas para desarrollar habilidades básicas en esta herramienta. Estas, especialmente diseñadas para estimular el desarrollo de competencias básicas en las distintas herramientas, se utilizan cada vez que se inicia el aprendizaje de alguna de ellas y se dedican algunas sesiones de clase a realizarlas. Las Actividades deben ser interesantes, retadoras, reales, variadas y ayudar a generar rápidamente en las distintas herramientas las habilidades básicas necesarias para que se puedan utilizarse con éxito en los Proyectos de integración. La principal característica de ellas radica en que se apartan de la enseñanza mecánica de comandos y las funciones de las herramientas y se dedican a promover su aprendizaje con situaciones de la vida real, divertidas e interesantes. Alcanzar la competencia básica para poder utilizar con éxito la Hoja de Cálculo en los proyectos de integración que así lo requieran es muy importante.

En esta actividad los estudiantes utilizan las opciones de formato y edición que ofrece la Hoja de cálculo. Estas opciones se usan para crear la replica de una factura de servicios públicos, en este caso del servicio telefónico.Los estudiantes realicen cálculos matemáticos utilizando los números de una matriz creada en la Hoja de cálculo. En los ejercicios, se hará énfasis en utilizar fórmulas matemáticas que requieran el uso de paréntesis para indicar la prioridad en el orden de ejecución de las operaciones.Los estudiantes diseñen y elaboren una tarjeta de inventario (kardex) para almacenar información sobre diversos productos. Posteriormente, con el uso de las funciones lógicas y de búsqueda que ofrece la Hoja de cálculo, deben actualizar la información de un producto en forma automática (nombre, cantidad, entradas, salidas, etc).

LINEAMIENTOS DE INTEGRACIÓN

Con la Integración se busca por un lado afianzar las habilidades adquiridas en el manejo de las herramientas informáticas y por el otro, facilitar, mejorar o profundizar el aprendizaje en otras asignaturas con el uso significativo de las TIC. Es necesario darle a esta un propósito y unos objetivos claros para lograr un mejoramiento real en el aprendizaje y la comprensión de temas que sean fundamentales en las asignaturas seleccionadas para realizar la integración. PRODUCTOS SUGERIDOS:

1. Analizar tendencias de datos numéricos y generar inferencias con base en su comportamiento (análisis de situaciones, datos estadísticos).

2. Analizar ecuaciones lineales (clarificación de la lógica matemática implicada en cálculos).3. Representar información de tipo cuantitativa (para ello deben tanto reflexionar sobre la

organización y posibles relaciones que existan en los datos, como realizar cálculos).

4. Realizar actividades de solución de problemas basadas en análisis de datos (organizarlos en tablas, sintetizarlos, categorizarlos, relacionarlos, etc)

RECOMENDACIONES: Antes de iniciar proyectos de integración se deben utilizar Actividades especialmente

diseñadas para desarrollar habilidades básicas en la Hoja de Cálculo. En la sección “Actividades” de este documento se describen algunas, utilizadas en INSA con este propósito.

En los Proyectos de Integración es muy importante que los docentes presten especial atención al análisis de los resultados y al análisis de las tendencias observables en las gráficas; deben favorecer estas actividades sobre aquellas de construcción de tablas y decoración de ellas.

En los proyectos de integración se debe permitir a los estudiantes encontrar la forma de elaborar los cálculos matemáticos, trigonométricos o físicos (no dar la formula; es mejor, inicialmente que los estudiantes solucionen los problemas por partes y no con una formula dada por el docente).

Los proyectos de integración se deben enfocar en el desarrollo de competencias para sintetizar, categorizar, ordenar y clasificar datos de cualquier tipo con ayuda de la hoja de cálculo (no necesariamente numéricos).

LECTURAS RECOMENDADAS

La Hoja de Cálculo, Poderosa Herramienta de Aprendizaje - El uso de esta herramienta desarrolla en los estudiantes múltiples habilidades. Este artículo incluye, entre otras cosas, un diagrama con cinco tipos de aplicaciones de la Hoja de Calculo que contribuyen al trabajo en al área de Matemáticas (organizar, visualizar, generar gráficos, usar formulas algebraicas y funciones numéricas).http://www.eduteka.org/HojaCalculo2.phpPredecir y Verificar, Estrategia para Resolver Problemas - Este artículo evidencia como la Hoja de Cálculo ayuda a los estudiantes, de manera intuitiva, a lograr una mejor comprensión del álgebra. Suministra ejemplos de como esta herramienta los estimula a descomponer los problemas para solucionarlos con mayor facilidad.http://www.eduteka.org/Algebra1.phpResolver Ecuaciones con la Hoja de Cálculo - La funcionalidad de la Hoja de Cálculo para crear gráficas, puede ayudar a los estudiantes a visualizar las ecuaciones y sus posibles soluciones, de nuevas maneras. Con ella pueden relacionar la asignación de valores a variables mediante la representación grafica de una ecuación y, observar los resultados numéricos.http://www.eduteka.org/HojaCalculo1.phpSáquele Provecho a las Macros de la Hoja de Cálculo - Creación y utilización de simulaciones con la Hoja de Cálculo (Macros) que posibilita a los estudiantes hacer uso de representaciones para construir un puente entre las ideas intuitivas y los conceptos formales. Incluye ejemplos de estas aplicaciones para varias materias.http://www.eduteka.org/MacrosExcel.phpDulces de Colores - Proyecto retador en el que grupos de estudiantes apoyados en una Hoja de Cálculo determinan porcentajes y realizan inferencias sobre la cantidad de dulces de cada color que contiene una "bolsa misteriosa". Se basan en la muestra de los dulces de cada color repartidos a cada grupo.http://www.eduteka.org/HojaCalculo4.phpMis Calificaciones Durante Este Período - En este proyecto cada estudiante utiliza la Hoja de Cálculo para registrar sus calificaciones en las materias de un período. De esta manera, pueden inferir qué notas necesitan en los trabajos, pruebas, tareas, etc. para lograr la nota que desean alcanzar al final del período.http://www.eduteka.org/HojaCalculo3.phpEl Principio de la Tecnología para Matemáticas Escolares - Documento del Consejo Estadounidense de Profesores de Matemáticas (NCTM) que contiene la posición de este organismo respecto al uso de la Tecnología en la enseñanza de esta materia. Los principios describen algunas características de la educación de calidad.http://www.eduteka.org/PrincipiosMath.php

Aquí termina eduteka

Desde aquí empieza miguel caballero sierraPara ejemplificar las bondades y operatividad (reportar, resumir, graficar y analizar) de esta potentísima herramienta, se emplearán datos existentes y disponibles gratuitamente en el Libro de Excel denominado 6.1.1 Tablas dinámicas.xls del blog de Miguel Caballero, ubicado en la dirección: http://excelfree.weebly.com/

http://excelfree.weebly.com/ , http://miguelcaballerosierra.wordpress.com/ y http://www.bubok.co/autores/katharos/actividad,

.Este libro contiene varias hojas de cálculo, una de ellas, la que contiene el Origen de los Datos para para los informes o tablas dinámicas, se llama Telefonía de Datos y cuenta con 467490 Registros de filas con 12 columnas para los campos: País, Ciudad, Año, Mes, Ciudad Destino, Duración, Tipo de Cliente, Ingreso, Costo, Utilidad, Calidad y Quejas.

Figura 38. Datos de Tabla de Base de Datos del Blog de Distribución de Clases de Microsoft Excel 2013 de Miguel Caballero

Sierra, sitio ubicado en http://excelfree.weebly.com/ , http://miguelcaballerosierra.wordpress.com/.

NOTA: Es importante señalar, que las tablas dinámicas se pueden crear a partir de una lista de Microsoft Excel, una base de datos externa, varias hojas de cálculo de Excel u otro informe de tabla dinámica.

Para Crear la Tabla Dinámica a partir de ese Origen de Datos mencionado, desde el Menú INSERTAR:

Seleccionar en la Pestaña Insertar, el ícono Tabla Dinámica, y se desplegará una pantalla en la que deberá seleccionarse el rango de datos a analizar: Para ello deberá pulsarse el botón y seleccionar el cursor, y arrastrar hasta la celda deseada, como se muestra a continuación:

Figura 39. Creación de Tabla dinámica.

Observar que Excel ofrece la alternativa de crear la Tabla Dinámica en la misma hoja o en una nueva, asi también, el análisis de varias tablas.

La forma más rápida y directa de creación de Tabla dinámica es la sucesión de las teclas Alt B B A, con las que automáticamente se incluye el origen de los datos.

Es importante señalar que para poder modificar una Tabla Dinámica ha de tener el cursor siempre sobre una de ellas.

Figura 40. Diseño de la Tabla Dinámica a partir de los campos y datos de la Hoja de Cálculo.

De no ser así los Campos de la Tabla Dinámica desaparecerían. Las áreas de trabajo son:

Figura 41. Areas de Diseño de Tabla Dinámica.

Creando una tabla dinámica a través de la inserción de campos en el área de creación:

Existen 3 formas para diseñar o crear una tabla dinámica, a saber, 1) arrastrar el campo al área de valores, 2) marcar haciendo clic en el recuadro del campo en cuestión y 3) dando clic derecho a cada campo se desplegarán las 4 alternativas de diseño, es decir: a) filtro, b) etiqueta o rótulo de columna, c) etiqueta o rótulo de fila y d) valor.

Por ejemplo, de los campos seleccionar Utilidad, genera el siguiente reporte:

Figura 42. Agregando al área de Filas, el campo País muestra

Figura 43. Realizando Filtros al incorporar los campos en las áreas de diseño.

Una de las columnas, Tipo de Cliente, permite por la frecuencia con la que usan el servicio, distinguirlos de entre: Muy frecuente, muy poco frecuente, poco frecuente, frecuente y promedio.

Figura 44. Tabla Dinámica resultante de incorporar el campo Tipo Cliente.

Si se agregase al área de diseño, en Columna el tipo de cliente, se generaría el siguiente informe:

Figura 45. Tabla Dinámica resultante de incorporar campo País en el Area Filas.

Actualización de las Tablas Dinámicas

Para tener acceso a esta propiedad debe estar activada la celda en la Tabla Dinámica, con lo que el panel de diseño y descripción de campos estará visible y también en la pestaña de Analizar y Diseño de Tablas Dinámicas.

Figura 46. Cómo Actualizar Tablas Dinámicas Relacionadas.

También está disponible Actualizar Todo que permitirá la actualización de todas las Tablas Dinámicas relacionadas.

Cuando se requiere modificar el rango u origen de los datos para la Tabla Dinámica y se actualice apropiadamente considerando esta modificación, deberá realizase a través del siguiente botón de la pestaña Analizar:

Figura 47. Automaticación de la actualización de Tablas Dinámicas.

Es posible en automatizar la actualización de las tablas dinámicas, utilidad que se emplea cuando continuamente se agregan o modifican datos de grandes volúmenes de libros y hojas de cálculo. Para ello deberá seleccionarse en la pestaña de Fórmulas, la opción Definir Nombre, como sigue:

Figura 48. Medida Definir Nombre, para establecer el origen de los datos a actualizar en forma automática.

En el campo Se refiere a:

=DESREF('Telefonía Datos'!$A$1,0,0,CONTARA($A:$A),CONTARA($1:$1))

A continuación, deberá actualizarse la tabla ya sea con la combinación de teclas Alt+F5 o recurriendo a la pestaña Analizar y ahí seleccionar Actualizar. Con lo anterior, la tabla dinámica se actualizará en cuanto los datos sean modificados.

Una vez creado el rango de origen de datos con un nombre, éste se puede escoger de entre una lista que se despliega a través de las teclas ALT F3.

Pero una manera más cómoda y rápida para hacer actualizaciones en una tabla dinámica sería poner los datos en una tabla de Excel; la combinación de las teclas Ctrl y la letra T, solicitará a través de una ventana el rango de los datos, al marcarlo todo y dar Enter, se convertirá.

Figura 49. Otra forma de actualizar los datos de una tabla dinámica.

Notar la conversión de la lista de datos a tabla, con la flecha azul se señala el nombre de ella; y las etiquetas de las columnas tiene flechitas que se señalan con las rojas, que poseen la propiedad que permite realizar ordenamientos y filtros. Una vez que se ha convertido en tabla la lista de datos, deberá cambiarse el origen de los mismos y actualizar con ALT F5.

Figura 50. Cambio de de origen de datos para actualizar los datos de la Tabla Dinámica en una tabla

Figura 51. Areas de colocación, en las que se crean las Tablas Dinámicas.

Las áreas de colocación se encuentran en el panel de campos, en la parte inferior derecho del diseño de tablas, y son FILTROS, COLUMNAS, FILAS Y VALORES.

VALORES: en él se incluyen los campos de los que se desea realizar cálculos, sumas, promedios, etc. Se pueden agregar varios y deben ser completamente numéricos.

FILAS: en este campo la tabla dinámica calcula y organiza verticalmente las subcategorías de los campos agregados.

COLUMNAS: muy parecido al de las filas pero calcula y organiza las subcategorías horizontalmente.

Ejemplo: En el campo Valores: Utilidad; campo Filas: País y en el campo Filas: Tipo de Cliente, quedaría:

Figura 52. Ejemplo de Tabla Dinámica con datos en Columnas, Filas y Valores.

La tabla dinámica muestra, la organización de los valores numéricos del campo País, subcategorizados verticalmente (Brasil, Chile y Colombia) por la ubicación de este campo en el área de colocación Filas; los valores numéricos del campo Tipo de Cliente subcategorizados horizontalmente (Frecuente, Muy Frecuente, Muy Poco Frecuente, Poco Frecuente y Promedio) por la ubicación de éste en el área de colocación Columnas.

En el área de colocación Valores se ubicó o agregó el campo Utilidad, que por defecto Excel calcula suma, o totaliza, de manera tal que las celdas G5, G6 y G7 contienen el cálculo de la suma de la utilidad de Brasil, Chile y Colombia respectivamente. Las celdas B8, C8, D8, E8, F8 a su vez, totalizan por Tipo de Cliente las utilidades, es decir: Frecuente, Muy Frecuente, Muy Poco Frecuente, Poco Frecuente y Promedio. Por último, la celda G8 contiene el Total General de la Utilidad de la Hoja Telefonía de Datos.

El área de colocación Filtros permite, tamizar o depurar en subcategorías de los campos que se requieran. En la hoja de cálculo en comento, los datos de calidad pueden ser de tres tipos: Mala, Regular y Buena; para que la tabla dinámica realice el cálculo de las utilidades de acuerdo a ese filtro: agregar el campo calidad al área de Filtros (en el área de la tabla dinámica, arriba de la misma, se mostrarán en las celdas A1 y B1 Calidad y una Celda Activa (campo objeto lista) que muestra la palabra (Todas) y como señala la flecha, permite al darle clic al botón de selección escoger la característica a filtrar o depurar en el área de datos de la tabla.

Figura 53. Ejemplo de Tabla Dinámica incluyendo Filtros

Si se dejasen marcados todos los campos no se aplicará ningún filtro por lo que la tabla dinámica no mostraría ningún cambio en las utilidades.

Para el caso en el que se opte por alguna, por ejemplo, REGULAR, implicará una actualización y los valores numéricos de la tabla cambiarán. La tabla filtrada quedaría como se muestra:

Figura 54. Tabla Dinámica aplicando Filtro Calidad Regular.

La celda G8 del Total General cambió de 2061451140 a 330045940, así como todas y cada una de las celdas que contienen valores numéricos del rango de celdas que va de la B5 hasta la G7. Y que el ícono de la celda B1 cambió de flecha a embudo hacia abajo, lo que implica la aplicación de un filtro.

Es posible agregar múltiples campos a las áreas de colocación según se requiera, así también indicar el orden de subcategorización en función del diseño que se necesite. El orden de los campos en las áreas de colocación se modifican moviendo el cursor con el botón izquierdo del mouse. Un ejemplo de la hoja de cálculo de Telefonía de Datos muestra una tabla dinámica que contiene la totalización de la Utilidad y Costo en el área de Valores que por defecto calcula sumas, y el diseño incluye las subcategorizaciones de los campos País y Ciudad en el área Filas, lo que ocasiona que por cada país y cada ciudad se destine una fila, en el orden en el que agregan los campos, es decir, cada país, y las ciudades de ese país a continuación; en el área de Columnas, están los campos Quejas y Tipos de Clientes, por lo que para cada tipo de Queja, No, se destinarán sendas columnas para todos y cada uno de los Tipos de Clientes: Frecuente, Muy Frecuente, Muy Poco Frecuente, Poco Frecuente y Promedio y nuevamente, para el tipo de Queja Si, todos y cada uno de los Tipos de Cliente.

Figura 55. Ejemplo de Tabla Dinámica con varios campos en las áreas Filas, Columnas y Valores.

Para calcular las utilidades por capital de cada uno de los países, en el mes de febrero para los clientes Promedio, se pueden realizar filtros manuales directamente en los botones de lista de los campos correspondientes: En el área de Valores, agregar el campo Utilidad, como sólo deberá mostrar las utilidades de los clientes promedio, en el área de Columnas agregar Tipo de Cliente; para que se puedan mostrar las capitales de los países, en el área de Filas agregar el campo Ciudad y para que se muestren o calculen los datos referentes a Febrero, en el área de Filas, agregar el campo Mes. Para que la tabla dinámica contenga reporte exclusivamente de las utilidades del mes de Febrero, al filtro deberá explícitamente seleccionar de manera manual el mes de Febrero, como se muestra:

Figura 56. Tabla Dinámica aplicando filtro de Mes, en este caso Febrero.

Para incluir en la Tabla Dinámica solamente los Clientes tipo Promedio, seleccionar manualmente la característica. Para ello deberá darse clic al botón del cuadro de lista de la Etiqueta de Columnas.

Figura 57. Tabla Dinámica que incluyen los Clientes tipo Promedio.

Y en cuadro de lista Etiquetas de fila, seleccionar sólo las capitales (flecha roja). Nótese cómo los campos, en el área de Campos de tabla dinámica tienen íconos indicando que son campos filtro, indicados con flechas azules:

Figura 58. Tabla Dinámica con especificaciones de Campos tipo filtro.

Aunque por defecto Excel calcula sumas o totaliza los campos numéricos que se agregan al área de Valores, es posible realizar otras operaciones. Supóngase se requiere un Reporte o Tabla Dinámica que indique por cada País, la cantidad o número de llamadas: para ello, en la flecha del cuadro o ventana de lista dar clic botón izquierdo y escoger Configuración del Campo Valor, se desplegara otro cuadro o ventana de lista, escoger:

Figura 59. Tabla Dinámica en la que se configura el campo valor.

De lo anterior queda la tabla dinámica muestra las incidencias (cuenta todas las llamadas realizadas desde el país Brasil, Chile y Colombia respectivamente:

Figura 60. Tabla Dinamica filtrada con especificaciones de País.

Figura 61. Tabla Dinámica que calcula el promedio de los ingresos que se generaron por país

Si se requiriese calcular este ingreso, identificando y atribuyendo éste a cada ciudad y por Tipo de Cliente: agregar campo Tipo de Cliente en el área de Columnas, eliminar en el área de Filas el campo País y agregar en su lugar el campo Ciudad, a saber:

Figura 62. Tipo de Cliente como columna de todas las Ciudades.

La duración de llamada más larga y la de la más corta por país implica dar clic en el cuadro de lista, en la flecha y se depliega lista de alternativas, escoger Resumir Valores Por, optar por Max:

Figura 63. Identificando la llamada más larga y la más corta.

De lo anterior, la Tabla Dinámica queda así:

Figura 64. Tabla Dinámica resultante de la aplicación de Resumen de Valores.

Cáculo del porcentaje con el que contribuyó cada país a la Utilidad Total, en el Area de Colocación Valores, agregar el campo Utilidad, en el área de Filas, País y para calcular los porcentajes, dar clic derecho en cualquiera de los datos de la columna Suma de Utilidad, se desplegará una ventana con alternativas, seleccionar Mostrar Valores Como y se desplegará otra ventana con otras alternativas a escoger, para el caso, % del Total General:

Figura 65. Tabla Dinámica, seleccionando muestra de valores en diferentes.

Y la Tabla Dinámica queda:

Figura 66. Aplicación de valores en porcentaje.

Para calcular el porcentaje con el que contribuyeron los clientes frecuentes para cada país, dar clic derecho en el cualquiera de los datos de la columna de clientes tipo frecuente, y seleccionar Mostrar Valores Como y seleccionar % Total de Columnas:

Figura 67. Tabla Dinámica, seleccionando el porcentaje del total de columnas.

Figura 68. Tabla Dinámica con el porcentaje con el que contribuye cada tipo de cliente a la utilidad total de Colombia.

En el diseño de Tablas Dinámicas existen Filtros de Campo, Segmentación, y Escalas o Segmentación de Tiempo. Los Filtros de campo están dispuestos precisamente en las celdas, pueden ser tanto de Valor como de Etiqueta; para tener acceso, dar clic derecho sobre el boton de lista de la Etiqueta, ya sea de Filas o de Columnas, como se muestra y para cada una de esas opciones, se desplegará una amplia gama de posibilidades.

En el caso en el que campos tipo fecha se agreguen a las áreas de colocación de Filas o de Columnas, Excel ofrece filtros de fecha como se muestra:

PENDIENTE : https://www.youtube.com/watch?v=bFUnMX8n6Ag&index=8&list=PLba-ZvOQ-JvOv6W6fzTGe35jgi_UK3JtT

La empresa desea conocer la siguiente información:

a. Cuanto fue la utilidad generada por los clientes promedio en cada una de las capitales de los distintos países en el mes de febrero.

i. ¿Qué capital fue más rentable?

ii. ¿Qué porcentaje contribuyeron a la utilidad total las ciudades de concepción, Bucaramanga y fortaleza?

b. Se desea conocer cuáles fueron las quince ciudades que mas contribuyeron a las utilidades totales de la compañía , además de saber el orden y en qué porcentaje contribuyo cada una respecto a al contribución total de cada cliente

c. Se desea conocer en qué ciudades de destino está distribuido el 75% de los ingresos

Para calcular el promedio de llamadas no exitosas en cada ciudad de cada país de los distintos tipos de cliente que reportaron quejas? Nota: Un cliente hablo de forma exitosa si la calidad de la llamada fue BUENA, si fue MALA o REGULAR no fue exitosa.

Cuando la Tabla Dinámica no muestra la subcategorización de los Filtros, se hace necesaria la SEGMENTACIÓN, para ello, en la pestaña Analizar, en el grupo Filtrar, hacer clic en Insertar Segmentación de Datos:

Obsérvese que en el momento en el que se crea la segmentación, la vista de trabajo se modifica y se despliega la de Opciones, que le son particulares a la segmentación, dado que allí se puede modificar la configuración de la misma:

Esta herramienta de Excel, permite en la Tabla Dinámica, mostrar los datos que corresponden a Buena Calidad, al darle clic al Botón BUENA; de manera automática muestra los que corresponden a Mala y Regular al optar por los botones MALA y REGULAR respectivamente.

Si el cursor está ubicado en el segmento de datos, la pestaña de Opciones está activa y ofrece la posibilidad de configurar diseño y caracteristicas del Segmento de Datos de la Tabla Dinámica, como se muestra en la siguiente vista:

Otra herramienta de las Tablas Dinamicas es la de insertar o incluir Escalas de Tiempo, para analizar de manera directa y automática los datos de la Tabla en los tiempos marcados en dicha escala, en el ejemplo que se estaba empleando, obsérvese que se agregan a las áreas de colocación de Valores la Utilidad, en la de Filas el Año y en la de Columnas el Tipo de Cliente; dado que en el área de filas está el campo Año, las filas de utilidad por cada Tipo de Cliente (Columnas), tiene como dato una fecha, recuérdese que la Hoja de Cálculo que se está empleando una que está disponible en la Red de Internet a través de un blog de Excel, y contiene 467498 filas por 13 columnas. Esta útil herramienta permite de un solo clic tener una Tabla Dinámica de algún més en particular o de 2 o más meses si se marca con el cursor los meses requeridos, además de que en la objeto de la escala de tiempo también se puede modificar a dias, meses, trimestre o años.

Otra útil herramienta de análisis de las Tablas Dinámicas es la de Agrupar, por ejemplo, si el campo de la Hoja o Tabla de Cálculo está en formato fecha, es posible obtener vistas en las Tablas Dinámicas que muestren los datos agrupados por segundos, minutos, horas,, días, semanas, meses, trimestres y años.

Sd

Así como también es posible, agregar otro tipo de agrupación, además de agruparlos por año, también por mes, para lograrlo, ubicar el cursor en cualquier celda del área de la Tabla Dinámica, dar clic derecho en el botón flecha del campo y escoger el modo deseado. Para el ejemplo se requiere por año y mes, lo cual quedaría así: (Obsérvese que el área de Columnas, muestra dos veces el campo año).

Dependiendo de las necesidades, cuando el cursor está sobre la celda, la activa y al darle clic derecho agrupar, dependerá del tipo de dato que contenga la celda la variedad de agrupación que permita, a saber: fechas, numéricos, así como también lo indicará cuando no sea propia la agrupación. Nota: la agrupación por defecto es de rangos de igual longitud, sin embargo, las subcategorías pueden ser variadas en cuanto a sus valores iniciales o finales también.

Si después de clasificada o agrupada en subcategorizaciones se requiere ordenar la Tabla Dinámica, la pestaña Datos no muestra activados los filtros dada su condición, por lo que ha de ubicarse el cursor en la celda inmediata siguiente (adyacente) derecha superior a la tabla, con lo que Excel permite y dispone la gama de AutoFiltros. (otra medida alterna pero más tardada implicaría copiar la Tabla como Datos en otra sección de la Hoja y aplicar el filtro de ordenamiento requerido.

En los casos en lo que se requiera realizar agrupaciones con rangos diferentes, deberá marcarse el rango, y en la pestaña Analizar, seleccionar Agrupar y Aceptar, con lo que se creará un Grupo exprofeso, con el rango particular deseado. Al darle doble clic a la celda denominada Grupo# permitirá contraer o desplegar el rango de celdas agrupadas. El nombre del grupo, o categorización puede ser modificado directamente en el modo de edición de celdas.

Por último, con respecto a las agrupaciones, Excel también ofrece la posibilidad de agrupar por texto, además de números y fechas. Para ello, basta seleccionar las celdas que se requiere agrupar, dar clic derecho, Agrupar ó, después de seleccionar, pestaña Analizar, Agrupar. Notas: importante el hecho de contar con tablas efectivas, es decir, datos consistentes, del mismo tipo, sin errores u omisiones de datos y, que es posible modificar nombre de grupos así como también contraer o no los grupos para se muestren o no las celdas en la vista de la Tabla Dinámica.

Aspecto, diseño, estilo y formatos condicionales en las Tablas Dinámicas.

Para la presentación y aspecto del Informe o Tabla de Diseño, en la pestaña Diseño Excel ofrece una amplia gama de patrones y estilos que combinan colores, líneas, recuadros y vistas variadas para seleccionar según los requerimientos y gusto personal. Por lo que una vez insertada la tabla (Origen de datos de Hoja u Hojas de Cálculo), dar clic en la pestaña de Diseño para proceder a seleccionar:

Nótese que además de formatos preestablecidos, pueden modificarse detalles como los encabezados de las filas o columnas, bandas a las filas o a las columnas, agregar filas en blanco, diseños diversos de Informe (formas Compacta, Esquema, Tabular, Repitiendo etiquetas de elementos o no), subtotales, totales, etc.

La configuración de los datos contenidos en las celdas de las Tablas Dinámicas han de ser formateados independientemente de que en el Origen de los Datos lo estén, para ello, deberá dar

clic derecho sobre el dato, escoger la alternativa Configuración del Campo Valor y proceder como si se tratase de un valor de Hoja de Cálculo.

Formato Condicional en Tablas Dinámicas

Deben seleccionarse con el cursor las celdas de datos, excluyendo los totales y subtotales, tanto de filas como de columnas (usar Ctrl – cursor), en la pestaña de Inicio, en el Botón de Formato Condicional se desplegarán alternativas prediseñadas, para el caso se ha escogido de Reglas Superiores e Inferiores, Por Debajo del Promedio; el ejemplo muestra las utilidades por debajo del promedio en rosa:

Es importante considerar, que cuando existan modificaciones, adición o eliminación de datos en el Origen de los Datos, la Tabla Dinámica no reconocerá éstos, por lo que habrá de realizarse medidas a través del Modificador de Reglas Dinámicas, una de las alternativas que se despliega en la pestaña Inicio, Formato Condicional, Administrar Reglas.

Para modificarlas seleccionar Editar Reglas e incluir los cambios.

Otra herramienta de mucha utilidad para las Tablas Dinámicas es la de Ordenar, para ello, además de activar la celda del campo en cuestión, dar clic en la pestaña Datos, y escoger ascendente o descendente según se requiera, tanto para valores numéricos como de texto; también es posible a través de la pestaña Inicio, Botón Ordenar y Filtrar.

1.6 Macros

Una Macro está conformada por una serie de sentencias de código de algún lenguaje de programación estructuradas y ordenadas que se almacenan y ejecutan con algún clic, alguna combinación de teclas, un botón, una tecla particular o un comando.

Estas pueden ser implementadas en otras aplicaciones de Microsoft Office, como Word, Project, Access, además de Excel y otros inclusive externos Photoshop y aplicaciones del grupo Open Office. Los lenguajes de programación pueden ser visual Basic, C# o C++; para el caso de Excel 2013, es una aplicación integrada en VBA 5.0.

Con el desarrollo e implementación de las macros es posible automatizar tareas, diseñar herramientas metódicas, potencializar características o propiedades de las aplicaciones del paquete Office e incluso diseñar y establecer funciones específicas y personalizadas.

Es importante señalar, que por defecto, cuando se crea o inicia un libro de Excel, la pestaña Desarrollador que contiene los grupos e íconos para la creación, diseño y operatividad de las macros no está disponible.

Para activar dicha pestaña ha de darse clic en el botón de Personalizar Barra de Herramientas de Acceso Rápido para que al desplegarse pantalla en forma de lista, se pueda acceder a Más Comandos y en el rubro Personalizar cinta de opciones marcar la casilla de activación de Desarrollador ó, alternativamente, dar Clic derecho sobre cualquier pestaña, Personalizar cinta de opciones y activar el Desarrollador. Las acciones antes señaladas ocasionarán, que la barra de Menúes de Excel quede como se muestra:

Son dos Formas las que se pueden seguir para Crear Macros, la manual y la automática. La más sencilla, la automática o Grabadora de Macros, consiste en crear o generar código sin necesidad de conocimientos de VBA en los módulos. Consiste en captar mediante código los pasos que se van ejecutando en Excel. Sin embargo, existen limitaciones pues éstas solamente pueden grabar acciones

directas, no permite incluir decisiones, esto implica que Excel recuerde o guarde una secuencia de acciones que se realizan indicando inicio y fin de ésta.

Para ejemplificar esta forma, en el grupo Código de la pestaña Desarrollador, dar Clic en la opción Guardar Macro y se desplegará ventana en la que deberá indicarse el nombre de la macro, la Letra con la que se combinará la tecla Ctrl para ejecutarla, el lugar en el que se guardará la macro y la descripción de la misma.

A continuación habrán de realizarse las acciones que coadyuven a lograr el propósito de la macro y finalmente.

Una vez realicen las acciones deseadas, seleccionar Detener Grabación. En lo subsiguiente, podrán realizarse todas ellas a través de la combinación de las teclas Ctrl-(Letra), método abreviado para ejecutar dicha macro.

Cabe aclarar, que cuando se implementan macros en un libro, el archivo que los contiene no podrá guardarse o grabarse convencionalmente, Excel, solicitará confirmación para incluir éstas, y el archivo tendrá otra extensión según su contenido y función primaria: xlsx, xlsm, xlsb y xls; libros con macros con o sin grandes volúmenes de datos y hojas, etc. Así también, en tanto esté

abierto un libro que contiene macros, éstas se podrán aplicar en otros libros.

Referencias Absolutas y Relativas

Cuando se graban las macros, por defecto éstas se aplican en referencias absolutas, cuando se requiere hacerlo en celdas diferentes a las que fueron creadas, es decir, hacer flexibles las mismas, han de seguirse las siguientes acciones: en el Grupo Código de la Pestaña Desarrollador, hacer Clic en el botón Usar Referencias Relativas, y a continuación Grabar Macros; realizar las acciones requeridas o deseadas, y para terminar de Grabar macro, dar Clic en el ícono cuadrado blanco de la Barra de Estado (extremo superior izquierdo). Con lo anterior, la macro podrá aplicarse en celdas diferentes a las originalmente determinadas.

La otra manera, que sí requiere conocimientos de lenguajes de programación es a través del Editor de Visual Basic (VBE - Visual Basic Editor). Es un programa o aplicación independiente que ofrece Excel para desarrollar las acciones o funciones en Lenguaje o código Visual Basic (VB) que permitan escribir, editar, exportar, importar y documentarlo siguiendo específica sintaxis y metodología. Para su efectivo funcionamiento ha de ejecutarse dentro del entorno de Excel.

Acceso al desarrollador de Visual Basic

Dar clic a la pestaña Desarrollado, y en el grupo Código, optar por el Botón Visual Basic; aunque también se puede a través de dar Modificar en el botón Macros de la pestaña Vista.

Componentes básicos

Barra de menúes (Archivo, Edición, Ver, Insertar, Formato, Depuración, Ejecutar, Herramientas, Complementos, Ventana y Ayuda.

Barra de herramientas que agrupa comandos por funcionalidad (Depuración, Estándar, Edición y UserForm), la Estándar está activa por defecto.

Explorador de proyectos que contiene la estructura de los proyectos en forma de lista de árbol. Cada uno de los libros de Excel y complementos abiertos, visibles u ocultos es un proyecto VBA, cada proyecto es un conjunto de objetos con un propósito particular. A su vez, cada Proyecto en el explorador de proyectos ha de contener carpetas o nodos que a su vez contienen objetos ordenados de manera específica, a saber:

a) Microsoft Excel Objetos contiene todas las hojas de cálculo y las hojas de gráfico del archivo de Excel asociado, además de contener y el objeto ThisWorkbook que tienen cada uno una ventana de código.

b) El nodo Módulos contiene los asociados al proyecto. Los módulos se pueden crear manualmente y también cuando se crea una macro utilizando la grabadora de macros.

c) Otro tipo de nodo en un proyecto VBA, los Userforms, que agrupa los cuadros de diálogo personalizados. Por último, la Ventana de código, en la que se desarrolla el código Visual Basic de cada objeto e ítem de la macro a implementar.

Los Módulos son espacios creados en un Libro de Excel a través del Editor de Visual Basic que contienen procedimientos, es decir código de programación (todo el contenido de la aplicación o repartido en distintos módulos aunque agrupados bajo algún criterio y pueden ser de tipo Estándar (código) o de Clases (objetos propios).

Dado que un objeto es la existencia de algo en el contexto de un Sistema, cada módulo en el entorno del Editor de Visual Basic estará asociado a un objeto (cabe comentar, que los objetos pueden importarse o exportarse en el entorno de los proyectos activos a través de la pestaña Archivo).

Los módulos, como ya se mencionó, contienen código, es decir procedimientos,

1.7 Aplicaciones.

Cada objeto de Excel tiene propiedades y métodos. Las propiedades son las características del objeto y los métodos son las acciones que el objeto puede hacer. Las propiedades de los objetos son las características atribuibles a éstos y los describen propiamente. Los métodos de los objetos son las actividades o acciones atribuibles o que lo identifican en cuanto a su función u operatividad.

Sintaxis para emplear las propiedades y los métodos

La nomenclatura específica exige escribir después del nombre del objeto un punto seguido del nombre de la propiedad o del método. Para atribuir la propiedad Value para la celda A1:

Range("A1").Value = "Hola" con lo que se asigna la palabra Hola al valor contenido en la celda A1.Luego para realizar un método como sería la acción de borrar ese valor, se puede emplear Clear de la siguiente manera: Range("A1").Clear

El Editor de Visual Basic muestra al momento de escribir el código la lista completa de propiedades y métodos para un objeto, específicamente al detectar el punto (.) que forma parte de la sintaxis y

además, es posible distinguir entre propiedades y métodos pues tienen íconos diferentes, como se muestra a continuación, los métodos son verdes.

El Editor de Visual Basic

Como antes se señaló, para desarrollar el código para los módulos en VBA, es necesario contar con conocimientos de programación, los que se adquirirán a lo largo de este libro de texto, por lo que se hace la referencia a continuación del lenguaje VBA 5.0 que emplea Excel para el caso que se quiera explorar: http://msdn.microsoft.com/es-ES/library/ee861528(v=office.15).aspx