Excel Avanzado - Coca Cola 2007

ÁREA ADMINISTRACIÓN Y NEGOCIOS Edición N°1 Lugar de Edición INACAP Capacitación Revisión N°0 Fecha de Revisión JULIO DE

Views 51 Downloads 9 File size 1016KB

Report DMCA / Copyright

DOWNLOAD FILE

Recommend stories

Citation preview

ÁREA ADMINISTRACIÓN Y NEGOCIOS

Edición N°1 Lugar de Edición INACAP Capacitación Revisión N°0 Fecha de Revisión JULIO DE 2007 INACAP SEDE LA SERENA

Página 2 de 35

Í

N

D

I

CONTENIDOS

CAPÍTULO I INTRODUCCIÓN • •

• • •

02

03

13

ASISTENTE PARA CREAR TABLAS DINÁMICAS ACTUALIZAR TABLAS DINÁMICAS ELIMINAR TABLAS DINÁMICAS

CAPÍTULO IV MACROS • • • •

PÁGINA

FUNCIONES LÓGICAS FUNCIONES SI LÓGICAS FUNCIONES LÓGICAS ANIDADAS FORMATO CONDICIONAL FUNCIONES ESTADÍSTICAS FUNCIÓN BUSCARV Y BUSCARH

CAPÍTULO III TABLAS DINÁMICAS • • •

E

COORDENADAS RELATIVAS COORDENADAS ABSOLUTAS

CAPÍTULO II FUNCIONES • •

C

26

EJECUCUIÓN DE UNA MACRO OBJETOS UTILIDADES PROGRAMACIÓN DE UNA MACRO

Página 2 de 35

CAPÍTULO I / INTRUDUCCIÓN Las hojas de cálculo de Microsoft Excel permiten una gran cantidad de funciones divididas en categorías, quiere decir que permite hacer cálculos financieros, manipulamiento de fechas y horas, realizar operaciones matemáticas y trigonométricas, como también hacer estadísticas, realizar búsquedas de datos en las hojas, manejar bases de datos y por último tratamiento de textos, funciones lógicas y obtener información de las celdas.

COORDENADAS RELATIVAS Y ABSOLUTAS Dirección Relativa : Corresponde a las coordenadas que se indican en fórmulas/funciones y aparece solo la columna y fila (A1). Al copiar esta celda a un rango ella varia con respecto a la fila (A2;A3;A4;A5;etc) Dirección Absoluta : Corresponde a las coordenadas que se indican en fórmulas/funciones y aparecen indicadas la columna y fila entre símbolos $ ($A$1) Coordenadas Relativas. Son coordenadas que en una fórmula se utiliza para ser copiada, ésta va variando su fila de 1 en 1. Ej.: A5

Coordenada con dirección relativa.

Copia con dirección relativa.

Página 2 de 35

Coordenadas Absolutas Corresponden a aquellas en que las coordenadas al ser utilizada en una fórmula no varia, queda fila al ser copiada, ésta coordenada para que no varíe debe tener la siguiente forma: $A $5

Nota: una forma fácil de dejar la coordenada en dirección absoluta, es una vez digitada, presionar la tecla F4.

CAPÍTULO II / FUNCIONES Las funciones de la planilla Excel son herramientas especiales que permiten efectuar cálculos complejos en forma rápida y sencilla. Las funciones se ingresan en una celda y es en la misma en donde entrega el resultado. Excel dispone de diversas categorías de funciones las que pueden ser invocadas desde la Barra de Herramientas bajo el icono fx. El formato de toda función de Excel es.:

-

El símbolo = : Permite interpretar el ingreso como función y no como texto.

-

El nombre de la función : Corresponde a la función que se desea realizar.

Los argumentos : Son opcionales y depende de la función que se esté utilizando, éstos pueden ir separados por un “;” o por “:” dependiendo de la función. Los argumentos pueden ser números, referencias de celdas, texto, condiciones, nombre de celdas, etc.

FUNCIÓN LÓGICA.

Página 2 de 35

Consiste en utilizar condiciones lógicas en una planilla, utilizando la función lógica llamada SI. Existen los llamados SI simples que permiten comparar, utilizando condiciones lógicas. Para estas funciones se utilizan los llamados operadores lógicos que son los siguientes.:

OPERACIÓN Mayor que Menor que Mayor o igual que Menor o igual que Distinto a Igual a

OPERADOR > < >= 800000;D2*10%;D2*5%)

Es decir en la columna E, hay un impuesto a cobrar a

todos los productos que tienen un valor mayor a 800.000. el impuesto es de un 10% si es sobre $800.000, en caso contrario es de 5%.

Función Si

Página 2 de 35

Función lógica que devuelve un valor determinado si la condición que ponemos es verdadera o devuelve otro valor si la condición es falsa, la estructura de los parámetros es diferente al de la función Suma, para empezar ejecutemos Insertar -> Función, e el cuadro de Categoría seleccionar Lógicas y en el cuadro de la derecha seleccionar la función SI, aparecerá una ventana parecida a la siguiente:

En la primera celda se debe poner la condición que se compone de mínimo dos valores lo cuales se comparan mediante signos de igualación, mayor que, menor que, etc. Para empezar se creará una condición de solo dos valores, los valores pueden ser explícitamente números o texto, pero también pueden ser celdas o el resultado de otra función, la condición que aparece en la ventana anterior significa "Si el valor de B11 es mayor que 0", a continuación se debe introducir el valor que se quiera que aparezca cuando esta condición sea verdadera, y en la tercera celda se pondrá el valor que aparecerá cuando la condición sea falsa. Este ejemplo se puede ver en el archivo de ejemplos que bajaste anteriormente en la hoja llamada "SI" .

Funciones anidadas

Página 2 de 35

Una función anidada quiere decir que contiene otra función dentro de sí misma, también utiliza cuando se tienen tres o mas alternativas de proceso. SINTAXIS =SI(condición ; instrucción 1 ; SI(condición ; instrucción 2 ;SI( condición ; instrucción 3 ; .....))) F

V

F

v

Condicionalidad con uso de conectores Se utiliza cuando se requiere definir procesos alternativos bajo la verdad o falsedad de dos o mas condiciones. CONECTORES

SINTAXIS

=SI(Y(condición 1;condición 2); operación 1;operación 2) Y O

Y lógico Ó lógico

=SI(O(condición 1;condición 2);operación 1;operación 2)

También se puede utilizar otras funciones anidadas, dentro de la misma condición, como por ejemplo:

Página 2 de 35

En la ventana anterior se tiene dos funciones que intervienen, la función SI y PROMEDIO, tiene como objetivo informar con un mensaje al usuario el promedio de los valores de un conjunto de celdas de la hoja Suma. Para hacer esto primero debe ir a Insertar > Función y luego seleccionar la función SI, debe de aparecer una ventana como la anterior pero sin nada en las celdas, después en la celda de Prueba_lógica clic para luego insertar allí la función PROMEDIO, para ello seleccionamos se despliega la lista que aparece a la izquierda de la barra de fórmulas y seleccionamos la función PROMEDIO.

Luego de esto aparecerá la ventana correspondiente a la función PROMEDIO, donde se tiene que indicar a cuales celdas se le calculará el promedio, en este caso será a el rango de A9 a D9 de la hoja Suma, para hacer esto se puede digitar manualmente lo que sale en la celda Numero1 o hacer clic en el botón que aparece a la derecha de ésta y a continuación ir a la hoja Suma y seleccionar dichas celdas y por último presionar ENTER. Hasta aquí la función PROMEDIO estará concluida, ahora solo se presiona el botón aceptar para regresar a la función SI.

Página 2 de 35

Ahora muestra una ventana parecida a la siguiente, con la función PROMEDIO dentro de la celda Prueba_lógica de la función SI. Pero para que la condición esté completa hay que comparar el valor que devolverá la función PROMEDIO con otro valor en este caso 400, quiere decir que "si el valor que devuelve la función PROMEDIO es mayor o igual que 400".

Por último falta escribir los valores que la función SI devolverá en caso de que la condición sea FALSA o VERDADERA. Hasta aquí todo quedará como la ventana que muestra al principio. Esto explica la forma de anidar función pero no precisamente se tiene que limitar a solo dos

Página 2 de 35

funciones pueden ser más, además también se pueden agregar más funciones en las celdas Valor_si_verdadero y Valor_si_falso.

FORMATO CONDICIONAL El formato condicional permite determinar el formato de una celda en función de su contenido. Por ejemplo, se puede presentar la información sobre las ventas de este año en azul y negritas si son más altas que las del año pasado y en rojo y cursiva si son más bajas. Para aplicar un formato condicional se debe: 1. Seleccionar la celda o rango a la que se aplicará el formato. 2. Elegir el comando Formato Condicional del menú FORMATO. 3. Establecer dentro del cuadro de diálogo las condiciones que definirán el criterio de selección. 4. Hacer clic en el botón Formato para configurar las características que tendrán las celdas que cumplan la condición. NOTA: Se pueden

establecer hasta tres condiciones. El formato condicional solo funciona si se introducen los datos manualmente o si son el resultado de una fórmula. No funcionan si se copia un dato a esa celda.

Página 2 de 35

FUNCIONES ESTADÍSTICAS 1) =CONTAR(rango) : Permite contabilizar la cantidad de celdas numéricas especificadas en el argumento. Síntaxis: =CONTAR(Rango) =CONTARA(Rango) El primero cuenta las veces que aparece un elemento numérico en una lista y el segundo elementos de texto. 2) =CONTARA(rango) : Entrega la cantidad de celdas no vacías en un rango. 3) =PROMEDIO(rango) : Determina la media aritmética de un conjunto de celdas numéricas. Síntaxis: =PROMEDIO(Número1;Número2;...) Función que devolverá la media aritmética de los números o el rango encerrado entre paréntesis. Ejemplo: =PROMEDIO(12;12;13) devolverá 12,33333 =PROMEDIO(A1:D13) devolverá el promedio del rango A1:D13 4) =MAX(rango) : Permite obtener el valor más alto de un conjunto de celdas numéricas. Síntaxis: =MAX(Números)

=MIN(Números)

Estas funciones devuelven los valores máximo y mínimo respectivamente de una lista de números. Ejemplo:

Página 2 de 35

5) =MIN(rango) : Permite obtener el valor más bajo de un conjunto de celdas numéricas.

FUNCION BUSCARV ( ) Examina la columna extrema izquierda de una matriz en busca de un valor específico y devuelve el valor en la celda indicada. Su sintaxis es: buscarv (valor_buscado, matriz_buscar_en, indicador_columna, ordenado) Donde “valor_buscado” es el valor a buscar en la primera columna de la matriz. Puede ser un valor, una referencia o una cadena de texto entre comillas.“matriz_buscar_en” es la matriz de información donde se buscan los datos. La búsqueda siempre es con base a la primera columna de esta matriz.“indicador_columna” es el número de columna en “matriz_buscar_en” desde la cual deberá devolver el valor coincidente. Si “indicador_columna” es 1, devolverá el valor de la primera columna de “matriz_buscar_en”, si es 2 devolverá el valor de la segunda columna y así sucesivamente. El argumento “ordenado” es opcional y se refiere a lo siguiente: Si está puesto como FALSO, significa que la búsqueda en la “matriz_buscar_en” va a efectuarse con valores coincidentes (iguales) Por lo anterior, puede estar alterada la primera columna de la matriz, pero el valor coincidente debe de existir, de lo contrario marcará un error. Si no está puesto el argumento “opcional” o si está puesto como VERDADERO (TRUE), significa que la búsqueda se va a efectuar por rangos, por lo que debe estar ordenada la primera columna de “matriz_buscar_en”.

Página 2 de 35

Nota: Si buscarv ( ) no encuentra el valor buscado, utilizará el mayor valor que sea menor que “valor_buscado”

Ejemplo: Suponga que se tiene una lista larga de artículos: Observa que en la parte superior hemos preparado tres casillas de colorines. Estas celdas servirán para este propósito. En la celda C2 se colocará la fórmula: =BUSCARV(C1;A7:C15;2) Con esto se escribirá un código de artículo en la celda c1(amarilla) y Excel hará que aparezca automáticamente la descripción y la cantidad disponible en las dos celdas inferiores. Este tipo de hojas va perfecto para hacer una consulta a un listado. La fórmula mirará lo que hay en la celda c1 y lo buscará en el rango A17:C15. Una vez que lo encuentre, (lo encontrará en la primera columna), mostrará lo que hay en las dos columnas a su derecha (contándose ella), es decir, la descripción del producto.

Nota: Si la lista de artículos, está escrita en otra hoja de cálculo, llamada por ejemplo Hoja1, entonces la fórmula sería la siguiente:

Página 2 de 35

=BUSCARV(C1;Hoja1!A7:C15;2) La función BUSCARH(Celda;Rango;Fila), es similar a la anterior, pero con la diferencia de que busca el valor de una celda en un rango de celdas de una fila, es decir, de forma horizontal.

CAPÍTULO III / TABLAS DINÁMICAS Es una planilla que muestra exactamente la información que se le puso. Ni más ni menos, y muestra la planilla de una forma ordenada donde se pueden consultar y analizar datos obtenidos de una Base de Datos, realizada en Excel. La planilla de la siguiente Figura es un listado de pagos realizados a distintos proveedores, en diferentes meses e imputables a distintas obras.

Esta lista de gastos puede analizarse desde diferentes puntos de vista.

Página 2 de 35

Por lo que puede verse, la información fue cargada en la planilla de forma completamente desordenada. Sería interesante saber cuanto se le pagó a cada proveedor, o por cada obra, o que monto se le pagó a un determinado proveedor en concepto de trabajos realizados en una obra específica. Lo que se está buscando es, por ejemplo, una tabla como la de la Figura que se muestra a continuación.

En esta tabla se puede organizar la información de la planilla de la Figura Anterior de modo que resulta más útil. En cierta forma las dos planillas contienen la misma información. Pero la segunda esta organizada en forma tal que resulta más útil. La tabla de la Figura anterior es lo que se llama una tabla dinámica, la cual se obtiene con ayuda de un asistente.

Crear una tabla dinámica – El Asistente La creación de una tabla dinámica se hace con la ayuda de un asistente, y comprende varias etapas. Primero hay que llamar al asistente : 

Colocar el cursor en cualquier celda de la tabla a analizar (la de la Primera Figura)



Se abre la opción Datos/Informe de tablas y gráficos dinámicos. Aparece el cuadro de la Figura siguiente.

Página 2 de 35

Este cuadro de diálogo es el primer paso del Asistente para crear una tabla dinámica. Este cuadro de diálogo pregunta de donde saldrán los datos que se desea analizar, se marca Lista o base de datos de Microsoft Excel y se da un clic en Siguiente .

El segundo paso del asistente. Aquí se debe indicar el rango donde está la lista a analizar. En el siguiente cuadro de diálogo el asistente pregunta por el rango ocupado por los datos a analizar. Normalmente, Excel identifica el rango en forma automática. En cualquier caso :

Página 2 de 35



Se selecciona, arrastrando el mouse, el rango de la tabla. Debe incluir la fila de títulos,



Se hace clic en Siguiente.

El paso siguiente es indicar la estructura de la tabla que se desea. Se hace de la siguiente forma: Al dar el clic en Siguiente en el paso anterior aparece el cuadro de la Figura que se muestra a continuación :

En este cuadro se “arma” la tabla ubicando cada campo en el lugar que se desea. 1.

Se lleva el pequeño rectángulo que dice Obra a donde dice Columna.

2.

Se lleva el pequeño rectángulo que dice Concepto a donde dice Fila.

3.

Se lleva el pequeño rectángulo que dice Importe a donde dice Datos.

4.

Al final el cuadro debe quedar como se muestra en la Figura siguiente.

Página 2 de 35

5.

Se da un clic en Siguiente.

Campos de fila muestra los datos verticalmente, un elemento por fila. Campos de columna muestra los datos horizontalmente, un elemento en cada columna. Campos de página muestra los datos como

páginas,

agrupando

o

separando los elementos de los datos que coloque aquí. Elementos de datos es donde se muestran

y

resumen

los

datos

numéricos.

Recuerde que el asistente le mostrará una nueva área de hoja de cálculo que contiene todo lo necesario para diseñar una vista de tabla dinámica con sus datos: la lista de campos de tabla dinámica de la que arrastrará los campos y un área de diseño. Su trabajo consiste en arrastrar los campos seleccionados en la lista hasta las cuatro opciones disponibles en el área de diseño, las áreas de: fila, columna, datos o página. Al dar el clic en Siguiente, aparece el cuadro que se muestra a continuación:

Página 2 de 35

El Asistente pregunta donde se desea ubicar la tabla dinámica, si en una hoja nueva o en la misma hoja. En este caso le indicamos una hoja de cálculo nueva. La Tabla dinámica aparecerá en una hoja de cálculo nueva, como se muestra en la Figura siguiente.

La tabla dinámica terminada, también aparece también una barra de herramientas especial. Esta tabla se puede mejorar dándole un formato más adecuado a los datos, como se muestra en la Figura que se muestra a continuación.

Corresponde a los datos de la Figura anterior, sólo que se le cambió el formato para permitir verlos mejor (sobre todo si se van a presentar a la Gerencia). Como era de esperar, la tabla de la Figura de más arriba muestra información que no se podía visualizar con los datos de la lista original. Por ejemplo, ahora nos podemos dar cuenta que no hubo pagos al electricista por la obra de San Ignacio 1041, también se dispone de los

Página 2 de 35

subtotales por concepto y por obra. Además, se puede observar que el mayor gasto corresponde al electricista y que la obra que produjo un mayor gasto es la de Brasil 678. Actualizar la tabla Contra lo que sugiere su nombre, la tabla de la Figura anterior no es verdaderamente dinámica, en el sentido de que no se actualiza automáticamente cuando se cambia algún dato en la lista original. Pero se puede hacer de la siguiente forma :



Se cambia algún dato en la lista original (la de la primera figura).



Se da un clic en el botón actualizar datos, en la barra de herramientas de que apareció con la tabla Figura de más arriba. El botón Actualizar datos es el que tiene el signo de exclamación en color rojo. Si la tabla de herramientas no existe se puede obtener con Ver/Barras de Herramientas/Tablas Dinámicas.

Un clic en el botón actualizar datos (el del signo de exclamación en color rojo) actualiza la tabla dinámica luego de modificar algún dato en la lista original. El botón de la Figura anterior, hace lo mismo que la opción Datos/Actualizar datos del menú de Excel. Tanto el botón como la opción aparecen desactivados si no está el cursor colocado sobre la tabla. Cambiar la operación

Página 2 de 35

La tabla dinámica que se obtuvo totaliza los importes pagados en cada concepto y obra. Es decir que usa la operación de suma. Podría ocurrir que nos interesara saber cuantos pagos se hicieron, independientemente de sus valores. Como en la tabla de la Figura siguiente.

Esta tabla dinámica indica cuantos pagos se hicieron por cada concepto y obra, independientemente de los importes. Esta tabla puede hacerse a partir de la anterior, de la siguiente forma:



Se coloca el cursor sobre la tabla dinámica inicial.



Se hace un clic en el botón Campo de tabla (es el botón que tiene una letra i en un círculo y es el tercero en la fila superior) dentro de la barra de herramientas Tabla dinámica. Aparece en el cuadro de la Figura anterior.



Entonces aparece el cuadro de la Figura que se muestra más abajo.

El botón para cambiar la operación de sumarización en la tabla dinámica.

Página 2 de 35

Este cuadro ofrece diversas operaciones de sumarización (Cálculos) para la tabla dinámica.



Se selecciona la opción Contar números.



Se hace clic en Aceptar.

Aplicar filtros a la tabla dinámica Todas las tablas obtenidas hasta el momento muestran toda la información contenida en la lista original. En cambio la tabla de Figura siguiente muestra solamente la información del rubro Plomería. Es como si se hubiera filtrado la primera tabla dinámica.

Esta tabla dinámica muestra solamente la información del Concepto Plomería.



Se coloca el mouse sobre el campo Concepto y se da un clic con el botón derecho del mouse, aparece un menú donde se elige Campo.

Página 2 de 35



Entonces aparece la lista de conceptos, aparte de otros elementos, como se muestra en la Figura siguiente.

Este cuadro de dialogo permite filtrar los conceptos que no se desean marcándolos en “Ocultar Elementos”.

Página 2 de 35



En el cuadro de diálogo de la Figura anterior se marcan los elementos que no se desea que aparezcan, y se da un clic en Aceptar.

Ahora la tabla deberá mostrar solamente la información especificada, como en la Figura de más arriba. RECUPERAR LA INFORMACION Para recuperar toda la información, simplemente se vuelve a descolgar los meses como en la Figura anterior y se marca la opción Todas. Eliminar una tabla dinámica En principio, una tabla dinámica se borra como cualquier otra información de la planilla : se selecciona y se oprime la tecla Suprimir (Delete). Pero hay que tener en cuenta una restricción: se tiene que eliminar toda la tabla. Si se pretende borrar sólo algunas celdas, puede aparecer un cuadro como el de la figura siguiente.

No se puede borrar parte de una tabla dinámica. Si se desea eliminarla hay que hacerlo en su totalidad. Crear un gráfico a partir de una tabla dinámica Para crear un gráfico a partir de una tabla dinámica, se deja activa la hoja en que está la tabla dinámica y a continuación se da un clic en el botón de gráfico de la barra de herramientas de tablas dinámicas, de inmediato aparece un gráfico.

Página 2 de 35

Un gráfico dinámico, es la representación de los datos seleccionados de una planilla de cálculo, incluyendo las cabeceras de filas y columnas, donde se puede seleccionar por que tipo desee graficar. Pasos para realizar un gráfico dinámico: 1- Ir a la opción Datos/Informe de tablas y gráficos dinámicos 2- Aparecerá la siguiente pantalla:

3- Elegir la opción gráfico dinámico y clicar 4- Aparecerá el rango elegido o a elegir. Una vez que se haya dado el rango clic en

5- Saldrá la siguiente pantalla:

Página 2 de 35

6- Ir a la opción Diseño, donde podrá realizar el gráfico como le acomode e ir moviendo los datos tanto filas o columnas como desee, y mostrará la siguiente pantalla:

Una vez realizado el diseño, clic en Aceptar 7- Tendrá el gráfico Dinámico terminado y podrá ver diferentes gráficos de datos en un solo gráfico, tal como se muestra en la Figura siguiente.

Página 2 de 35

CAPÍTULO IV / MACROS Una macro es un supercomando: un comando que hace, a través de una sola orden, lo que normalmente requeriría de varios pasos. En otras palabras, una macro es un programa: una lista de instrucciones u operaciones que se ejecutan cuando el usuario da la orden adecuada, y esta compuesto por: Objetos, propiedades y métodos. Objeto. Cuando en el mundo real nos referimos a objeto significa que se habla de algo más o menos abstracto que puede ser cualquier cosa. Si se decide concretar un poco más podemos referirnos a objetos coche, objetos silla, objetos casa, etc. En OOP, la

Página 2 de 35

generalización (o definición) de un objeto se llama Clase, así la clase coche seria como la representante de todos los coches del mundo, mientras que un

coche

en

un objeto coche seria

concreto. De momento, no definiremos las clases sino que nos

concentraremos en los objetos, tenga en cuenta pero que cualquier objeto está definido por una clase. Cuando decimos que la clase coche representa a todos los coches del mundo significa que define como es un coche, cualquier coche. Dicho de otra forma y para aproximarnos a la definición informática, la clase coche define algo que tiene cuatro ruedas, un motor, un chasis,... entonces, cualquier objeto real de cuatro Ruedas, un motor, un chasis,... es un objeto de la clase coche. Propiedades. Cualquier objeto tiene características o propiedades como p or ejemplo el color, la forma, peso, medidas, etc.

Estas propiedades se definen en la clase y luego se

particularizan en cada objeto. Así, en la clase coche se podrían definir las propiedades Color, Ancho y Largo , luego al definir un objeto concreto como coche ya se particularizarían estas propiedades a, por ejemplo, Color = Rojo, Ancho = 2 metros y Largo = 3,5 metros. Métodos. La mayoría de objetos tienen comportamientos o realizan acciones, por ejemplo, una acción evidente de un objeto coche es el de

moverse o lo que es lo mismo,

trasladarse de un punto inicial a un punto final. Cualquier proceso que implica una acción o pauta de comportamiento por parte de un objeto se define en su clase para que luego pueda manifestarse en cualquiera de sus objetos. Así, en la clase coche

se definirían

en

el

método

mover

todos

los

procesos

necesarios

para

llevarlo a cabo (los procesos para desplazar de un punto inicial a un punto final), luego cada objeto de la clase coche simplemente tendría que invocar este método p

Página 2 de 35

ara trasladarse de un punto inicial a un punto final, cualesquiera que fueran esos puntos. Un

objeto

propiedades,

Range

está

recordemos

definido

que

por

una

clase

donde

se

definen

sus

una 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, recordemos que los métodos sirven 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,... Conjuntos. Un conjunto es una colección de objetos del mismo tipo, para los que conozcan algún

lenguaje

de programación es un array de objetos. Por ejemplo, dentro de un

libro de trabajo puede existir 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. Siguiendo con el coche, una de las propiedades del coche es el motor, y el motor es un objeto con

propiedades

como

cubicaje,

caballos, número

de

válvulas,

etc.

y

métodos,

como aumentar_revoluciones, coger_combustible, mover_pistones, etc. En Excel, el objeto

WorkSheets

tiene

la

propiedad Range

Range tiene la propiedad Font que es también un objeto y

que

es

un

objeto,

Font tiene la propiedad

Página 2 de 35

Bold (negrita).

Tenga

Propiedades

de

propiedades

que

un

esto objeto

muy que

devuelven

presente serán

objetos,

ya

que utilizaremos

también

por

frecuentemente

Objetos. Dicho de otra forma, hay

ejemplo,

la

propiedad

Range

de

un

objeto WorkSheet devuelve un objeto de tipo Range. Programación Orientada a Objetos o Programación Basada en Objetos. Hay una sutil diferencia entre las definiciones del título. Programación orientada a Objetos, significa que el

programador

trabaja

con

objetos

fabricados

por

él

mismo, es decir, el programador es quien implementa las clases para luego crear objetos

a

partir

utilizar

objetos

de ya

ellas. definidos

Lo

que

por

la

haremos

nosotros,

aplicación

Excel

por

el momento,

(WorkSheets,

será

Range,...)

sin implementar ni nguno de nuevo, por lo que en nuestro caso es más correcto hablar de programación basada en objetos. Observe que esta es una de las grandes ventajas de la OOP, utilizar objetos definidos por alguien sin tener que conocer nada sobre su implementación, sólo debemos conocer sus propiedades y métodos y utilizarlos de forma correcta. Se hace de la siguiente forma : Se ubica en la celda donde se desea aparezca el nombre. Por ejemplo : A1. Se toma las opciones Herramientas/Macros/Grabar nueva macro. Aparece el cuadro que se muestra a continuación. Donde dice nombre de la macro escriba “su_nombre” o cualquier otro que le parezca más adecuado, sin espacios en blanco ni caracteres especiales. Dé un click en Aceptar.

Página 2 de 35

Lo que se acaba de hacer es echar a andar el grabador de la macro, desde ahora en adelante, hasta que se oprima el botón “Detener Grabación” de la barra de herramientas de la Macro, todo lo que se haga se graba en la macro. A continuación se muestra la barra de herramientas de la macro:

La barra de herramientas de la macro tiene dos botones, el primero de ellos de izquierda a derecha (el que tiene el cuadro en azul) es para detener la ejecución de la macro, el segundo es para darle a la macro una referencia relativa, es decir que se ejecute a partir de la celda en donde esta posicionado el cursor en el momento de la ejecución. Ahora debe dar un clic el botón de referencia relativa, una vez hecho esto continúe con la construcción de la macro. Mientras usted lee esto el grabador de la macro está funcionando, por lo tanto:



Escriba su nombre,



Dé enter,



Apague el grabador, dando un click en el botón “Detener Grabación” de la barra de herramientas de la macro.

Página 2 de 35

Si se hizo todo bien, ya está lista la macro. Para ejecutarla se repite el procedimiento anterior: se coloca en cualquier celda y 

Seleccione: Herramientas/Macro/Macros y se desplegará el cuadro de diálogo que se muestra a continuación, ya mostrado donde usted selecciona la macro “su_nombre” y, después, Ejecutar. Entonces aparece su nombre a partir de la celda donde se colocó el cursor.

Un ejemplo más interesante Ya se ha visto el los diversos ejemplos el procedimiento general para crear y ejecutar una macro, los pasos son los siguientes: 1) Echar a andar el grabador de la macro, lo que implica poner un nombre a la macro y colocar una referencia abreviada (si se desea), 2) Oprimir el botón de Referencias Relativas, si se necesita para esa macro, 3) Hacer las operaciones que se incluirán en la macro, 4) Apagar el grabador de la macro, y

5) Ejecutar la macro para probarla1. Por alguna razón a quienes hicieron excel no tomaron en cuenta hacer un comando que para nosotros es necesario, en la figura siguiente queremos que en la celda b5 aparezca sólo el valor y el usuario final no vea la fórmula que generó ese valor, es decir, queremos dejar en la planilla sólo el resultado de la fórmula.

1

Debe tener presente que no es necesario guardar la macro, ya que cuando se guarda el libro excel, automáticamente se guardan las macros junto con el libro.

Página 2 de 35

Para construir esta macro damos los pasos que se señalan más adelante, pero antes colocamos los valores, en la celda B2 el número de cuotas del préstamo, en la celda B3 el monto del préstamo y en la celda B4 la tasa de interés con el signo de porcentaje para dividirla por 100: 1) Se abre la opción: Herramientas/Macro/Grabar nueva macro. Y aparece el cuadro que ya se había visto. 2) Donde dice nombre de la macro escriba el nombre que usted desee. 3) Donde dice Método abreviado, si lo desea, coloque Shift + T. 4) Se da un clic en Aceptar. Con este se inicia el grabador de la macro. 5) Si lo desea puede dar un clic en el botón Referencias Relativas. 6) Lleve el cursor a la celda C5. 7) Abra Insertar/Función/Financieras/Pago y aparece el siguiente cuadro de diálogo:

Página 2 de 35

8) En Tasa se coloca B4%, equivale a la tasa de interés dividido por 100, 9) En Nper se coloca B2, equivale al plazo o número de períodos, 10) En VA se coloca B3, equivale al monto del préstamo. 11) Al dar un clic en Aceptar aparece en C5 la cuota del préstamo, como se muestra a continuación:

Página 2 de 35

Según se puede observar en la ceda B5 aparece el resultado, que es el valor de la cuota, y arriba aparece la fórmula, que es lo que se quiere evitar. 12) Se coloca el cursor en B5, 13) Se abre Edición, Copiar, 14) Siempre con el cursor en B5, se abre Edición/Pegado Especial, y aparece el siguiente cuadro de diálogo;

15) Se da un clic en Pegar/Valores, tal como se muestra en el ejemplo, y luego en Aceptar,

16) A continuación arregla el contenido de la celda B5, dejándola con los decimales que estime convenientes, en este ejemplo se deja sin decimales2. 2

El manejo de los formato y número de decimales se vio acuciosamente en: Manual de Excel para Estudiantes de Ingeniería, del mismo autor y publicado en la página web: www.lawebdelprogramador.com

Página 2 de 35

17) Luego se oprime la tecla ESC para vaciar el portapapeles. Es por prolijidad y para que no quede la fórmula en dicho portapapeles. Si se hizo todo correctamente, la hoja excel debe quedar de la siguiente forma:

Y ya no aparece la fórmula que se usó. 19) Para terminar se apaga el grabador. Ejecución de una macro Para ejecutar una macro se hace de la siguiente forma: 1) Se abre la opción Herramientas/Macros/Macro. Aparece el cuadro de diálogo que muestra la lista de macros disponibles.

Página 2 de 35

En el cuadro de diálogo de más arriba pueden verse una macro en este libro de excel, ella es: Pago, entonces: 2) Se hace un clic sobre la macro que se desea ejecutar, y 3) Se da un clic en Ejecutar. La segunda forma de ejecutar una macro es adicionando un botón a la barra de herramientas. Asignación de una macro a un botón en la barra de herramientas. Las barras de herramientas son configurables, es decir, se pueden agregar botones o eliminar botones. En este caso se puede incluir un botón asociado a la macro Pago. Para esto se hace lo siguiente: 1)

Se abre la opción Ver/Barras de Herramientas/Personalizar y se selecciona la ficha comandos, tal como se muestra a continuación.

Página 2 de 35

2)

En la lista de categorías de la izquierda, buscamos y hacemos un clic en macros Aparecerá en el lado derecho una lista de comandos disponibles, como se muestra a continuación:

Página 2 de 35

3)

En esta lista se toma el botón Personalizar botón y se arrastra a donde están las barras de herramientas. El botón quedará ubicado donde se lo suelte.

4)

Se hace un clic en Cerrar.

El botón queda en la barra de herramientas tal como se muestra a continuación:

Con esto se tiene un nuevo botón en la barra de herramientas, pero no hay ningún comando asignado al mismo. Para asignarle un comando se hace lo siguiente:

Página 2 de 35

1) Se hace un clic sobre este botón, aparece el cuadro de diálogo que se muestra a continuación, donde aparecen todas las macros asociadas a este libro de excel (en este caso sólo muestra la macro “Pago”3 :

2)

Se presiona sobre la macro que se quiere asignar al botón.

3)

Se da un clic en asignar.

La próxima vez que se de un clic en el nuevo botón se ejecutará la macro que se le haya asignado.

3

Como se puede observar una macro puede tener el mismo nombre que una función de excel sin que haya problemas, ya que se ejecutan en forma diferente.

Página 2 de 35

Asignación de una macro a una nueva opción del Menú. Así como se puede asignar una macro a un nuevo botón, también es posible asignar una macro a una nueva opción en el menú. Por ejemplo, se va a crear una opción en el menú Edición para la macro Pago. Se hace de la siguiente forma: 1)

Se abre la opción Ver/Barras de herramientas/Personalizar y se selecciona la opción comandos.

2)

En la lista de Categorías de la izquierda se busca y se hace un clic en Macros.

3)

En la lista de la derecha se toma la opción Personalizar elemento del menú y se arrastra a la opción Edición del Menú. Se descolgará el submenú correspondiente.

4)

Se lleva coloca la opción Personalizar elemento del menú y se coloca donde uno lo desee, en este caso se colocó después de Mover o copiar hoja.

5)

Dar un clic en cerrar.

Página 2 de 35

Como en el caso del botón se tiene la nueva opción, pero no hay ninguna macro asignada a ella, para solucionar esto hacemos lo siguiente: 1)

Se abre la opción Edición/Personalizar elemento del Menú (es decir la nueva opción), vuelve a aparecer el cuadro para asignar la macro:

Página 2 de 35

2)

Se da un clic sobre la macro que queremos asignarle a la nueva opción.

3)

Se da un clic en asignar.

Página 2 de 35

Eliminar un botón o una opción, Para eliminar un botón o una opción se hace lo siguiente: 1)

Se elige la opción Ver/Barras de herramientas/Personalizar, aparece el cuadro de diálogo que se muestra a continuación:

Página 2 de 35

2)

Se toma el nuevo botón (de la macro) o se descuelga la nueva opción, y con el mouse se le lleva al cuadro anterior. Con esto desaparece el botón o la opción según corresponda.

3)

Dar un clic en Cerrar.

Editor de Visual Basic. El

editor

macros

de que

visual

básic

es

interactuaran junto

la

aplicación con

los

que libros

utilizaremos de

para

trabajo.

A

construir

las

continuación

prepararemos un archivo en el que escribiremos las primeras instrucciones en Visual basic. Preparar un archivo nuevo.

Página 2 de 35

Para entrar en el editor de Visual Basic, ejecute los pasos siguientes. 1.

Active opción Herramientas/ Macro/ Editor de Visual Básic. Se abrirá la ventana

siguiente. Maximize la ventana para trabajar más cómodamente y procure tener activadas la ventana Explorador de proyectos y la ventana Propiedades (Ver/ Explorador de proyectos y Ver/ Ventana propiedades).

Insertar un nuevo módulo. Un módulo sirve para agrupar procedimientos y funciones. El procedimiento y la función son entidades de programación que sirven para agrupar instrucciones de código que realizan una acción concreta. Para insertar un módulo active opción del menú Insertar/ Módulo. Se activará una nueva ventana, si aparece demasiado pequeña, maximícela. Insertar un procedimiento. Ya hemos dicho que un procedimiento es un bloque de instrucciones de código que sirven para llevar a cabo alguna tarea específica. Un procedimiento empieza siempre con la instrucción Sub Nombre_Procedimiento Y termina con la instrucción End Sub.

Página 2 de 35

A continuación crearemos un procedimiento para poner el texto "Hola" en la casilla A1.

Ejemplo

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

Observe el código. Range ("A1").Value="Hola" En esta línea estamos indicando que trabajamos con un objeto

Range. Para indicarle

que nos referimos a la casilla A1, encerramos entre paréntesis esta referencia (más adelante verá otra forma de referirnos a las casillas). De este objeto, indicamos que queremos

establecer

un

nuevo

valor

para

la

propiedad

Value, observe que para

separar el objeto de su propiedad utilizamos la notación punto. Recuerde que el conjunto Range es un objeto que pende del objeto WorkSheets, así por ejemplo el siguiente código haría lo mismo que el anterior. WorkSheets (1).Range ("A1").Value = "Hola"

Página 2 de 35

de hecho no hace lo mismo, en la primera opción, el texto "Hola" se pone dentro de la casilla A1 de la hoja activa, mientras que en el segundo es en la casilla A1 de primera hoja ( del conjunto de hojas). La

segunda

notación

es

más

larga,

pero

también más recomendable ya que se especifican todos los objetos. En muchas ocasiones

se

pueden

omitir

algunos

objetos

precedentes,

no

le

aconsejamos

hacerlo, sus programas perderán claridad y concisión. Si desea hacer referencia a la hoja activa puede utilizar ActiveSheet, así, el primer ejemplo lo dejaremos de la manera siguiente.

Sub Primero ActiveSheet.Range ("A1").Value = "Hola" End Sub Si desea poner "Hola" (o cualquier valor) en la casilla activa, puede utilizar la propiedad

(objeto) Activecell de WorkSheets. Así para poner "Hola" en la casilla activa de la

hoja activa seria,

Sub Primero ActiveSheet.ActiveCell.Value = "Hola" End Sub

Página 2 de 35

Para

terminar

con

este

primer

ejemplo.

WorkBooks (libros de trabajo) y WorkBooks es

el

objeto

superior,

es

el

WorkSheets

están

dentro

del

Objeto

están dentro de Application. Application

que representa la aplicación Excel. Así, el primer

ejemplo, siguiendo toda la jerarquía de objetos quedaría de la forma siguiente.

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

Insistiendo piense

con

que

nomenclatura,

todos

implementarlo (diferentes

la si

los objetos en

archivos),

las a

penden

macros

partir

Application casi nunca es necesario especificarlo, se

de

este,

trabaja

WorkBooks

con diferentes

será libros

necesario de

trabajo

de WorkSheets, es aconsejable incluirlo en el código,

sobre todo si se quiere trabajar con diferentes hojas,

verá, sin embargo,

que en

muchas ocasiones no se aplica.

Ejecutar un procedimiento o función. Pruebe ejecutar el primer procedimiento de ejemplo. 1.

Sitúe el cursor dentro del procedimiento.

Página 2 de 35

2.

Active opción de la barra de menús 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. Debe estar en una hoja, no en el editor de Visual Basic 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.

Ejemplo 2

En este segundo ejemplo simplemente ampliaremos la funcionalidad de la macro del ejemplo 1. Además de escribir "Hola" en la casilla A1 de la celda A1, la pondremos en negrita y le daremos color al texto. Para ello utilizaremos las propiedades Bold y Color del objeto Font. Sub Segundo ActiveSheet.Range ("A1").Value = "Hola" ActiveSheet.Range ("A1").Font.Bold = True ActiveSheet.Range ("A1").Font.Color = RGB (255, 0,0) End Sub

True.

Página 2 de 35

True, que traducido es verdadero, simplemente indica que la propiedad Bold está activada. Si se deseara desactivar, bastaría con igualarla al valor False.

Variables. A continuación vamos a repetir el programa Ejemplo1, pero en lugar de poner "Hola" en la casilla A1 de la hoja activa, dejaremos que el usuario entre un texto desde teclado y a continuación guardaremos ese valor en esa casilla. Observe que el valor que entre del usuario debe guardarse en algún lugar para poder ponerlo después en la casilla A1; pues bien, ese valor se guardará en una variable. Una variable es simplemente un trozo de memoria que la función o procedimineto se reserva para guardar datos, la forma general de declarar una variable es DIM variable AS tipo. Siendo variable el nombre que se asigna a la misma y Tipo el tipo de datos que se guardarán (números, texto, fecha, boleanos,...). En nuestro ejemplo, declararemos la variable de tipo String (tipo texto), y lo haremos de la forma siguiente. Dim Texto As String Con esto estamos indicando que se reserve un trozo de memoria (el que sea), que se llama Texto y que el tipo de datos que se guardarán ahí serán caracteres.

La Función InputBox.

Página 2 de 35

Esta

función

Cuando

se

muestra pulsa

una

ventana

para

que

el

usuario

pueda

teclear

datos.

sobre Aceptar, los datos entrados pasan a la variable a la que se ha

igualado la función. Vea la línea siguiente.

Texto = InputBox ("Introduzca el texto", "Entrada de datos"). Si en la ventana que muestra InputBox pulsa sobre el botón Aceptar, los datos tecleados se guardarán el la variable Texto.

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: Es el mensaje que se muestra en la ventana. Si desea poner más de una línea ponga Chr (13) para cada nueva línea, vea el ejemplo siguiente. Título: Es el título para la ventana InputBox. Es un parámetro opcional. Valor por defecto: Es el valor que mostrará por defecto el cuadro donde el usuario entra el valor. Parámetro opcional.

Página 2 de 35

Posición

Horizontal: La posición X de la pantalla donde se mostrará el cuadro,

concretamente es la posición para la parte izquierda. Si se omite el cuadro se presenta horizontalmente centrado a la pantalla. Posición

Vertical: La posición Y de la pantalla donde se mostrará el cuadro,

concretamente es la posición

para

la

parte

superior.

Si

se

omite

el cuadro se

presenta verticalmente centrado a la pantalla. Archivo Ayuda: Es el archivo que contiene la ayuda para el cuadro. Parámetro opcional. Número

de

identificador mostrar.

contexto del archivo

Si

se

para de

la

ayuda:

ayuda,

especifica

sirve

Número para

asignado

localizar

el

que

corresponde

texto

que

se

al

debe

este parámetro, debe especificarse obligatoriamente el

parámetro Archivo Ayuda. Ejemplo Sub Entrar_Valor Dim Texto As String ‘Chr (13) sirve para que el mensaje se muestre en dos Líneas Texto = InputBox ("Introducir un texto " & Chr (13) & "Para la casilla A1", "Entrada de datos") ActiveSheet.Range ("A1").Value = Texto End Sub

Página 2 de 35

Este ejemplo también se puede hacer sin variables. La sentencia Option Explicit. En

visual

basic

no

es

necesario

declarar

las

variables,

por

ejemplo,

en

el

programa anterior se hubiera podido prescindir de las líneas Dim Casilla As String Dim Texto As String A pesar de ello, le recomendamos que siempre declare las variables que va a utilizar, de esta forma sabrá cuales utiliza el procedimiento y que tipo de datos guarda cada una, piense que a medida que vaya aprendiendo, creará procedimientos cada vez más complicados y que requerirán el uso de más variables, si

no

declara

las

variables al principio del procedimiento ocurrirán dos cosas. Primero, las variables no declaradas son asumidas como tipo Variant (este es un tipo de datos que puede almacenar cualquier valor, número, fechas, texto, etc. pero tenga en cuenta que ocupa 20 Bytes y para guardar una referencia a una casilla, la edad de alguien, etc. no son necesarios tantos bytes); segundo, reducirá considerablemente la legibilidad de sus procedimient os ya que las variables las irá colocando a medida que las necesite, esto, a la larga complicará la corrección o modificación del procedimiento. Bueno, pues toda la explicación anterior es para que declare todas las variables que va a utilizar. La sentencia Option Explicit al principio del módulo fuerza a que

se

alguna

declaren variable

todas sin

las

declarar

variables. se

Si

producirá

al ejecutar un

error

el y

programa, no

se

se

encuentra

podrá ejecutar el

programa hasta que se declare.

Página 2 de 35

Si todavía no se

ha convencido sobre la conveniencia de declarar las variables y

utilizar Option Explicit, pruebe el procedimiento siguiente, cópielo tal cual (Texto y Testo están puestos adrede simulando que nos hemos equivocado al teclear). Sub Entrar_Valor Texto = InputBox ("Introducir un texto " & Chr (13) & "Para la casilla A1", "Entrada de datos") ActiveSheet.Range ("A1").Value = Testo End Sub

Observe que el programa no hace lo que se pretendía que hiciera. Efectivamente, Texto y Testo son dos variables

diferentes, como no se ha declarado ninguna ni se

ha utilizado Option Explicit Visual Basic no da ningún tipo de error y ejecuta el programa. Pruebe el siguiente módulo e intente ejecutarlo.

Option Explicit Sub Entrar_Valor Dim Texto As String Texto = InputBox ("Introducir un texto " & Chr (13) & "Para la casilla A1", "Entrada de datos") ActiveSheet.Range ("A1").Value = Testo End Sub

Página 2 de 35

Observe que el programa no se ejecuta, al poner Option Explicit, forzamos a que se declaren todas las variables. Visual Basic detecta que la variable

Testo no ha sido

declarada y así lo indica mostrando Error, entonces es cuando es más fácil darnos cuenta

del

error

que

hemos

cometido

al

teclear

y

cambiamos Testo por Texto.

Ahora imagine que el error se produce en un programa de cientos de líneas que necesita otras tantas variables. Tipos de datos en Visual Basic para Excel. (Tabla copiada de la ayuda en línea de Visual Basic para Excel). Tamaño Tipo de datos

De

Intervalo

Byte

almacenamiento 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/ 4 bytes

-3,402823E38 a -1,401298E-45 para valores

precisión simple)

negativos; 1,401298E-45 a 3,402823E38 para valores

Double (coma flotante/8 bytes

positivos -1,79769313486232E308

precisión doble)

-4,94065645841247E-324

a

para valores negativos; 4,94065645841247E324 a 1,79769313486232E308 Currency

(entero

a8 bytes

escala) Decimal

para

valores

positivos -922.337.203.685.477,5808 a 922.337.203.685.477,5807

14 bytes

+/-79.228.162.514.264.337.593.543.950.335 sin

punto

decimal;

7,9228162514264337593543950335 con

Página 2 de 35

+/-

28 posiciones a la derecha del signo decimal; el número más pequeño distinto de cero es+/Date

8 bytes

0,0000000000000000000000000001 1 de enero de 100 a 31 de diciembre de 9999

Object

4 bytes

Cualquier referencia a tipo Object

String

(longitud10 bytes + longitudDesde 0 a 2.000 millones

variable) String (longitud fija)

de la cadena Longitud de

cadena Variant(con números) 16 bytes

laDesde 1 a 65.400 aproximadamente Cualquier valor numérico hasta el intervalo de un tipo

Variant(con

Double 22 bytes + longitudEl mismo intervalo que para un tipo String de

caracteres) de cadena longitud variable Definido por el usuarioNúmero requeridoEl intervalo de cada elemento es el mismo Función

Tipo devuelto

Intervalo del argumento expresión

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

-4,94065645841247E-324 para valores negativos;

(utilizando Type) Cbool

porBoolean los elementosCualquier que elexpresión intervalo de su otipo de datos. de cadena numérica válida.

Funciones de conversión de tipos. (Tabla copiada de la ayuda en línea de Visual Basic para Excel).

4,94065645841247E-324 a 1,79769313486232E308 Val (Cadena). Convierte la cadena a un valor numérico. para valores positivos.

Cdec

Decimal

+/-7,9228162514264337593543950335.

La

menor

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.

CVar

Variant

El mismo intervalo que Double para valores numéricos. El mismo intervalo que String Páginapara 2 de 35 valores no numéricos.

CStr

String

El valor de retorno de CStr depende del argumento expresión.

Str (Número). Convierte el número a una expresión cadena. Las siguientes funciones tienen la posición para un número que no sea cero es 0,0000000000000000000000000001. forma Función (Expresión).

Objeto Cells (fila, columna). Sirve, como el objeto range, para referenciar una casilla o rango de casillas, pero en lugar de utilizar la referencia de la forma A1, B1, X320,... utiliza la fila y la columna que ocupa la casilla dentro de la hoja (o objeto WorkSheet). Por ejemplo, para poner hola en la casilla A1 de la hoja activa seria, ActiveSheet.Cells (1,1).Value="Hola" Utilizar Cells para referenciar un rango. Esto seria el equivalente a Range("Casilla_Inicial:Casilla_Final"). La forma que se obtiene

utilizando Cells

es

un

poco

más

larga,

pero

se

verá

que

a

Página 2 de 35

veces

resulta mucho más funcional que utilizando únicamente range. Para referirnos al rango A1:B8, pondremos, Range (Cells (1, 1), Cells (8, 2)).Value = "Hola" Otra forma interesante de Cells es la siguiente, Range ("A5:B10").Cells (2, 1).Value = "Hola" Pondrá en la celda A6 el valor "Hola", observe que en este ejemplo Cells comienza a contar filas y Columnas a partir del rango especificado en el objeto Range. Estructuras condicionales. Ahora que ya ha experimentado con unos cuantos objetos y propiedades, nos detendremos a estudiar las estructuras condicionales.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. Estudiaremos en

primer lugar la instrucción if Condición then..End if (Si Condición Entonces...Fin Si) La estructura condicional que se construye con la instrucción Si Condición Entonces... Fin Si tiene la forma siguiente. Si Condición Entonces Senténcia1 Senténcia2 . SenténciaN Fin Si Cuando el programa llega a la instrucción Si Condición Entonces , se evalúa la condición, si esta se cumple (es cierta), se ejecutan todas las sentencias que están encerradas en el bloque, si no se cumple la condición, se saltan estas sentencias. Esta estructura en Visual Basic tiene la sintaxis siguiente,

Página 2 de 35

If Condición Then Senténcia1 Senténcia2 . SenténciaN End If Ejemplo. Entrar

una

cantidad

que

representa

el

precio

de

algo

por

el

teclado

con

la

instrucción InputBox y guardarlo en la celda A1 de la hoja activa. Si el valor entrado desde el teclado (y guardado en A1) es superior a 1000, pedir descuento con otro InputBox y guardarlo en la casilla A2 de la hoja activa. Calcular en A3, el precio de A1 menos el descuento de A2. Sub Condicional () ActiveSheet.Range ("A1").Value = 0

' Poner

las casillas donde se guardan los valores 0. ActiveSheet.Range ("A2").Value = 0 ActiveSheet.Range ("A3").Value = 0 ActiveSheet.Range ("A1").Value = Val(InputBox("Entrar el precio", "Entrar")) ‘Si el valor de la casilla A1 es mayor que 1000, entonces, pedir descuento If ActiveSheet.Range ("A1").Value > 1000 Then ActiveSheet.Range ("A2").Value = Val(InputBox("Entrar Descuento", "Entrar")) End If Estructura If..Else

Página 2 de 35

Esta estructura se utiliza cuando se requiere una respuesta alternativa a una condición. Su estructura es la siguiente. Si condición Entonces Sentencia 1 Sentencia 2 . . Sentencia N Sino Sentencia... Fin si Observe que, si se cumple la condición, se ejecuta el bloque de sentencias delimitado por 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. Operadores lógicos. Estos operadores se utilizan cuando se necesitan evaluar dos o más condiciones para decidir si se ejecutan o no determinadas acciones.

Operador Lógico And (Y).

Página 2 de 35

Utilizaremos este operador cuando sea preciso que para ejecutar un bloque de instrucciones

se

cumpla más de una condición. Observe que deberán cumplirse todas las

condiciones. Ejemplo. Entrar el Nombre, la cantidad y el precio de un producto desde el teclado y guardarlos respectivamente en A1, A2 y A3. Calcular el total y guardarlo en A4. Si el total es superior a 10.000 y el nombre del producto es "Patatas", pedir un escuento, calcularlo el total descuento y guardarlo en A5, luego restar el descuento del total y guardarlo en A6. Sub Ejemplo () Dim Producto As String Dim Cantidad As Integer Dim Precio As Single Dim Total As Single Dim Descuento As Single Dim Total_Descuento As Single Precio = 0 Producto = InputBox ("Entrar Nombre del Producto","Entrar") Precio = Val (InputBox ("Entrar el precio", "Entrar")) Precio = Val(InputBox("Entrar la cantidad", "Entrar")) Total = Precio * Cantidad ActiveSheet.Range ("A1").Value = Producto ActiveSheet.Range ("A2").Value = Precio ActiveSheet.Range ("A3").Value = Cantidad ActiveSheet.Range ("A4").Value = Total ‘Si total mayor que 10.000 y el producto es Patatas, aplicar descuento. If Total > 10000 And Producto = "Patatas" Then Descuento = Val (InputBox ("Entrar Descuento", "Entrar")) Total_Descuento = Total * (Descuento / 100) Total = Total - Total_Descuento ActiveSheet.Range ("A5").Value = Total_Descuento ActiveSheet.Range ("A6").Value = Total

Página 2 de 35

End If End Sub Observe que para que se ejecute el bloque de instrucciones entre If.. End If deben cumplirse las dos condiciones que se evalúan, si falla cualquiera de las dos (o las dos a la vez), no se ejecuta dicho bloque. Operador Lógico Or (O). Utilizaremos este operador cuando sea preciso que para ejecutar un bloque de instrucciones se es

necesario

cumpla alguna que

se

de

cumpla

una

serie

alguna

de

de

condiciones.

Observe

que

sólo

las condiciones que se evalúan. Vea el

ejemplo siguiente. Ejemplo. Entrar el Nombre, la cantidad y e l precio de un producto desde el teclado y guardarlos respectivamente en A1, A2 y A3. Calcular el total y guardarlo en A4. Si el total es superior a 10.000 o el nombre del producto el "Patatas", pedir un descuento, calcularlo el total descuento y guardarlo en A5, luego restar el descuento del total y guardarlo en A6. Sub Ejemplo () Dim Producto As String Dim Cantidad As Integer Dim Precio As Single Dim Total As Single Dim Descuento As Single Dim Total_Descuento As Single Precio = 0

Página 2 de 35

Producto = InputBox ("Entrar Nombre del Producto","Entrar") Precio = Val (InputBox ("Entrar el precio", "Entrar")) Precio = Val (InputBox ("Entrar la cantidad", "Entrar")) Total = Precio * Cantidad ActiveSheet.Range ("A1").Value = Producto ActiveSheet.Range ("A2").Value = Precio ActiveSheet.Range ("A3").Value = Cantidad ActiveSheet.Range ("A4").Value = Total ‘Si total mayor que 10.000 o el producto es Patatas, aplicar descuento. If Total > 10000 Or Producto = "Patatas" Then Descuento = Val (InputBox ("Entrar Descuento", "Ent rar")) Total_Descuento = Total * (Descuento / 100) Total = Total - Total_Descuento ActiveSheet.Range ("A5").Value = Total_Descuento ActiveSheet.Range ("A6").Value = Total End If End Sub Observe que para que se ejecute el bloque de instrucciones entre If.. End If sólo es necesario que se cumpla alguna de las dos condiciones que se evalúan (o las dos a la vez). Sólo cuando no se cumple ninguna de las dos no se ejecutan las instrucciones del bloque. Operador Lógico Not (no). Este operador se utiliza para ver si NO se cumple una condición. El siguiente ejemplo hace lo mismo que el ejemplo 7 pero utilizando el operador Not.

Ejemplo.

Página 2 de 35

Entrar

una

cantidad

que

representa

el

precio

de

algo

por

el

teclado

con

la

instrucción InputBox y guardarlo en la celda A1 de la hoja activa. Si el valor entrado desde el teclado (y guardado en A1) es superior a 1000, pedir descuento con otro InputBox y guardarlo en la casilla A2 de la hoja activa. Calcular en A3, el precio de A1 menos el descuento de A2. Sub Ejemplo () Dim Precio As Integer Dim Descuento As Integer Precio = 0 Descuento = 0 Precio = Val(InputBox("Entrar el precio", "Entrar")) ' Si el valor de la variable precio NO es menor igual 1000, entonces, pedir descuento If Not (Precio