Programaciรณn en Excel
[Seleccionar fecha]
Pág.| 2 Contenido
Introducción……………………………………………………………………..pág. 2 Diagrama de flujo para estructura de programación.......................................................pág. 3 Pasos para elaborar un algoritmo.....................................................................................pag.8 Elaboración de un algoritmo de solución.......................................................................pag.9 Descripción de algoritmo de solución...............................................................................pag.10 Operadores utilizados en las formulas de Excel...............................................................pág. 12 Funciones de la hoja de cálculo Excel por categoría……….………………….………..pág. 15 Elaboración de un algoritmo para entorno Excel Visual Basic. .. ……………………….pág. 33 Introducción al Editor de Excel Visual Basic……………………………………………pag.35 Lista de propiedades, funciones y/o procedimientos VBA Project……. ………………….pág. 39 Como usar Excel Visual Basic ………………………………………………………… pág. 59 Lista de funciones de hoja de cálculo disponibles en Excel Visual Basic.…………..….pág. 70 Instrucciones en Excel Visual Basic……………………………………..........………...pág. 73 Descripción de Propiedades de Excel ..………………………………………….… … pág. 79
Pág.| 3
INTRODUCCIÓN
Excel es un software de cálculos que tiene muchas aplicaciones es usada por Economistas, ingenieros e inclusive hay programadores que han realizado interfaz entre proyectos electrónicos y Excel. Pese a que existen softwares más específicos en el cálculos de Ingeniería, Excel es la mejor alternativa pues Excel está disponible en cualquier computadora que funciona con Windows por lo tanto sea cualquiera el sitio al que vallamos encontraremos Excel, entonces podemos decir que es necesario aprender a programar en el entorno Excel Como en cualquier programar es necesario elegir la aplicación que va tener nuestro programa en el entorno Excel y seguir una serie de pasos que lleven a su entendimiento y solución, es decir, es necesaria la utilización de un algoritmo por medio del cual se resuelva dicho problema. Crear diagramas de flujo, para la representación de algoritmos de programación estructurada, esto facilitara en gran medida el trabajo pues se suprimen detalles innecesarios. Una parte muy importante es tener pleno conocimiento de los operadores usados en las formulas de Excel así como el reconocimiento del conjunto de FUNCIONES DE EXCEL para poderlo utilizar como una herramienta para la ejecución de nuestro sub programa. .
Pág.| 4
Diagrama de flujo para estructura de programación Un diagrama de flujo es la representación grafica de un algoritmo. Es la representación detallada en forma grafica de cómo debemos realizarse los pasos en Excel para realizar nuestro sub programa. Esta representación se da cuando varios símbolos, se relacionan entre si mediante líneas que indican el orden el orden en que se deben ejecutar los procesos.los símbolos utilizados han sido normalizados por el instituto norteamericano de normalización (ANSI).
Recomendaciones para el diseño de un diagrama de flujo •
Se deben usar líneas de flujo horizontal y/o vertical.
•
Se deben evitar cruce de líneas utilizando los conectores.
•
Se deben usar conectores solo cuando es necesario.
•
No deben quedar líneas de flujo sin conectar.
•
Se deben de trazar los símbolos de manera que se pueda leer de arriba hacia abajo y de izquierda a derecha.
•
Todo texto escrito dentro de un símbolo deberá ser escrito claramente, evitando el uso de muchas palabras.
A su vez, es importante que al construir diagramas de flujo tomar las siguientes precauciones: • •
•
Evitar sumideros infinitos, burbujas que tienen entradas pero no salidas. Evitar las burbujas de generación espontánea, que tienen salidas sin tener entradas, porque son sumamente sospechosas y generalmente incorrectas. Tener cuidado con los flujos y procesos no etiquetados. Esto suele ser un indicio de falta de esmero, pero puede esconder un error aún más grave: a veces el analista no etiqueta un flujo o un proceso porque simplemente no se le ocurre algún nombre razonable.
Pág.| 5
SIMBOLO DESCRIPCION
Indica el inicio y el final de nuestro diagrama de flujo
Indica la entrada y salida de datos.
Símbolo de procesos y nos indica la asignación de un valor en la memoria y/o la ejecución de una operación aritmética
Conector dentro de una pagina. Representa la
Pág.| 6
continuidad del diagrama.
Conector fuera de una pagina. Representa la continuidad del diagrama en otra pagina.
Indica la salida de información en la pantalla o Monitor
Estructura de selección binaria(If...Then...Else). Dada una expresión binaria permite escoger una opción en caso contrario la otra opción
Pág.| 7
Estructura de selección múltiple (Select Case).Dada una expresión permite escoger una opción de muchas.
Estructura (WHILE). Repetir instrucciones mientras una condición es verdadera , si es falsa la repetición cesara.
Pág.| 8
Estructura (For... To … Step….). Esta estructura de Control repetitiva se usa cuando se conoce de antemano el numero de interacciones.
Estructura (UNTIL). Repite las instrucciones hasta que una condición llegue a ser verdadera .
Pág.| 9
Pasos para elaborar un algoritmo Especificación de un programa Es la definición del problema o análisis del programa. En este paso se determinan la información inicial para la elaboración del programa. Es donde se determina qué es lo que debe resolverse nuestro sub programa
Determinación de objetivos del programa. Debe definirse claramente los problemas particulares que deberán ser resueltos o las tareas que hay que realizar, esto nos permitirá saber qué es lo que se pretende solucionar y nos proporcionará información útil para el planeamiento de la solución. Determinación de los datos de entrada. Una vez identificada la salida que se desea, identificar las funciones de Excel que se van ha usar. Determinación de los requerimientos de procesamiento. Aquí se definen las tareas de y funciones de Excel para el procesamiento del sub programa. Determinación de la salida deseada.
Pรกg.| 10 Los datos seleccionados deben ser arreglados en una forma ordenada para producir informaciรณn..
Elaboraciรณn de algoritmo de soluciรณn
Pág.| 11
Descripción del algoritmo de solución Datos de Entrada: Representa la operación o acción que permite la recopilación de información Oportuna y pertinente, antes de empezar un problema tiene una que plantearse esta pregunta: ¿Qué datos pertinentes necesito Para resolver r este problema, se debe hacer énfasis en esto aprender a discernir qué información es importante y cual podemos dejar de lado. Por ejemplo para calcular el promedio de 5 calificaciones, me dan la siguiente información Calificación 1, calificación 2, calificación 3, calificación 4, calificación 5, edad, nombre, estatura, temperatura del ambiente Pregunta ¿Qué datos necesito para resolver este problema? Si de escoger se trata, la información más importante y que va a dar respuesta a mi problema serían las 5 calificaciones, la información restante carece de importancia para los fines que persigue este problema específico. Cada uno de estos datos se debe
Pág.| 12 guardar en variables que en este caso, para manejarlo en Excel se guardan en celdas. A1, R600, BB, etc.
Proceso: Representa la operación o conjunto de operaciones secuenciales, cuyo objetivo es obtener r la solución al problema. El proceso pueden ser fórmulas aritméticas, o que realicen el tratamiento de texto o cadenas, el resultad o de estas Operaciones deben guardarse en variables hablando de un lenguaje de programación o en celdas hablando de Excel. Haciendo referencia al ejemplo de los promedios. La fórmula utilizada sería P=(cal1+cal2+cal3+cal4 +
Salida o Impresión: Representa una operación o conjunto de operaciones que permiten comunicar a l exterior el o los resultados alcanzados. Aquí nos debemos formular la siguiente pregunta: ¿Que es lo que quiero de s alida , que resultados ? Dependiendo de esto, la entrada y el proceso deberán ir ligadas lógicamente a la salida y proporcionar los resultados deseados a la salida. Este resultado lo podemos enviar al monitor o a la impresora o al web. Haciendo referencia al ejemplo antes mencionado la salida sería P que sería el promedio de las 5 calificaciones
Ejemplo con problema de decisión simple Diseñar un codigo Excel que indique en La celda H2 si La celda A1 es numero Par SOLUCION ¿Qué INFORMACION NECESITAMOS? ENTRADA Digitar en la CELDA H2 un valor numérico
¿Qué FORMULAS NECESITAMOS? PROCESO PREGUNTAR A LA CELDA H2 si es un numero par o impar
¿Qué RESULTADOS DESEAMOS? SALIDA Visualizar el número 2 en la celda A1 si es número par Visualizar el número 1 en la celda A1 si es número impar
Pág.| 13 Inicio
Entrada
SI
NO
H2= par A1=PAR
A1=IMPAR
Fin
Operadores utilizados en fórmulas Excel Los operadores especifican el tipo de cálculo que se desea realizar con los elementos de una fórmula. Microsoft Excel incluye cuatro tipos diferentes de operadores de cálculo: aritmético, comparación, texto y referencia. Operadores aritméticos Para ejecutar las operaciones matemáticas básicas como suma, resta o multiplicación, combinar números y generar resultados numéricos, utilice los siguientes operadores aritméticos. Operador aritmético
Significado (Ejemplo)
+ (signo más)
Suma (3+3)
- (signo menos)
Resta (3-1) Negación (-1)
* (asterisco)
Multiplicación (3*3)
Pág.| 14
/ (barra oblicua)
División (3/3)
% (signo de porcentaje)
Porcentaje (20%)
^ (acento circunflejo)
Exponenciación (3^2)
Operadores de comparación Se pueden comparar dos valores con los siguientes operadores. Cuando se comparan dos valores utilizando estos operadores, el resultado es un valor lógico: VERDADERO o FALSO. Operador de comparación
Significado (Ejemplo)
= (signo igual)
Igual a (A1=B1)
>(signo mayor que)
Mayor que (A1>B1)
<(signo menor que)
Menor que (A1<B1)
>= (signo igual o mayor que)
Igual o mayor que (A1>=B1)
<= (signo igual o menor que)
Igual o menor que (A1<=B1)
<>(signo distinto de)
Distinto de (A1<>B1)
Operador de concatenación de texto Utilice el signo (&) para unir o concatenar una o varias cadenas de texto con el fin de generar un solo elemento de texto. Operador de texto & ("y" comercial)
Significado (Ejemplo) Conecta o concatena dos valores para generar un valor de texto continuo ("Viento"&"norte")
Operadores de referencia Combinan rangos de celdas para los cálculos con los siguientes operadores.
Pág.| 15 Operador de
Significado (Ejemplo)
referencia : (dos puntos)
Operador de rango que genera una referencia a todas las celdas entre dos referencias, éstas incluidas (B5:B15)
, (coma)
Operador de unión que combina varias referencias en una sola (SUMA(B5:B15,D5:D15))
(espacio)
Operador de intersección que genera una referencia a celdas comunes a las dos referencias (B7:D7 C6:C8)
Orden en que Excel ejecuta las operaciones en las fórmulas Las fórmulas calculan los valores en un orden específico. Las fórmulas de Excel siempre comienzan por un signo igual (=). El signo igual indica a Excel que los caracteres siguientes constituyen una fórmula. Detrás del signo igual están los elementos que se van a calcular (los operandos), separados por operadores de cálculo. Excel calcula la fórmula de izquierda a derecha, según el orden específico de cada operador de la fórmula. Precedencia de los operadores Si se combinan varios operadores en una única fórmula, Excel ejecutará las operaciones en el orden que se indica en la tabla a continuación. Si una fórmula contiene operadores con la misma precedencia (por ejemplo, si una fórmula contiene un operador de multiplicación y otro de división), Excel evaluará los operadores de izquierda a derecha. Operador
Descripción
: (dos puntos) (un solo espacio)
Operadores de referencia
, (coma) -
Negación (como en -1)
%
Porcentaje
^
Exponenciación
*y/
Multiplicación y división
+y-
Suma y resta
&
Conecta dos cadenas de texto (concatenación)
= < > <= >= <>
Comparación
Pág.| 16 Uso de paréntesis Para cambiar el orden de evaluación, escriba entre paréntesis la parte de la fórmula que se calculará en primer lugar. Por ejemplo, la siguiente fórmula da un resultado de11 porque Excel calcula la multiplicación antes que la suma. La fórmula multiplica 2 por 3 y, a continuación, suma 5 al resultado. =5+2*3 Por el contrario, si se utilizan paréntesis para cambiar la sintaxis, Excel sumará 5 y 2 y, a continuación, multiplica el resultado por 3, con lo que se obtiene 21. =(5+2)*3 En el siguiente ejemplo, los paréntesis que rodean la primera parte de la fórmula indican a Excel que calcule B4+25 primero y después divida el resultado por la suma de los valores de las celdas D5, E5 y F5. =(B4+25)/SUMA(D5:F5) Constantes en las fórmulas Una constante es un valor que no se calcula. Por ejemplo, la fecha 9-10-2008, el número 210 y el texto "Ganancias trimestrales" son constantes. Una expresión, o un valor obtenido como resultado de una expresión, no es una constante. Si utiliza valores constantes en la fórmula en vez de referencias a celdas (por ejemplo, =30+70+110), el resultado cambia sólo si modifica la fórmula.
Funciones de la hoja de cálculo EXCEL por categoría. Para conocer las funciones que necesitamos (podemos ir al icono insertar función, luego presionar ayuda sobre esta función ahí nos mostrara como usar la función adecuadamente) Funciones de complementos y automatización Funciones de cubo Funciones de base de datos Funciones de fecha y hora
Pág.| 17 Funciones de ingeniería Funciones financieras Funciones de información Funciones lógicas Funciones de búsqueda y referencia Funciones matemáticas y trigonométricas Funciones estadísticas Funciones de texto
Funciones de complementos y automatización Función
Descripción
LLAMAR
Llama a un procedimiento de una biblioteca de vínculos dinámicos o de un recurso de código.
EUROCONVERT
Convierte un número determinado a euros; convierte un número determinado de euros a la moneda de un estado miembro; o convierte un número dado de una moneda de un estado miembro a la de otro con el euro como moneda intermedia (triangulación)
IMPORTARDATOSDINAM Devuelve los datos almacenados en un informe de tabla ICOS dinámica. ID.REGISTRO
Devuelve el número de identificación del registro de la biblioteca de vínculos dinámicos (DLL) especificada o del recurso de código previamente registrado.
SQL.REQUEST
Establece conexión con un origen de datos externo, ejecuta una consulta desde una hoja de cálculo y, a continuación, devuelve el resultado en forma de matriz sin necesidad de programar una macro
Funciones de cubo Función
Descripción
MIEMBROKPICUBO
Devuelve un nombre, propiedad y medida de indicador de rendimiento clave (KPI) y muestra el nombre y la propiedad en la celda. Un KPI es una medida cuantificable, como los beneficios brutos mensuales o la facturación trimestral por empleado, que se usa para supervisar el rendimiento de una organización.
Pág.| 18 MIEMBROCUBO
Devuelve un miembro o tupla en una jerarquía de cubo. Se usa para validar la existencia del miembro o la tupla en el cubo.
PROPIEDADMIEMBROC Devuelve el valor de una propiedad de miembro del cubo Se usa UBO para validar la existencia de un nombre de miembro en el cubo y para devolver la propiedad especificada para este miembro. MIEMBRORANGOCUBO Devuelve el miembro n, o clasificado, de un conjunto. Se usa para devolver uno o más elementos de un conjunto, por ejemplo, el representante con mejores ventas o los diez mejores alumnos. CONJUNTOCUBO
Define un conjunto calculado de miembros o tuplas mediante el envío de una expresión de conjunto al cubo en el servidor, lo que crea el conjunto y, después, devuelve dicho conjunto a Microsoft Office Excel.
RECUENTOCONJUNTO Devuelve el número de elementos de un conjunto. CUBO VALORCUBO
Devuelve un valor agregado de un cubo.
Funciones de base de datos Función
Descripción
BDPROMED Devuelve el promedio de las entradas seleccionadas en la base de datos. IO BDCONTAR Cuenta el número de celdas que contienen números en una base de datos. BDCONTAR Cuenta el número de celdas no vacías en una base de datos. A BDEXTRAE Extrae de una base de datos un único registro que cumple los criterios
Pág.| 19 R
especificados.
BDMAX
Devuelve el valor máximo de las entradas seleccionadas de la base de datos.
BDMIN
Devuelve el valor mínimo de las entradas seleccionadas de la base de datos.
BDPRODUC Multiplica los valores de un campo concreto de registros de una base de TO datos que cumplen los criterios especificados. BDDESVES Calcula la desviación estándar a partir de una muestra de entradas T seleccionadas en la base de datos. BDDESVES Calcula la desviación estándar en función de la población total de las TP entradas seleccionadas de la base de datos. BDSUMA
Suma los números de la columna de campo de los registros de la base de datos que cumplen los criterios.
BDVAR
Calcula la varianza a partir de una muestra de entradas seleccionadas de la base de datos.
BDVARP
Calcula la varianza a partir de la población total de entradas seleccionadas de la base de datos.
Funciones de fecha y hora Función
Descripción
FECHA
Devuelve el número de serie correspondiente a una fecha determinada.
FECHANUMER Convierte una fecha con formato de texto en un valor de número de serie. O DIA
Convierte un número de serie en un valor de día del mes.
DIAS360
Calcula el número de días entre dos fechas a partir de un año de 360 días.
FECHA.MES
Devuelve el número de serie de la fecha equivalente al número indicado de meses anteriores o posteriores a la fecha inicial.
FIN.MES
Devuelve el número de serie correspondiente al último día del mes anterior o posterior a un número de meses especificado.
HORA
Convierte un número de serie en un valor de hora.
MINUTO
Convierte un número de serie en un valor de minuto.
MES
Convierte un número de serie en un valor de mes.
DIAS.LAB
Devuelve el número de todos los días laborables existentes entre dos
fechas.
Pág.| 20 AHORA
Devuelve el número de serie correspondiente a la fecha y hora actuales.
SEGUNDO
Convierte un número de serie en un valor de segundo.
HORA
Devuelve el número de serie correspondiente a una hora determinada.
HORANUMER Convierte una hora con formato de texto en un valor de número de serie. O HOY
Devuelve el número de serie correspondiente al día actual.
DIASEM
Convierte un número de serie en un valor de día de la semana.
NUM.DE.SEMA Convierte un número de serie en un número que representa el lugar NA numérico correspondiente a una semana de un año. DIA.LAB
Devuelve el número de serie de la fecha que tiene lugar antes o después de un número determinado de días laborables.
AÑO
Convierte un número de serie en un valor de año.
FRAC.AÑO
Devuelve la fracción de año que representa el número total de días existentes entre el valor de fecha_inicial y el de fecha_final.
Funciones de ingeniería Función
Descripción
BESSELI
Devuelve la función Bessel In(x) modificada.
BESSELJ
Devuelve la función Bessel Jn(x).
BESSELK
Devuelve la función Bessel Kn(x) modificada.
BESSELY
Devuelve la función Bessel Yn(x).
BIN.A.DEC
Convierte un número binario en decimal.
BIN.A.HEX
Convierte un número binario en hexadecimal.
BIN.A.OCT
Convierte un número binario en octal.
COMPLEJO
Convierte coeficientes reales e imaginarios en un número complejo.
CONVERTIR
Convierte un número de un sistema de medida a otro.
DEC.A.BIN
Convierte un número decimal en binario.
DEC.A.HEX
Convierte un número decimal en hexadecimal.
Pág.| 21 DEC.A.OCT
Convierte un número decimal en octal.
DELTA
Comprueba si dos valores son iguales.
FUN.ERROR
Devuelve la función de error.
FUN.ERROR.CO Devuelve la función de error complementario. MPL MAYOR.O.IGUA Comprueba si un número es mayor que un valor de L umbral. HEX.A.BIN
Convierte un número hexadecimal en binario.
HEX.A.DEC
Convierte un número hexadecimal en decimal.
HEX.A.OCT
Convierte un número hexadecimal en octal.
IM.ABS
Devuelve el valor absoluto (módulo) de un número complejo.
IMAGINARIO
Devuelve el coeficiente imaginario de un número complejo.
IM.ANGULO
Devuelve el argumento theta, un ángulo expresado en radianes.
IM.CONJUGADA Devuelve la conjugada compleja de un número complejo. IM.COS
Devuelve el coseno de un número complejo.
IM.DIV
Devuelve el cociente de dos números complejos.
IM.EXP
Devuelve el valor exponencial de un número complejo.
IM.LN
Devuelve el logaritmo natural (neperiano) de un número complejo.
IM.LOG10
Devuelve el logaritmo en base 10 de un número complejo.
IM.LOG2
Devuelve el logaritmo en base 2 de un número complejo.
IM.POT
Devuelve un número complejo elevado a una potencia entera.
IM.PRODUCT
Devuelve el producto de números complejos.
IM.REAL
Devuelve el coeficiente real de un número complejo.
Pág.| 22 IM.SENO
Devuelve el seno de un número complejo.
IM.RAIZ2
Devuelve la raíz cuadrada de un número complejo.
IM.SUSTR
Devuelve la diferencia entre dos números complejos.
IM.SUM
Devuelve la suma de números complejos.
OCT.A.BIN
Convierte un número octal en binario.
OCT.A.DEC
Convierte un número octal en decimal.
OCT.A.HEX
Convierte un número octal en hexadecimal.
Funciones financieras Función
Descripción
INT.ACUM
Devuelve el interés acumulado de un valor bursátil con pagos de interés periódicos.
INT.ACUM.V
Devuelve el interés acumulado de un valor bursátil con pagos de interés al vencimiento.
AMORTIZ.PROGRE
Devuelve la amortización de cada período contable mediante el uso de un coeficiente de amortización.
AMORTIZ.LIN
Devuelve la amortización de cada uno de los períodos contables.
CUPON.DIAS.L1
Devuelve el número de días desde el principio del período de un cupón hasta la fecha de liquidación.
CUPON.DIAS
Devuelve el número de días del período (entre dos cupones) donde se encuentra la fecha de liquidación.
CUPON.DIAS.L2
Devuelve el número de días desde la fecha de liquidación hasta la fecha del próximo cupón.
CUPON.FECHA.L2
Devuelve la fecha del próximo cupón después de la fecha de liquidación.
CUPON.NUM
Devuelve el número de pagos de cupón entre la fecha de liquidación y la fecha de vencimiento.
CUPON.FECHA.L1
Devuelve la fecha de cupón anterior a la fecha de liquidación.
PAGO.INT.ENTRE
Devuelve el interés acumulado pagado entre dos períodos.
PAGO.PRINC.ENTRE
Devuelve el capital acumulado pagado de un préstamo entre dos
períodos.
Pág.| 23 DB
Devuelve la amortización de un bien durante un período específico a través del método de amortización de saldo fijo.
DDB
Devuelve la amortización de un bien durante un período específico a través del método de amortización por doble disminución de saldo u otro método que se especifique.
TASA.DESC
Devuelve la tasa de descuento de un valor bursátil.
MONEDA.DEC
Convierte una cotización de un valor bursátil expresada en forma fraccionaria en una cotización de un valor bursátil expresada en forma decimal.
MONEDA.FRAC
Convierte una cotización de un valor bursátil expresada en forma decimal en una cotización de un valor bursátil expresada en forma fraccionaria.
DURACION
Devuelve la duración anual de un valor bursátil con pagos de interés periódico.
INT.EFECTIVO
Devuelve la tasa de interés anual efectiva.
VF
Devuelve el valor futuro de una inversión.
VF.PLAN
Devuelve el valor futuro de un capital inicial después de aplicar una serie de tasas de interés compuesto.
TASA.INT
Devuelve la tasa de interés para la inversión total de un valor bursátil.
PAGOINT
Devuelve el pago de intereses de una inversión durante un período determinado.
TIR
Devuelve la tasa interna de retorno para una serie de flujos de efectivo periódicos.
INT.PAGO.DIR
Calcula el interés pagado durante un período específico de una inversión.
DURACION.MODIF
Devuelve la duración de Macauley modificada de un valor bursátil con un valor nominal supuesto de 100 $.
TIRM
Devuelve la tasa interna de retorno donde se financian flujos de efectivo positivos y negativos a tasas diferentes.
TASA.NOMINAL
Devuelve la tasa nominal de interés anual.
NPER
Devuelve el número de períodos de una inversión.
VNA
Devuelve el valor neto actual de una inversión en función de una
serie de flujos periódicos de efectivo y una tasa de descuento.
Pág.| 24
PRECIO.PER.IRREGUL Devuelve el precio por un valor nominal de 100 $ de un valor AR.1 bursátil con un primer período impar. RENDTO.PER.IRREGU Devuelve el rendimiento de un valor bursátil con un primer LAR.1 período impar. PRECIO.PER.IRREGUL Devuelve el precio por un valor nominal de 100 $ de un valor AR.2 bursátil con un último período impar. RENDTO.PER.IRREGU Devuelve el rendimiento de un valor bursátil con un último período LAR.2 impar. PAGO
Devuelve el pago periódico de una anualidad.
PAGOPRIN
Devuelve el pago de capital de una inversión durante un período determinado.
PRECIO
Devuelve el precio por un valor nominal de 100 $ de un valor bursátil que paga una tasa de interés periódico.
PRECIO.DESCUENTO Devuelve el precio por un valor nominal de 100 $ de un valor bursátil con descuento. PRECIO.VENCIMIENTO Devuelve el precio por un valor nominal de 100 $ de un valor bursátil que paga interés a su vencimiento. VALACT
Devuelve el valor actual de una inversión.
TASA
Devuelve la tasa de interés por período de una anualidad.
CANTIDAD.RECIBIDA Devuelve la cantidad recibida al vencimiento de un valor bursátil completamente invertido. SLN
Devuelve la amortización por método directo de un bien en un período dado.
SYD
Devuelve la amortización por suma de dígitos de los años de un bien durante un período especificado.
LETRA.DE.TES.EQV.A. Devuelve el rendimiento de un bono equivalente a una letra del BONO Tesoro (de EE.UU.) LETRA.DE.TES.PRECIO Devuelve el precio por un valor nominal de 100 $ de una letra del Tesoro (de EE.UU.) LETRA.DE.TES.RENDT Devuelve el rendimiento de una letra del Tesoro (de EE.UU.) O DVS
Devuelve la amortización de un bien durante un período específico o parcial a través del método de cálculo del saldo en disminución.
Pág.| 25 TIR.NO.PER
Devuelve la tasa interna de retorno para un flujo de efectivo que no es necesariamente periódico.
VNA.NO.PER
Devuelve el valor neto actual para un flujo de efectivo que no es necesariamente periódico.
RENDTO
Devuelve el rendimiento de un valor bursátil que paga intereses periódicos.
RENDTO.DESC
Devuelve el rendimiento anual de un valor bursátil con descuento; por ejemplo, una letra del Tesoro (de EE.UU.)
RENDTO.VENCTO
Devuelve el rendimiento anual de un valor bursátil que paga intereses al vencimiento.
Funciones de información Función
Descripción
CELDA
Devuelve información acerca del formato, la ubicación o el contenido de una celda.
TIPO.DE.ER Devuelve un número que corresponde a un tipo de error. ROR INFO
Devuelve información acerca del entorno operativo en uso.
ESBLANCO Devuelve VERDADERO si el valor está en blanco. ESERR
Devuelve VERDADERO si el valor es cualquier valor de error excepto #N/A.
ESERROR
Devuelve VERDADERO si el valor es cualquier valor de error.
ES.PAR
Devuelve VERDADERO si el número es par.
ESLOGICO
Devuelve VERDADERO si el valor es un valor lógico.
ESNOD
Devuelve VERDADERO si el valor es el valor de error #N/A.
ESNOTEXTO Devuelve VERDADERO si el valor no es texto. ESNUMERO Devuelve VERDADERO si el valor es un número. ES.IMPAR
Devuelve VERDADERO si el número es impar.
ESREF
Devuelve VERDADERO si el valor es una referencia.
ESTEXTO
Devuelve VERDADERO si el valor es texto.
Pág.| 26 N
Devuelve un valor convertido en un número.
ND
Devuelve el valor de error #N/A.
TIPO
Devuelve un número que indica el tipo de datos de un valor.
Funciones lógicas Función Descripción Y
Devuelve VERDADERO si todos sus argumentos son VERDADERO.
FALSO
Devuelve el valor lógico FALSO.
SI
Especifica una prueba lógica que realizar.
SI.ERROR Devuelve un valor que se especifica si una fórmula lo evalúa como un error; de lo contrario, devuelve el resultado de la fórmula. NO
Invierte el valor lógico del argumento.
O
Devuelve VERDADERO si cualquier argumento es VERDADERO.
VERDADE Devuelve el valor lógico VERDADERO. RO
Funciones de búsqueda y referencia Función
Descripción
DIRECCION Devuelve una referencia como texto a una sola celda de una hoja de cálculo. AREAS
Devuelve el número de áreas de una referencia.
ELEGIR
Elige un valor de una lista de valores.
COLUMNA
Devuelve el número de columna de una referencia.
COLUMNAS Devuelve el número de columnas de una referencia. BUSCARH
Busca en la fila superior de una matriz y devuelve el valor de la celda indicada.
HIPERVINCU Crea un acceso directo o un salto que abre un documento almacenado en un LO servidor de red, en una intranet o en Internet. INDICE
Usa un índice para elegir un valor de una referencia o matriz.
INDIRECTO Devuelve una referencia indicada por un valor de texto.
Pág.| 27 BUSCAR
Busca valores de un vector o una matriz.
COINCIDIR Busca valores de una referencia o matriz. DESREF
Devuelve un desplazamiento de referencia respecto a una referencia dada.
FILA
Devuelve el número de fila de una referencia.
FILAS
Devuelve el número de filas de una referencia.
RDTR
Recupera datos en tiempo real desde un programa compatible con la automatización COM (automatización: modo de trabajar con los objetos de una aplicación desde otra aplicación o herramienta de entorno. La automatización, antes denominada automatización OLE, es un estándar de la industria y una función del Modelo de objetos componentes (COM).).
TRANSPONE Devuelve la transposición de una matriz. R BUSCARV
Busca en la primera columna de una matriz y se mueve en horizontal por la fila para devolver el valor de una celda.
Funciones matemáticas y trigonométricas Función
Descripción
ABS
Devuelve el valor absoluto de un número.
ACOS
Devuelve el arcocoseno de un número.
ACOSH
Devuelve el coseno hiperbólico inverso de un número.
ASENO
Devuelve el arcoseno de un número.
ASENOH
Devuelve el seno hiperbólico inverso de un número.
ATAN
Devuelve la arcotangente de un número.
ATAN2
Devuelve la arcotangente de las coordenadas "x" e "y".
ATANH
Devuelve la tangente hiperbólica inversa de un número.
MULTIPLO.SUPER Redondea un número al entero más próximo o al múltiplo significativo IOR más cercano. COMBINAT
Devuelve el número de combinaciones para un número determinado de objetos.
COS
Devuelve el coseno de un número.
Pág.| 28 COSH GRADOS
Devuelve el coseno hiperbólico de un número. Convierte radianes en grados.
REDONDEA.PAR Redondea un número hasta el entero par más próximo. EXP
Devuelve e elevado a la potencia de un número dado.
FACT
Devuelve el factorial de un número.
FACT.DOBLE
Devuelve el factorial doble de un número.
MULTIPLO.INFERI Redondea un número hacia abajo, en dirección hacia cero. OR M.C.D
Devuelve el máximo común divisor.
ENTERO
Redondea un número hacia abajo hasta el entero más próximo.
M.C.M
Devuelve el mínimo común múltiplo.
LN
Devuelve el logaritmo natural (neperiano) de un número.
LOG
Devuelve el logaritmo de un número en una base especificada.
LOG10
Devuelve el logaritmo en base 10 de un número.
MDETERM
Devuelve la determinante matricial de una matriz.
MINVERSA
Devuelve la matriz inversa de una matriz.
MMULT
Devuelve el producto de matriz de dos matrices.
RESIDUO
Devuelve el resto de la división.
REDOND.MULT
Devuelve un número redondeado al múltiplo deseado.
MULTINOMIAL
Devuelve el polinomio de un conjunto de números.
REDONDEA.IMPA Redondea un número hacia arriba hasta el entero impar más próximo. R PI
Devuelve el valor de pi.
POTENCIA
Devuelve el resultado de elevar un número a una potencia.
PRODUCTO
Multiplica sus argumentos.
COCIENTE
Devuelve la parte entera de una división.
RADIANES
Convierte grados en radianes.
ALEATORIO
Devuelve un número aleatorio entre 0 y 1.
ALEATORIO.ENTR Devuelve un número aleatorio entre los números que especifique.
Pág.| 29 E NUMERO.ROMAN Convierte un número arábigo en número romano, con formato de O texto. REDONDEAR
Redondea un número al número de decimales especificado.
REDONDEAR.ME Redondea un número hacia abajo, en dirección hacia cero. NOS REDONDEAR.MA Redondea un número hacia arriba, en dirección contraria a cero. S SUMA.SERIES
Devuelve la suma de una serie de potencias en función de la fórmula.
SIGNO
Devuelve el signo de un número.
SENO
Devuelve el seno de un ángulo determinado.
SENOH
Devuelve el seno hiperbólico de un número.
RAIZ
Devuelve la raíz cuadrada positiva de un número.
RAIZ2PI
Devuelve la raíz cuadrada de un número multiplicado por PI (número * pi).
SUBTOTALES
Devuelve un subtotal en una lista o base de datos.
SUMA
Suma sus argumentos.
SUMAR.SI
Suma las celdas especificadas que cumplen unos criterios determinados.
SUMAR.SI.CONJU Suma las celdas de un rango que cumplen varios criterios. NTO SUMAPRODUCTO Devuelve la suma de los productos de los correspondientes componentes de matriz. SUMA.CUADRAD Devuelve la suma de los cuadrados de los argumentos. OS SUMAX2MENOSY Devuelve la suma de la diferencia de los cuadrados de los valores 2 correspondientes de dos matrices. SUMAX2MASY2
Devuelve la suma de la suma de los cuadrados de los valores correspondientes de dos matrices.
SUMAXMENOSY2 Devuelve la suma de los cuadrados de las diferencias de los valores correspondientes de dos matrices. TAN
Devuelve la tangente de un número.
TANH
Devuelve la tangente hiperbólica de un número.
Pág.| 30 TRUNCAR
Trunca un número a un entero.
Funciones estadísticas Función
Descripción
DESVPROM
Devuelve el promedio de las desviaciones absolutas de la media de los puntos de datos.
PROMEDIO
Devuelve el promedio de sus argumentos.
PROMEDIOA
Devuelve el promedio de sus argumentos, incluidos números, texto y valores lógicos.
PROMEDIO.SI
Devuelve el promedio (media aritmética) de todas las celdas de un rango que cumplen unos criterios determinados.
PROMEDIO.SI.CONJUN Devuelve el promedio (media aritmética) de todas las celdas que TO cumplen múltiples criterios. DISTR.BETA
Devuelve la función de distribución beta acumulativa.
DISTR.BETA.INV
Devuelve la función inversa de la función de distribución acumulativa de una distribución beta especificada.
DISTR.BINOM
Devuelve la probabilidad de una variable aleatoria discreta siguiendo una distribución binomial.
DISTR.CHI
Devuelve la probabilidad de una variable aleatoria continua siguiendo una distribución chi cuadrado de una sola cola.
PRUEBA.CHI.INV
Devuelve la función inversa de la probabilidad de una variable aleatoria continua siguiendo una distribución chi cuadrado de una sola cola.
PRUEBA.CHI
Devuelve la prueba de independencia.
INTERVALO.CONFIANZ Devuelve el intervalo de confianza de la media de una población. A COEF.DE.CORREL
Devuelve el coeficiente de correlación entre dos conjuntos de datos.
CONTAR
Cuenta cuántos números hay en la lista de argumentos.
CONTARA
Cuenta cuántos valores hay en la lista de argumentos.
CONTAR.BLANCO
Cuenta el número de celdas en blanco de un rango.
Pág.| 31 CONTAR.SI
Cuenta el número de celdas, dentro del rango, que cumplen el criterio especificado.
CONTAR.SI.CONJUNTO Cuenta el número de celdas, dentro del rango, que cumplen varios criterios. COVAR
Devuelve la covarianza, que es el promedio de los productos de las desviaciones para cada pareja de puntos de datos.
BINOM.CRIT
Devuelve el menor valor cuya distribución binomial acumulativa es menor o igual a un valor de criterio.
DESVIA2
Devuelve la suma de los cuadrados de las desviaciones.
DISTR.EXP
Devuelve la distribución exponencial.
DISTR.F
Devuelve la distribución de probabilidad F.
DISTR.F.INV
Devuelve la función inversa de la distribución de probabilidad F.
FISHER
Devuelve la transformación Fisher.
PRUEBA.FISHER.INV
Devuelve la función inversa de la transformación Fisher.
PRONOSTICO
Devuelve un valor en una tendencia lineal.
FRECUENCIA
Devuelve una distribución de frecuencia como una matriz vertical.
PRUEBA.F
Devuelve el resultado de una prueba F.
DISTR.GAMMA
Devuelve la distribución gamma.
DISTR.GAMMA.INV
Devuelve la función inversa de la distribución gamma acumulativa.
GAMMA.LN
Devuelve el logaritmo natural de la función gamma, G(x).
MEDIA.GEOM
Devuelve la media geométrica.
CRECIMIENTO
Devuelve valores en una tendencia exponencial.
MEDIA.ARMO
Devuelve la media armónica.
DISTR.HIPERGEOM
Devuelve la distribución hipergeométrica.
INTERSECCION.EJE
Devuelve la intersección de la línea de regresión lineal.
CURTOSIS
Devuelve la curtosis de un conjunto de datos.
K.ESIMO.MAYOR
Devuelve el k-ésimo mayor valor de un conjunto de datos.
ESTIMACION.LINEAL
Devuelve los parámetros de una tendencia lineal.
Pág.| 32 ESTIMACION.LOGARIT Devuelve los parámetros de una tendencia exponencial. MICA
DISTR.LOG.INV
Devuelve la función inversa de la distribución logarítmico-normal.
DISTR.LOG.NORM
Devuelve la distribución logarítmico-normal acumulativa.
MAX
Devuelve el valor máximo de una lista de argumentos.
MAXA
Devuelve el valor máximo de una lista de argumentos, incluidos números, texto y valores lógicos.
MEDIANA
Devuelve la mediana de los números dados.
MIN
Devuelve el valor mínimo de una lista de argumentos.
MINA
Devuelve el valor mínimo de una lista de argumentos, incluidos números, texto y valores lógicos.
MODA
Devuelve el valor más común de un conjunto de datos.
NEGBINOMDIST
Devuelve la distribución binomial negativa.
DISTR.NORM
Devuelve la distribución normal acumulativa.
DISTR.NORM.INV
Devuelve la función inversa de la distribución normal acumulativa.
DISTR.NORM.ESTAND Devuelve la distribución normal estándar acumulativa. DISTR.NORM.ESTAND. Devuelve la función inversa de la distribución normal estándar INV acumulativa. PEARSON
Devuelve el coeficiente de momento de correlación de producto Pearson.
PERCENTIL
Devuelve el k-ésimo percentil de los valores de un rango.
RANGO.PERCENTIL
Devuelve el rango porcentual de un valor de un conjunto de datos.
PERMUTACIONES
Devuelve el número de permutaciones de un número determinado de objetos.
POISSON
Devuelve la distribución de Poisson.
PROBABILIDAD
Devuelve la probabilidad de que los valores de un rango se encuentren entre dos límites.
CUARTIL
Devuelve el cuartil de un conjunto de datos.
JERARQUIA
Devuelve la jerarquía de un número en una lista de números.
COEFICIENTE.R2
Devuelve el cuadrado del coeficiente de momento de correlación de producto Pearson.
Pág.| 33 COEFICIENTE.ASIMET Devuelve la asimetría de una distribución. RIA
PENDIENTE
Devuelve la pendiente de la línea de regresión lineal.
K.ESIMO.MENOR
Devuelve el k-ésimo menor valor de un conjunto de datos.
NORMALIZACION
Devuelve un valor normalizado.
DESVEST
Calcula la desviación estándar a partir de una muestra.
DESVESTA
Calcula la desviación estándar a partir de una muestra, incluidos números, texto y valores lógicos.
DESVESTP
Calcula la desviación estándar en función de toda la población.
DESVESTPA
Calcula la desviación estándar en función de toda la población, incluidos números, texto y valores lógicos.
ERROR.TIPICO.XY
Devuelve el error estándar del valor de "y" previsto para cada "x" de la regresión.
DISTR.T
Devuelve la distribución de t de Student.
DISTR.T.INV
Devuelve la función inversa de la distribución de t de Student.
TENDENCIA
Devuelve valores en una tendencia lineal.
MEDIA.ACOTADA
Devuelve la media del interior de un conjunto de datos.
PRUEBA.T
Devuelve la probabilidad asociada a una prueba t de Student.
VAR
Calcula la varianza en función de una muestra.
VARA
Calcula la varianza en función de una muestra, incluidos números, texto y valores lógicos.
VARP
Calcula la varianza en función de toda la población.
VARPA
Calcula la varianza en función de toda la población, incluidos números, texto y valores lógicos.
DIST.WEIBULL
Devuelve la distribución de Weibull.
PRUEBA.Z
Devuelve el valor de una probabilidad de una cola de una prueba z.
Funciones de texto Función
Descripción
Pág.| 34 ASC
Convierte las letras inglesas o katakana de ancho completo (de dos bytes) dentro de una cadena de caracteres en caracteres de ancho medio (de un byte).
TEXTOBAHT
Convierte un número en texto, con el formato de moneda ß (Baht).
CARACTER
Devuelve el carácter especificado por el número de código.
LIMPIAR
Quita del texto todos los caracteres no imprimibles.
CODIGO
Devuelve un código numérico del primer carácter de una cadena de texto.
CONCATENAR
Concatena varios elementos de texto en uno solo.
MONEDA
Convierte un número en texto, con el formato de moneda $ (dólar).
IGUAL
Comprueba si dos valores de texto son idénticos.
ENCONTRAR, ENCONTRARB
Busca un valor de texto dentro de otro (distingue mayúsculas de minúsculas).
DECIMAL
Da formato a un número como texto con un número fijo de decimales.
JIS
Convierte las letras inglesas o katakana de ancho medio (de un byte) dentro de una cadena de caracteres en caracteres de ancho completo (de dos bytes).
IZQUIERDA, IZQUIERDAB
Devuelve los caracteres del lado izquierdo de un valor de texto.
LARGO, LARGOB Devuelve el número de caracteres de una cadena de texto. MINUSC
Pone el texto en minúsculas.
EXTRAE, EXTRAEB
Devuelve un número específico de caracteres de una cadena de texto que comienza en la posición que se especifique.
FONETICO
Extrae los caracteres fonéticos (furigana) de una cadena de texto.
NOMPROPIO
Pone en mayúscula la primera letra de cada palabra de un valor de texto.
REEMPLAZAR, REEMPLAZARB
Reemplaza caracteres de texto.
REPETIR
Repite el texto un número determinado de veces.
DERECHA, DERECHAB
Devuelve los caracteres del lado derecho de un valor de texto.
HALLAR, HALLARBBusca un valor de texto dentro de otro (no distingue mayúsculas de
minúsculas).
Pág.| 35 SUSTITUIR
Sustituye texto nuevo por texto antiguo en una cadena de texto.
T
Convierte sus argumentos a texto.
TEXTO
Da formato a un número y lo convierte en texto.
ESPACIOS
Quita los espacios del texto.
MAYUSC
Pone el texto en mayúsculas.
VALOR
Convierte un argumento de texto en un número.
Elaboración de un algoritmo para entorno Excel VB
Titulo del sub programa
Pág.| 36 Dar a conocer qué tipo de componentes se van usar (Declaración de constantes y/o variables)
Entrada (declarar la hoja ,libro.. donde se sitúa el sub programa)
Proceso
Salida
fin del sub programa( End sub)
ejem Sub ejer301() titulo del sub programa 'Declaración de variables Dim Hoja As String Dim celda As String
Pág.| 37
Dim escribir As String 'Entrada de datos Hoja = InputBox("en que hoja queremos situarnos", "datos de la hoja") celda = InputBox("en que celda queremos situarnos", "datos para la celda") escribir = InputBox("que queremos escribir", "datos para la escritura") 'proceso Range(celda).Value = escribir Range(celda).Font.Color = RGB(255, 0, 0) 'Salida Worksheets(Hoja).Activate
End Sub fin del sub programa
Introducción al Editor de Excel Visual Basic Muchas de las tareas que realiza en Excel, como introducir los datos de ventas de un día determinado o agregar una fórmula a una hoja de cálculo, sólo se realizan una vez. Otras tareas, como cambiar el formato de un rango de celdas, se repiten a menudo pero se pueden realizar de manera rápida gracias a las herramientas de Excel. Sin embargo, siempre hay una o dos tareas que se realizan con frecuencia y que son de lenta ejecución. Por ejemplo, puede que desee resaltar las celdas más importantes de una hoja de cálculo cada vez que presente un informe a sus compañeros. En vez de tener que ejecutar una larga serie de pasos manualmente, puede crear una macro, o serie de acciones grabadas, que realice estos pasos automáticamente. O, si conoce el lenguaje de programación Microsoft Visual Basic® para Aplicaciones (VBA), puede escribir una macro personalizada nueva. En cualquier caso, una vez creada la macro podrá ejecutarla, editarla o eliminarla según le convenga.
Pág.| 38
Este artículo es una introducción a la programación orientada a objetos y al Editor de Visual Basic, entorno en el que puede escribir sus propias macros de Excel.
Uso del Editor de Visual Basic El Editor de Visual Basic es una útil herramienta que le permite ampliar la eficacia y versatilidad de las macros más allá de lo posible mediante grabación. Para abrirlo, seleccione Macro en el menú Herramientas y haga clic en Editor de Visual Basic (o presione ALT+F11). Para abrir una macro específica, seleccione Macro en el menú Herramientas y haga clic en Macros (o presione ALT+F8). En el cuadro de diálogo Macro, seleccione la macro que desea editar o ver y haga clic en Editar para abrir el Editor de Visual Basic.
Programación orientada a objetos en el Editor de Visual Basic En el Editor de Visual Basic, puede utilizar la programación orientada a objetos para crear sus propios programas. Un programa es, en principio, un mero conjunto de instrucciones que un equipo ejecuta en un orden específico. En los lenguajes de programación orientada a objetos, todos los aspectos del código informático se basan en los elementos del entorno. Esos "elementos" se representan como objetos, y todas las acciones y todos los datos están encapsulados en dichos objetos. En Excel, los objetos pueden ser libros, hojas de cálculo, rangos de celdas o archivos externos. En general, hay cuatro aspectos de los objetos que se utilizan para desarrollar un programa: propiedades, métodos, eventos y colecciones.
Propiedades Resumiendo, las propiedades son variables que describen algunos aspectos del objeto en el que están incluidas. Una propiedad de objeto común de Excel es Nombre, que encierra el valor identificativo que el usuario o Excel asigna a un libro, a una hoja de cálculo, a un rango de celdas o a otro objeto. Por ejemplo, si modifica el nombre de una hoja de cálculo (utilizando un código VBA o haciendo clic con el botón secundario en la ficha de la hoja de cálculo), se modifica el valor guardado en la propiedad Nombre. Puede definir nuevos valores para algunas propiedades de hoja de cálculo (por ejemplo, el nombre) directamente en VBA. Para cambiar otras propiedades de hoja de cálculo, es posible que necesite grabar una acción en Excel (por ejemplo, los pasos requeridos para proteger un rango de celdas) o utilizar un método (tal y como se describe en la siguiente sección). En VBA, se hace referencia a las propiedades en los programas utilizando la notación con puntos, donde se escribe primero el nombre del objeto y después el nombre de la propiedad, separando estos dos elementos mediante un punto. Por ejemplo, para modificar el nombre de una hoja de cálculo, se utiliza la propiedad hojadecálculo.nombre.
Métodos Un método es una acción que un objeto "sabe" como ejecutar. Por ejemplo, probablemente sabe que la hoja de cálculo que se muestra en la ventana de Excel se conoce como hoja de cálculo activa. En lenguaje VBA de Excel, puede dirigirse a la hoja de cálculo que desea modificar llamando primero a su método Activar. Una vez ejecutado el método Activar, la hoja de cálculo a la que está asociado se coloca al frente del resto de las hojas de cálculo en la ventana de Excel, quedando disponible para su edición. Al igual que ocurre con las propiedades, los métodos se llaman utilizando notación con puntos. Para volver a calcular todas las fórmulas de una hoja de cálculo, por ejemplo, hay que llamar al método hojadecálculo.calcular.
Eventos
Pág.| 39
Igual que una propiedad es un atributo cuantificable de un objeto y que un método es una acción que el objeto sabe ejecutar, un evento es una acción que el objeto "reconoce" que ha ocurrido. Por ejemplo, Excel 2003 reconoce los siguientes eventos (entre otros muchos):
• • • • • • • •
Se ha abierto o cerrado un libro. Se ha activado o desactivado una hoja de cálculo. Se ha guardado un libro. Se ha hecho clic en un gráfico. Se ha presionado una tecla (o una combinación de teclas). Se han escrito datos en una celda. Se han calculado de nuevo las fórmulas de una hoja de cálculo. Se ha seguido un hipervínculo.
Excel incluye varios controladores de eventos, o rutinas de código, que controlan acciones determinadas. Cuando ocurre una de dichas acciones, y ha comunicado a Excel qué desea que haga cuando ocurra el evento, Excel ejecuta el código del controlador de eventos. Por ejemplo, si después de crear un nuevo libro desea que Excel muestre todos los libros abiertos como un conjunto de ventanas en cascada, puede crear el siguiente controlador de eventos:
Private Sub App_NewWorkbook(ByVal Wb As Workbook) Application.Windows.Arrange xlArrangeStyleCascade End Sub No se preocupe si no está seguro de qué hace cada uno de los elementos de la rutina del controlador de eventos. Por ahora, concéntrese en la línea del medio del código, que comunica a Excel que organice las ventanas utilizando el estilo de cascada. Puede obtener el mismo resultado utilizando los comandos de menú de Excel (menú Ventana, comando Organizar, subcomando Cascada). Sin embargo, si se trata de una acción que desea que se ejecute cada vez que ocurra un evento determinado, puede utilizar el lenguaje VBA para que se ejecute automáticamente y así ahorrarse el trabajo.
Colecciones El elemento final de la programación orientada a objetos con el que debe familiarizarse es la colección. Tal y como indica su nombre, una colección es un grupo de objetos del mismo tipo contenidos en otro objeto. Por ejemplo, un libro contiene una colección de una o varias hojas de cálculo. Si desea realizar un mismo cambio en todas las hojas de cálculo de un libro, puede programar el cambio automático en todas las hojas de cálculo de la colección. Si ha creado programas antes, seguramente conozca el bucle For...Next, que permite repetir un grupo de instrucciones varias veces utilizando algo como la siguiente secuencia. (En este ejemplo se agrega la ruta de directorio del libro activo a la sección derecha del pie de página en las primeras tres hojas de cálculo.)
For i = 1 to 3 Worksheets(i).PageSetup.RightFooter = Path Next i El inconveniente de codificar (es decir, asignar un valor determinado a) el límite superior de este bucle For…Next es que será necesario cambiar el código cada vez que se agregue o elimine una hoja de cálculo. Esto no es grave si se tiene que hacer una o dos veces, pero si está administrando muchos códigos, probablemente olvide cambiarlo en algunos sitios. Esto generará errores que tendrá que solucionar. Lo que es peor, es posible que los errores pasen inadvertidos hasta que el responsable de calidad descubra que las 500 copias impresas del informe anual no tienen el formato correcto (y que cuando esto ocurra tenga apagado el móvil porque esté dando un paseo por la playa). Puede utilizar un código para que le devuelva el número de hojas de cálculo que se incluyen en el libro, pero hay un modo más sencillo de hacer esto: utilizar un bucle For Each…Next. Los bucles For Each…Next buscan el número de objetos que hay en una colección, por ejemplo las hojas de cálculo de un libro, y pasan por todos ellos. Utilizando esta técnica, el código anterior se puede escribir de este modo:
For Each Wksht in Worksheets Wksht.PageSetup.RightFooter = Path Next Wksht
Pág.| 40
En vez de incrementar el valor en un bucle For…Next estándar, el bucle For Each…Next busca simplemente el siguiente elemento de la colección Worksheets (hojas de cálculo) y se detiene cuando no encuentra uno.
Editor de Visual Basic y sus ventanas El Editor de Visual Basic muestra distinta información en distintas ventanas. Es importante conocer las siguientes ventanas cuando se está aprendiendo a escribir macros: la ventana Explorador del proyecto, la ventana Propiedades y la ventana Código.
Ventana Explorador del proyecto Cuando se abre el Editor de Visual Basic directamente, se puede utilizar la ventana Explorador del proyecto para seleccionar la macro en la que se desea trabajar. El Explorador del proyecto muestra todos los proyectos (grupos de códigos) y las macros que contienen en vista de árbol, como la vista de árbol del Explorador de Windows®. La raíz u objetos de base de la estructura de árbol son los libros actuales en los que se está trabajando, y los demás libros y complementos que estén abiertos. Cada uno de los elementos principales que se utilizan en los proyectos VBA se guarda en una carpeta independiente en cada proyecto. Estos elementos son:
• • • •
Objetos (descritos anteriormente en este artículo) Módulos, que contienen el código de macro asociado a la hoja de cálculo Módulos de clase, que son definiciones de los objetos definidos por usuario creados para el libro Formularios de usuario, que ofrecen una superficie visible en la que se pueden colocar controles gráficos, como botones, imágenes y áreas de texto
En el siguiente ejemplo, el libro actual está identificado como VBAProject. Las tres hojas de cálculo incluidas en el libro (Hoja1, Hoja2 y Hoja3), así como el libro completo (EsteLibro), aparecen en la carpeta Objetos de Microsoft Office Excel. Las macros programadas en VBA o grabadas aparecen en la carpeta Módulos. Todos los módulos de clase o formularios de usuario aparecen en la carpeta Módulos de clase o Formularios, respectivamente.
Ventana Propiedades Justo debajo de la ventana Explorador del proyecto, se encuentra la ventana Propiedades, que se utiliza para examinar y modificar las distintas propiedades asociadas al objeto seleccionado. La única propiedad que suele estar disponible para los módulos es el nombre. Las hojas de cálculo tienen propiedades adicionales que se pueden modificar, como StandardWidth y DisplayPageBreaks. La modificación de propiedades en la ventana Propiedades se suele realizar cuando se trabaja con formularios de usuario. NOTA El nombre que se muestra en el cuadro Nombre de la ventana Propiedades correspondiente a un objeto no tiene que coincidir necesariamente con el nombre del objeto en Excel. Puede que sean similares, pero probablemente sean distintos debido a las reglas de nombre predeterminadas que utiliza el Editor de Visual Basic para los objetos. (Por ejemplo, los nombres no pueden incluir espacios en blanco, deben comenzar con una letra, no pueden ser palabras reservadas y no pueden tener una longitud superior a 31 caracteres.) Incluso cuando los nombres son distintos, deben estar vinculados internamente para garantizar que se hace referencia al objeto adecuado.
Ventana Código
Pág.| 41
La ventana Código es la ventana de mayor tamaño del Editor de Visual Basic e incluye en su lado superior dos cuadros desplegables. El cuadro desplegable de la izquierda (cuadro Objeto) se utiliza para seleccionar el objeto en el que se quiere trabajar. Cuando se trabaja sólo con código, el cuadro muestra el objeto General predeterminado. El segundo cuadro desplegable (cuadro Procedimiento) se utiliza para seleccionar macros individuales del módulo actual. Según se agreguen o eliminen macros en el módulo, se agregarán y eliminarán en el cuadro Procedimiento.
También puede utilizar las teclas de FLECHA ARRIBA o FLECHA ABAJO para desplazarse por las listas del código y buscar la macro que desea. Conforme se vaya desplazando por el código, el cuadro Procedimiento se irá actualizando para reflejar la macro actual.
Lista de propiedades ,funciones y/o procedimientos VBA Project [es decir pertenecientes a la clase hoja y a la clase ThisWorkbook(hoja de trabajo) ]
Pรกg.| 42 CLASE
HOJA
Pรกg.| 43
Pรกg.| 44
CLASE
ThisWorkbook
Pรกg.| 45
Pรกg.| 46
Pรกg.| 47
Pรกg.| 48
Pรกg.| 49
Instrucciones en Excel Visual Basic
If...Then...Else (Instrucciรณn) Ejecuta condicionalmente un grupo de instrucciones, dependiendo del valor de una expresiรณn. Sintaxis If condiciรณn Then [instrucciones]-[Else instrucciones_else] Puede utilizar la siguiente sintaxis en formato de bloque: If condiciรณn Then [instrucciones] [ElseIf condiciรณn-n Then [instrucciones_elseif] ... [Else [instrucciones_else]] End If La sintaxis de la instrucciรณn If...Then...Else consta de tres partes: Parte
Descripciรณn
condiciรณn
Requerido. Uno o mรกs de los siguientes dos tipos de expresiones: Una expresiรณn numรฉrica o expresiรณn de cadena que puede ser evaluada como True o False. Si condiciรณn es Null, condiciรณn se considera False. Una expresiรณn del formulario TypeOf nombre_objeto Is tipo_objeto. El nombre_objeto es cualquier referencia al objeto y tipo_objeto es cualquier tipo de objeto vรกlido. La expresiรณn es True si nombre_objeto es del tipo de objeto especificado por tipo_objeto; en caso contrario es False.
instrucciones
Opcional en formato de bloque; se requiere en formato de lรญnea sencilla que no tenga una clรกusula Else. Una o mรกs instrucciones separadas por dos puntos ejecutados si la condiciรณn es True.
condiciรณn-n
Opcional. Igual que condiciรณn.
instrucciones_elseif
Opcional. Una o mรกs instrucciones ejecutadas si la condiciรณn-n asociada es True.
instrucciones_else
Opcional. Una o mรกs instrucciones ejecutadas si ninguna de las expresiones
Pág.| 50
anteriores condición o condición-n es True.
Comentarios Puede utilizar la forma de una sola línea (Sintaxis 1) para pruebas cortas y sencillas. Sin embargo, el formato de bloque (Sintaxis 2) proporciona más estructura y flexibilidad que la forma de línea simple y, generalmente, es más fácil de leer, de mantener y de depurar. Nota Con la sintaxis es posible ejecutar múltiples instrucciones como resultado de una decisión If...Then, pero todas deben estar en la misma línea y separadas por dos puntos, como en la instrucción siguiente:
If A > 10 Then A = A + 1 : B = B + A : C = C + B
Una instrucción con formato de bloque If debe ser la primera de la línea. Las partes Else, ElseIf y End If, de la instrucción, solamente pueden ir precedidas de un número de línea o una etiqueta de línea. El bloque If debe terminar con una instrucción End If. Para determinar si una instrucción If es un bloque, examine lo que sigue a la palabra clave Then. Si lo que aparece detrás de Then en la misma línea no es un comentario, la instrucción se considera como una instrucción If de una sola línea. Las cláusulas Else y ElseIf son opcionales. Puede tener en un bloque ElseIf, tantas cláusulas If como desee, pero ninguna puede aparecer después de una cláusula Else. Las instrucciones de bloque If se pueden anidar; es decir, unas pueden contener a otras. Cuando se ejecuta un bloque If (Sintaxis 2), se prueba condición. Si condición es True, se ejecutan las instrucciones que están a continuación de Then. Si condición es False, se evalúan una a una las condiciones ElseIf (si existen). Cuando se encuentra una condición True se ejecutan las instrucciones que siguen inmediatamente a la instrucción Then asociada. Si ninguna de las condiciones ElseIf es True (o si no hay cláusulas ElseIf), se ejecutan las instrucciones que siguen a Else. Después de la ejecución de las instrucciones que siguen a Then o Else, la ejecución continúa con la instrucción que sigue a End If. Sugerencia Select Case puede ser más útil cuando se evalúa una única expresión que tiene varias acciones posibles. Sin embargo, la cláusula TypeOf nombre_objeto Is tipo_objeto no se puede utilizar en una instrucción Select Case. Nota No se puede usar TypeOf con tipos de datos predefinidos como Long, Integer y así sucesivamente, excepto en el tipo de datos Object.
Utilizar instrucciones If...Then...Else
Pág.| 51
Se puede usar la instrucción If...Then...Else para ejecutar una instrucción o bloque de instrucciones determinadas, dependiendo del valor de una condición. Las instrucciones If...Then...Else se pueden anidar en tantos niveles como sea necesario. Sin embargo, para hacer más legible el código es aconsejable utilizar una instrucción Select Case en vez de recurrir a múltiples niveles de instrucciones If...Then...Else anidadas. Ejecutar una sola instrucción cuando una condición es True(verdadero) Para ejecutar una sola instrucción cuando una condición es True, se puede usar la sintaxis de línea única de la instrucción If...Then...Else. El siguiente ejemplo muestra la sintaxis de línea única, en la que se omite el uso de la palabra clave Else: Sub FijarFecha() miFecha = #13/2/95# If miFecha < Now Then miFecha = Now End Sub
Para ejecutar más de una línea de código, es preciso utilizar la sintaxis de múltiples líneas. Esta sintaxis incluye la instrucción End If, tal y como muestra el siguiente ejemplo: Sub AvisoUsuario(valor as If valor = 0 Then Aviso.ForeColor = Aviso.Font.Bold = Aviso.Font.Italic End If End Sub
Long) "Red" True = True
Ejecutar unas instrucciones determinadas si una condición es True y ejecutar otras si es False Use una instrucción If...Then...Else para definir dos bloques de instrucciones ejecutables: un bloque que se ejecutará cuando la condición es True y el otro que se ejecutará si la condición es False. Sub AvisoUsuario(valor as If valor = 0 Then Aviso.ForeColor = Aviso.Font.Bold = Aviso.Font.Italic Else Aviso.Forecolor = Aviso.Font.Bold = Aviso.Font.Italic End If End Sub
Long) vbRed True = True vbBlack False = False
Comprobar una segunda condición si la primera condición es False
Pág.| 52 Se pueden añadir instrucciones ElseIf a una instrucción If...Then...Else para comprobar
una segunda condición si la primera es False. Por ejemplo, el siguiente procedimiento función calcula una bonificación salarial dependiendo de la clasificación del trabajador. La instrucción que sigue a la instrucción Else sólo se ejecuta cuando las condiciones de todas las restantes instrucciones If y ElseIf son False. Function Bonificación(rendimiento, salario) If rendimiento = 1 Then Bonificación = salario * 0.1 ElseIf rendimiento = 2 Then Bonificación= salario * 0.09 ElseIf rendimiento = 3 Then Bonificación = salario * 0.07 Else Bonificación = 0 End If End Function
Select Case (Instrucción) Ejecuta uno de varios grupos de instrucciones, dependiendo del valor de una expresión. Sintaxis Select Case expresión_prueba [Case lista_expresion-n [instrucciones-n]] ... [Case Else [instrucciones_else]] End Select La sintaxis de la instrucción Select Case consta de las siguientes partes: Parte
Descripción
expresión_prueba
Requerido. Cualquier expresión numérica o expresión de cadena.
lista_expresión-n
Requerido si aparece la palabra clave Case. Lista delimitada por comas de una o más de las formas siguientes: expresión, expresión To expresión, Is expresión operador_de_comparación. La palabra clave especifica un intervalo de valores. Si se utiliza la palabra clave To, el valor menor debe aparecer antes de To. Utilice la palabra clave Is con operadores de comparación (excepto Is y Like) para especificar un intervalo de valores. Si no se escribe, la palabra clave Is se insertará automáticamente.
instrucciones-n
Opcional. Una o más instrucciones ejecutadas si expresión_prueba coincide
Pág.| 53
con cualquier parte de lista_expresión-n. instrucciones_ else
Opcional. Una o más instrucciones que se ejecuten si expresión_prueba no coincide con nada de la cláusula Case.
Comentarios Si expresión_prueba coincide con cualquier lista_expresión asociada con una cláusula Case, las instrucciones que siguen a esa cláusula Case se ejecutan hasta la siguiente cláusula Case o, para la última cláusula, hasta la instrucción End Select. El control pasa después a la instrucción que sigue a End Select. Si expresión_prueba coincide con una expresión de lista_expresión en más de una cláusula Case, sólo se ejecutan las instrucciones que siguen a la primera coincidencia. La cláusula Case Else se utiliza para indicar las instrucciones que se van a ejecutar si no se encuentran coincidencias entre expresión_prueba y una lista_expresión en cualquiera de las otras selecciones de Case. Aunque no es necesario, es buena idea tener una instrucción Case Else en el bloque Select Case para controlar valores imprevistos de expresión_prueba. Cuando no hay una instrucción Case Else y ninguna expresión de la lista en las cláusulas Case coincide con la expresión de prueba, la ejecución continúa en la instrucción que sigue a End Select. Se pueden utilizar expresiones múltiples o intervalos en cada cláusula Case. Por ejemplo, la línea siguiente es válida: Case 1 To 4, 7 To 9, 11, 13, Is > MaxNumber Nota El operador de comparación Is no es lo mismo que la palabra clave Is utilizada en la instrucción Select Case.
También puede especificar intervalos y expresiones múltiples para cadenas de caracteres. En el siguiente ejemplo, Case coincide con las cadenas que son exactamente iguales a todo, cadenas que están entre nueces y sopa en orden alfabético y el valor actual de ElemPrueba: Case "iguales a todo", "nueces" To "sopa", ElemPrueba
Las instrucciones Select Case se pueden anidar. Cada instrucción Select Case debe tener su correspondiente instrucción End Select.
Pág.| 54
Utilizar instrucciones Select Case La instrucción Select Case se utiliza como alternativa a las instrucciones ElseIf en instrucciones If...Then...Else cuando se compara una expresión con varios valores diferentes. Mientras que las instrucciones If...Then...Else pueden comparar una expresión distinta para cada instrucción ElseIf, la instrucción Select Case compara únicamente la expresión que evalúa al comienzo de la estructura de control. En el siguiente ejemplo, la instrucción Select Case evalúa el argumento rendimiento que se pasa al procedimiento. Observe que cada instrucción Case puede contener más de un valor, una gama de valores, o una combinación de valores y operadores de comparación. La instrucción opcional Case Else se ejecuta si la instrucción Select Case no encuentra ninguna igualdad con los valores de la instrucciones Case. Function Bonificación(rendimiento, Select Case rendimiento Case 1 Bonificación = salario Case 2, 3 Bonificación = salario Case 4 To 6 Bonificación = salario Case Is > 8 Bonificación = 100 Case Else Bonificación = 0 End Select End Function
salario) * 0.1 * 0.09 * 0.07
Utilizar instrucciones For...Next
Las instrucciones For...Next se pueden utilizar para repetir un bloque de instrucciones un número determinado de veces. Los bucles For usan una variable contador cuyo valor se aumenta o disminuye cada vez que se ejecuta el bucle. El siguiente procedimiento hace que el equipo emita un sonido 50 veces. La instrucción For determina la variable contador x y sus valores inicial y final. La instrucción Next incrementa el valor de la variable contador en 1. Sub Bips() For x = 1 To 50 Beep Next x End Sub
Pág.| 55 Mediante la palabra clave Step, se puede aumentar o disminuir la variable contador en el
valor que se desee. En el siguiente ejemplo, la variable contador j se incrementa en 2 cada vez que se repite la ejecución del bucle. Cuando el bucle deja de ejecutarse, total representa la suma de 2, 4, 6, 8 y 10. Sub DosTotal() For j = 2 To 10 Step 2 total = total + j Next j MsgBox "El total es " & total End Sub
Para disminuir la variable contador utilice un valor negativo en Step. Para disminuir la variable contador es preciso especificar un valor final que sea menor que el valor inicial. En el siguiente ejemplo, la variable contador miNum se disminuye en 2 cada vez que se repite el bucle. Cuando termina la ejecución del bucle, total representa la suma de 16, 14, 12, 10, 8, 6, 4 y 2. Sub NuevoTotal() For miNum = 16 To 2 Step -2 total = total + miNum Next miNum MsgBox "El total es " & total End Sub Nota No es necesario incluir el nombre de la variable contador después de la instrucción Next. En los ejemplos anteriores, el nombre de la variable contador se ha incluido para facilitar la lectura del código.
Se puede abandonar una instrucción For...Next antes de que el contador alcance su valor final, para ello se utiliza la instrucción Exit For. Por ejemplo, si se produce un error se puede usar la instrucción Exit For en el bloque de instrucciones True de una instrucción If...Then...Else o Select Case que detecte específicamente ese error. Si el error no se produce, la instrucción If…Then…Else es False y el bucle continuará ejecutándose normalmente.
Pág.| 56
Utilizar instrucciones For Each...Next Las instrucciones For Each...Next repiten un bloque de instrucciones para cada uno de los objetos de una colección o para cada elemento de una matriz. Visual Basic asigna valor automáticamente a una variable cada vez que se ejecuta el bucle. Por ejemplo, el siguiente procedimiento cierra todos los formularios excepto el que contiene al procedimiento que se está ejecutando. Sub CierraFormul() For Each frm In Application.Forms If frm.Caption <> Screen.ActiveForm.Caption Then frm.Close Next End Sub
El siguiente código recorre todos los elementos de una matriz e introduce en cada uno de ellos el valor de la variable índice I. Dim PruebaMatriz(10) As Integer, I As Variant For Each I In PruebaMatriz PruebaMatriz(I) = I Next I
Recorrer un conjunto de celdas Se puede usar el bucle For Each...Next para recorrer las celdas pertenecientes a un rango determinado. El siguiente procedimiento recorre las celdas del rango A1:D10 de la Página1 y convierte cualquier valor absoluto menor de 0,01 en 0 (cero). Sub RedondeoACero() For Each miObjeto in miColeccion If Abs(miObjeto.Value) < 0.01 Then miObjeto.Value = 0 Next End Sub
Salir de un bucle For Each...Next antes de que finalice Se puede salir de un bucle For Each...Next mediante la instrucción Exit For. Por ejemplo, cuando se produce un error se puede usar la instrucción Exit For en el bloque de instrucciones True de una instrucción If...Then...Else o Select Case que detecte específicamente el error. Si el error no se produce, la instrucción If…Then…Else es False y el bucle se seguirá ejecutando normalmente. El siguiente ejemplo detecta la primera celda del rango A1:B5 que no contiene un número. Si se encuentra una celda en esas condiciones, se presenta un mensaje en pantalla y Exit For abandona el bucle. Sub BuscaNumeros()
Pág.| 57
For Each miObjeto In MiColeccion If IsNumeric(miObjeto.Value) = False Then MsgBox "El objeto contiene un valor no numérico." Exit For End If Next c End Sub
For Each...Next (Instrucción) Repite un grupo de instrucciones para cada elemento de una matriz o colección. Sintaxis For Each elemento In grupo [instrucciones] [Exit For] [instrucciones] Next [elemento] La sintaxis de la instrucción For Each...Next consta de las siguientes partes: Parte
Descripción
elemento
Requerido. Variable que se utiliza para iterar por los elementos del conjunto o matriz. Para conjuntos, elemento solamente puede ser una variable del tipo Variant, una variable de objeto genérica o cualquier variable de objeto específica. Para matrices, elemento solamente puede ser una variable tipo Variant.
grupo
Requerido. Nombre de un conjunto de objetos o de una matriz (excepto una matriz de tipos definidos por el usuario).
instrucciones
Opcional. Una o más instrucciones que se ejecutan para cada elemento de un grupo.
Comentarios La entrada al bloque For Each se produce si hay al menos un elemento en grupo. Una vez que se ha entrado en el bucle, todas las instrucciones en el bucle se ejecutan para el primer elemento en grupo. Después, mientras haya más elementos en grupo, las instrucciones en el bucle continúan ejecutándose para cada elemento. Cuando no hay más elementos en el grupo, se sale del bucle y la ejecución continúa con la instrucción que sigue a la instrucción Next.
Pág.| 58 Se pueden colocar en el bucle cualquier número de instrucciones Exit For. La instrucción
Exit For se utiliza a menudo en la evaluación de alguna condición (por ejemplo, If...Then) y transfiere el control a la instrucción que sigue inmediatamente a la instrucción Next. Puede anidar bucles For Each...Next, colocando un bucle For Each...Next dentro de otro. Sin embargo, cada elemento del bucle debe ser único. Nota Si omite elemento en una instrucción Next, la ejecución continúa como si se hubiera incluido. Si se encuentra una instrucción Next antes de su instrucción For correspondiente, se producirá un error.
No se puede utilizar la instrucción For Each...Next con una matriz de tipos definidos por el usuario porque un tipo Variant no puede contener un tipo definido por el usuario. Utilizar instrucciones Do...Loop
Vea también
Detalles
Se pueden usar instrucciones Do...Loop para ejecutar un bloque de instrucciones un número indefinido de veces. Las instrucciones se repiten mientras una condición sea True o hasta que llegue a ser True.
While Repetir instrucciones mientras una condición es True(verdadera) Hay dos formas de utilizar la palabra clave While para comprobar el estado de una condición en una instrucción Do...Loop. Se puede comprobar la condición antes de entrar en el bucle, o después de que el bucle se haya ejecutado al menos una vez. En el siguiente procedimiento ComPrimeroWhile, la condición se comprueba antes de entrar en el bucle. Si miNum vale 9 en vez de 20, las instrucciones contenidas en el bucle no se ejecutarán nunca. En el procedimiento ComFinalWhile, las instrucciones contenidas en el bucle sólo se ejecutarán una vez antes de que la condición llegue a ser False. Sub ComPrimeroWhile() contador = 0 miNum = 20 Do While miNum > 10 miNum = miNum - 1 contador = contador + 1 Loop MsgBox "El bucle se ha repetido " & contador & " veces." End Sub Sub ComFinalWhile() contador = 0 miNum = 9
Pág.| 59
Do miNum = miNum - 1 contador = contador + 1 Loop While miNum > 10 MsgBox "El bucle se ha repetido " & contador & " veces." End Sub
Until Repetir instrucciones hasta que una condición llegue a ser True(verdadera) Hay dos formas de utilizar la palabra clave Until para comprobar el estado de una condición en una instrucción Do...Loop. Se puede comprobar la condición antes de entrar en el bucle (como muestra el procedimiento ComPrimeroUntil) o se pueden comprobar después de que el bucle se haya ejecutado al menos una vez (como muestra el procedimiento ComFinalUntil). El bucle sigue ejecutándose mientras la condición siga siendo False. Sub ComPrimeroUntil() contador = 0 miNum = 20 Do Until miNum = 10 miNum = miNum - 1 contador = contador + 1 Loop MsgBox "El bucle se ha repetido " & contador & " veces." End Sub Sub ComFinalUntil() contador = 0 miNum = 1 Do miNum = miNum + 1 contador = contador + 1 Loop Until miNum = 10 MsgBox "El bucle se ha repetido " & counter & " veces." End Sub
Pág.| 60
Instrucción de salida de Do...Loop desde dentro del bucle Es posible salir de Do...Loop usando la instrucción Exit Do. Por ejemplo, para salir de un bucle sin fin, se puede usar la instrucción Exit Do en el bloque de instrucciones True de una instrucción If...Then...Else o Select Case. Si la condición es False, el bucle seguirá ejecutándose normalmente. En el siguiente ejemplo, se asigna a miNum un valor que crea un bucle sin fin. La instrucción If...Then...Else comprueba esa condición y ejecuta entonces la salida, evitando así el bucle sin fin. Sub EjemploSalida() contador = 0 miNum = 9 Do Until miNum = 10 miNum = miNum - 1 contador = contador + 1 If miNum < 10 Then Exit Do Loop MsgBox "El bucle se ha repetido " & contador & " veces." End Sub Nota
Para detener la ejecución de un bucle sin fin, presione la tecla ESC o CTRL+PAUSE.
Do...Loop (Instrucción) Repite un bloque de instrucciones cuando una condición es True o hasta que una condición se convierta en True. Sintaxis Do [{While | Until} condición] [instrucciones] [Exit Do] [instrucciones] Loop O bien, puede utilizar esta sintaxis:
Do [instrucciones] [Exit Do] [instrucciones] Loop [{While | Until} condición]
Pág.| 61 La sintaxis de la instrucción Do Loop consta de las siguientes partes: Parte
Descripción
condición
Opcional. Expresión numérica o expresión de cadena que es True o False. Si la condición es Null, condición se considera False.
Instrucciones
Una o más instrucciones que se repiten mientras o hasta que condición sea True.
Comentarios Se puede utilizar cualquier número de instrucciones Exit Do ubicadas en cualquier lugar dentro de una estructura de control Do…Loop, para proporcionar una salida alternativa de un Do…Loop. La instrucción Exit Do se utiliza frecuentemente en la evaluación de alguna condición, por ejemplo, If…Then; en este caso, la instrucción Exit Do transfiere el control a la instrucción que sigue inmediatamente a la instrucción Loop. Cuando se utiliza con instrucciones anidadas Do…Loop, la instrucción Exit Do transfiere control al bucle que está anidado un nivel por encima del bucle donde ocurre.
Pág.| 62
Como usar Excel VB
Cómo: Crear un libro Para crear un libro en Visual Basic, utilice el método Add. El siguiente procedimiento crea un libro. Microsoft Excel asigna automáticamente el nombre BookN al libro, donde N es el siguiente número disponible. El nuevo libro se convertirá en el libro activo.
Sub AddOne() Workbooks.Add End Sub Una forma mejor de crear un libro es asignarlo a una variable de objeto. En el siguiente ejemplo, el objeto Workbook devuelto por el método Add se asigna a la variable de objeto, newBook. A continuación, se establecen varias de las propiedades de newBook. Puede controlar fácilmente el nuevo libro utilizando la variable de objeto.
Sub AddNew() Set NewBook = Workbooks.Add With NewBook .Title = "All Sales" .Subject = "Sales" .SaveAs Filename:="Allsales.xls" End With End Sub
Cómo: Hacer referencia a varias hojas
•
Utilice la función Array para identificar un grupo de hojas. El siguiente ejemplo selecciona tres hojas del libro activo.
Sub Several() Worksheets(Array("Sheet1", "Sheet2", "Sheet4")).Select End Sub
Cómo: Hacer referencia a hojas por número de índice Un número de índice es un número secuencial asignado a una hoja, según la posición de su ficha, contando desde la izquierda, respecto a las hojas del mismo tipo. El siguiente procedimiento utiliza la propiedad Worksheets para activar la hoja de cálculo uno del libro activo.
Pág.| 63 Sub FirstOne() Worksheets(1).Activate End Sub Si desea trabajar con todos los tipos de hojas (hojas de cálculo, de gráficos, de módulos y de diálogo), utilice la propiedad Sheets. El siguiente procedimiento activa la hoja cuatro del libro.
Sub FourthOne() Sheets(4).Activate End Sub
Cómo: Hacer referencia a las hojas por nombre Puede identificar las hojas por su nombre, utilizando las propiedades Worksheets y Charts. Las siguientes instrucciones activan varias hojas del libro activo.
Worksheets("Sheet1").Activate Charts("Chart1").Activate DialogSheets("Dialog1").Activate Puede utilizar la propiedad Sheets para devolver una hoja de cálculo, de gráficos, de módulo o de cuadro de diálogo, incluidos todos en la colección Sheets. El siguiente ejemplo activa la hoja denominada "Chart1" del libro activo.
Sub ActivateChart() Sheets("Chart1").Activate End Sub Nota Los gráficos incrustados en una hoja de cálculo son miembros de la colección ChartObjects, aunque los gráficos que poseen sus propias hojas pertenecen a la colección Charts.
Cómo: Hacer referencia a todas las celdas de la hoja de cálculo Al aplicar la propiedad Cells a una hoja de cálculo sin especificar un número de índice, el método devuelve un objeto Range que representa todas las celdas de la hoja de cálculo. El siguiente procedimiento Sub borra el contenido de todas las celdas de la hoja Sheet1 del libro activo.
Sub ClearSheet() Worksheets("Sheet1").Cells.ClearContents End Sub
Pág.| 64 Cómo: Hacer referencia a celdas y rangos utilizando la notación A1
•
Puede hacer referencia a una celda o rango de celdas del estilo de referencia A1 utilizando el método Range. La siguiente subrutina cambia el formato de las celdas A1:D5 a negrita.
Sub FormatRange() Workbooks("Book1").Sheets("Sheet1").Range("A1:D5") _ .Font.Bold = True End Sub
•
La siguiente tabla muestra algunas referencias de estilo A1 utilizando el método
Range. Referencia
Significado
Range("A1")
Celda A1
Range("A1:B5")
Celdas de la A1 a la B5
Range("C5:D9;G9:H16")
Selección de varias áreas
Range("A:A")
Columna A
Range("1:1")
Fila 1
Range("A:C")
Columnas de la A a la C
Range("1:5")
Filas de la 1 a la 5
Range("1:1;3:3;8:8")
Filas 1, 3 y 8
Range("A:A;C:C;F:F")
Columnas A, C y F
Cómo: Hacer referencia a celdas usando un objeto Range
•
Si establece una variable de objeto para un objeto Range, puede manipular fácilmente el rango utilizando el nombre de la variable.
•
El siguiente procedimiento crea la variable de objeto myRange y, a continuación, asigna la variable al rango A1:D5 de la hoja Sheet1 del libro activo. Las instrucciones posteriores modifican las propiedades del rango, sustituyendo el nombre de la variable por el objeto Range.
Sub Random() Dim myRange As Range Set myRange = Worksheets("Sheet1").Range("A1:D5") myRange.Formula = "=RAND()" myRange.Font.Bold = True End Sub
•
Pág.| 65 Cómo: Hacer referencia a filas y columnas Utilice la propiedad Rows o Columns para trabajar con filas o columnas enteras. Estas propiedades devuelven un objeto Range que representa un rango de celdas. En el siguiente ejemplo, Rows(1) devuelve la fila uno de la hoja Sheet1. A continuación, la propiedad Bold del objeto Font del rango se establece en True.
Sub RowBold() Worksheets("Sheet1").Rows(1).Font.Bold = True End Sub La siguiente tabla muestra algunas referencias de fila y columna, utilizando las propiedades Rows y Columns. Referencia
Significado
Rows(1)
Fila uno
Rows
Todas las filas de la hoja de cálculo
Columns(1)
Columna uno
Columns("A")
Columna uno
Columns
Todas las columnas de la hoja de cálculo
Para trabajar con varias filas o columnas al mismo tiempo, cree una variable de objeto y utilice el método Union, combinando varias llamadas a la propiedad Rows o Columns. El siguiente ejemplo cambia a negrita el formato de las filas uno, tres y cinco de la hoja de cálculo uno del libro activo.
Sub SeveralRows() Worksheets("Sheet1").Activate Dim myUnion As Range Set myUnion = Union(Rows(1), Rows(3), Rows(5)) myUnion.Font.Bold = True End Sub
Cómo: Hacer referencia a celdas utilizando números de índice Puede utilizar la propiedad Cells para hacer referencia a una sola celda utilizando los números de fila y de columna. Esta propiedad devuelve un objeto Range que representa una sola celda. En el siguiente ejemplo, Cells(6,1) devuelve la celda A6 de la hoja Sheet1. Entonces, la propiedad Value se establece en 10.
Sub EnterValue() Worksheets("Sheet1").Cells(6, 1).Value = 10 End Sub La propiedad Cells funciona bien para ejecutar bucles en un rango de celdas, ya que puede sustituir las variables por los números de índice, como se muestra en el siguiente ejemplo.
Sub CycleThrough()
Pág.| 66 Dim Counter As Integer For Counter = 1 To 20 Worksheets("Sheet1").Cells(Counter, 3).Value = Counter Next Counter End Sub
Nota Si desea cambiar las propiedades de un rango de celdas al mismo tiempo (o aplicarles un método), utilice la propiedad Range. Para obtener más información, vea Hacer referencia a celdas y rangos utilizando la notación A1.
Cómo: Hacer referencia a celdas utilizando una notación abreviada Puede utilizar el estilo de referencia A1 o un rango con nombre entre paréntesis como método abreviado para la propiedad Range. No es necesario escribir la palabra "Range" o utilizar comillas, como se muestra en los siguientes ejemplos.
Sub ClearRange() Worksheets("Sheet1").[A1:B5].ClearContents End Sub Sub SetValue() [MyRange].Value = 30 End Sub
Cómo: Hacer referencia a varios rangos Utilizando el método apropiado puede hacer referencia fácilmente a varios rangos. Utilice los métodos Range y Union para hacer referencia a cualquier grupo de rangos; utilice la propiedad Areas para hacer referencia al grupo de rangos seleccionados en una hoja de cálculo.
Usar la propiedad Range Puede hacer referencia a varios rangos con la propiedad Range, pero insertando comas entre dos o más referencias. El siguiente ejemplo borra el contenido de los tres rangos de la hoja Sheet1.
Sub ClearRanges() Worksheets("Sheet1").Range("C5:D9,G9:H16,B14:D18"). _ ClearContents End Sub
Pág.| 67
Los rangos con nombre facilita el uso de la propiedad Range con varios rangos. El siguiente ejemplo funciona cuando los tres rangos con nombre están en la misma hoja.
Sub ClearNamed() Range("MyRange, YourRange, HisRange").ClearContents End Sub
Usar el método Union Puede combinar varios rangos en un objeto Range utilizando el método Union. El siguiente ejemplo crea un objeto Range denominado myMultipleRange, los define como A1:B2 y C3:D4 y, a continuación, asigna el formato de negrita a los rangos combinados.
Sub MultipleRange() Dim r1, r2, myMultipleRange As Range Set r1 = Sheets("Sheet1").Range("A1:B2") Set r2 = Sheets("Sheet1").Range("C3:D4") Set myMultipleRange = Union(r1, r2) myMultipleRange.Font.Bold = True End Sub
Cómo: Hacer referencia a rangos con nombre Es más sencillo identificar los rangos por nombre que por la notación A1. Para asignar un nombre a un rango seleccionado, haga clic en el cuadro de nombre situado a la izquierda de la barra de fórmulas, escriba un nombre y, a continuación, presione la tecla ENTRAR.
Hacer referencia a un rango con nombre El siguiente ejemplo hace referencia al rango denominado "MyRange" en el libro "MyBook.xls".
Sub FormatRange() Range("MyBook.xls!MyRange").Font.Italic = True End Sub El siguiente ejemplo hace referencia al rango de hojas de cálculo específico denominado "Sheet1! Sales" en el libro "MyBook.xls".
Sub FormatSales() Range("[Report.xls]Sheet1!Sales").BorderAround Weight:=xlthin
Pág.| 68 End Sub Para seleccionar un rango con nombre utilice el método GoTo, que activa el libro y la hoja de cálculo y, a continuación, selecciona el rango.
Sub ClearRange() Application.Goto Reference:="MyBook.xls!MyRange" Selection.ClearContents End Sub El siguiente ejemplo muestra cómo se escribiría el mismo procedimiento para el libro activo.
Sub ClearRange() Application.Goto Reference:="MyRange" Selection.ClearContents End Sub
Ejecutar un bucle en las celdas de un rango con nombre El siguiente ejemplo ejecuta un bucle en cada una de las celdas de un rango con nombre utilizando un bucle For Each...Next. Si el valor de cualquiera de las celdas del rango supera el valor de limit, el color de la celda cambia a amarillo.
Sub ApplyColor() Const Limit As Integer = 25 For Each c In Range("MyRange") If c.Value > Limit Then c.Interior.ColorIndex = 27 End If Next c End Sub
Cómo: Crear un cuadro de diálogo personalizado Utilice el siguiente procedimiento para crear un cuadro de diálogo personalizado:
1.
Crear un formulario de usuario
En el menú Insertar del Editor de Visual Basic, haga clic en UserForm.
2.
Agregar controles a un formulario de usuario
Busque el control que desea agregar en el Cuadro de controles y arrástrelo al formulario.
3.
Establecer las propiedades de los controles
Con el botón secundario del mouse (ratón), haga clic en un control en modo de diseño y, a continuación, haga clic en Propiedades para mostrar la ventana Propiedades.
Pág.| 69
4.
Inicializar propiedades de los controles
Puede iniciar los controles en un procedimiento antes de mostrar un formulario, o puede agregar código al evento Initialize del formulario.
5.
Eventos de cuadro de diálogo y de control
Todos los controles tienen un conjunto de eventos predefinidos. Por ejemplo, un botón de comando tiene un evento Click que se produce cuando el usuario hace clic en él. Puede escribir los procedimientos de eventos que se ejecutarán cuando se produzca el evento.
6.
Mostrar un cuadro de diálogo personalizado
Utilice el método Show para mostrar un UserForm.
7.
Utilizar los valores de los controles mientras se ejecuta el código
Algunas propiedades pueden establecerse en tiempo de ejecución. Los cambios realizados por el usuario en el cuadro de diálogo se pierden cuando éste se cierra.
Inicializar propiedades de los controles Puede inicializar los controles en tiempo de ejecución utilizando código de Visual Basic en una macro. Por ejemplo, puede rellenar un cuadro de lista, establecer los valores del texto o establecer los botones de opción. El siguiente ejemplo utiliza el método AddItem para agregar datos a un cuadro de lista. A continuación, establece el valor de un cuadro de texto y muestra el formulario.
Private Sub GetUserName() With UserForm1 .lstRegions.AddItem "North" .lstRegions.AddItem "South" .lstRegions.AddItem "East" .lstRegions.AddItem "West" .txtSalesPersonID.Text = "00000" .Show ' ... End With End Sub También puede utilizar el código en el evento Initialize de un formulario para establecer los valores iniciales de los controles del formulario. Una ventaja de establecer los valores iniciales del control en el evento Initialize es que el código de inicialización permanece en el formulario. Puede copiar el formulario de otro proyecto y, al ejecutar el método Show para mostrar el cuadro de diálogo, los controles se inicializarán.
Private Sub UserForm_Initialize()
Pág.| 70 UserForm1.lstNames.AddItem "Test One" UserForm1.lstNames.AddItem "Test Two" UserForm1.txtUserName.Text = "Default Name" End Sub
Usar controles ActiveX en hojas de cálculo En este tema se incluye información específica sobre la utilización de controles ActiveX en hojas de cálculo y en hojas de gráficos. Para obtener información general sobre la manera de agregar y utilizar los controles, consulte Usar controles ActiveX en un documento y Crear un cuadro de diálogo personalizado. Tenga en cuenta los siguientes puntos cuando utilice controles en las hojas de cálculo:
•
Además de las propiedades estándar que existen para los controles ActiveX, en Microsoft Excel se pueden usar las siguientes propiedades con estos controles: BottomRightCell, LinkedCell, ListFillRange, Placement, PrintObject, TopLeftCell y ZOrder. Estas propiedades pueden establecerse y devolverse usando el nombre del control ActiveX. En el siguiente ejemplo se desplaza la ventana del libro de manera que CommandButton1 esté en la esquina superior derecha.
Set t = Sheet1.CommandButton1.TopLeftCell With ActiveWindow .ScrollRow = t.Row .ScrollColumn = t.Column End With
•
Algunos métodos y propiedades de Visual Basic de Microsoft Excel se deshabilitan cuando se activa un control ActiveX. Por ejemplo, el método Sort no puede utilizarse mientras esté activo un control, por lo que el código que se muestra a continuación origina un error en un procedimiento de evento clic de botón ya que el control sigue activo cuando el usuario hace clic.
Private Sub CommandButton1.Click Range("a1:a10").Sort Key1:=Range("a1") End Sub
•
Este problema puede evitarse si se activa otro elemento en la hoja antes de utilizar el método o la propiedad que originó un error. Por ejemplo, el código siguiente ordena el rango:
Private Sub CommandButton1.Click Range("a1").Activate
Pág.| 71
Range("a1:a10").Sort Key1:=Range("a1") CommandButton1.Activate End Sub
•
Los controles creados en un libro de Microsoft Excel que esté incrustado en un documento de otra aplicación no funcionarán si el usuario hace doble clic en el libro para modificarlo. Los controles funcionarán, sin embargo, si el usuario hace clic con el botón secundario y selecciona el comando Abrir desde el menú contextual. • Si se guarda un libro de Microsoft Excel usando el formato de archivo de libro Microsoft Excel 5.0/95, se perderá la información sobre el control ActiveX. • La palabra clave Me de un procedimiento de evento de un control ActiveX de una hoja hace referencia a la hoja, no al control.
Agregar controles con Visual Basic En Microsoft Excel, los controles ActiveX se representan mediante objetos OLEObject en la colección OLEObjects; todos los objetos OLEObject forman parte también de la colección Shapes. Para agregar automáticamente un control ActiveX a una hoja, utilice el método Add de la colección OLEObjects. En el ejemplo siguiente se agrega un botón de comando a la hoja de cálculo 1.
Worksheets(1).OLEObjects.Add "Forms.CommandButton.1", _ Left:=10, Top:=10, Height:=20, Width:=100
Uso de propiedades de control con Visual Basic Con mucha frecuencia, el código de Visual Basic hará referencia a los controles ActiveX por sus nombres. El ejemplo siguiente cambia el título del control denominado "CommandButton1."
Sheet1.CommandButton1.Caption = "Run" Tenga en cuenta que, al utilizar un nombre de control externo fuera del módulo de clase de la hoja que contiene el control, debe asignar el nombre de la hoja al nombre del control. Para cambiar el nombre del control utilizado en código de Visual Basic, seleccione el control y configure la propiedad (Name) en la ventana Propiedades. Como los controles ActiveX también se representan mediante objetos OLEObject de la colección OLEObjects, puede configurar propiedades de control si utiliza los objetos de la colección. El ejemplo siguiente establece la posición izquierda del control "CommandButton1".
Worksheets(1).OLEObjects("CommandButton1").Left = 10 Las propiedades del control que no se muestran como propiedades del objeto OLEObject pueden establecerse si se devuelve el objeto de control real mediante la propiedad Object. El ejemplo siguiente establece el título de CommandButton1.
Worksheets(1).OLEObjects("CommandButton1"). _ Object.Caption = "run me" Como todos los objetos OLE también forman parte de la colección Shapes, puede utilizar esta colección para establecer las propiedades de varios controles. El ejemplo siguiente alinea el borde izquierdo de todos los controles de la hoja de cálculo 1.
Pág.| 72 For Each s In Worksheets(1).Shapes If s.Type = msoOLEControlObject Then s.Left = 10 Next
Utilizar nombres de controles con las formas y colecciones OLEObjects Un control ActiveX de una hoja tiene dos nombres: el nombre de la forma que contiene el control, visible en el cuadro Nombre al ver la hoja, y el nombre en código del control, presente en la celda a la izquierda de (Nombre) en la ventana Propiedades. La primera vez que agrega un control a una hoja, el nombre de la forma y el nombre de código son iguales. Sin embargo, si modifica uno de los nombres, el otro no cambiará automáticamente para coincidir con el que se modificó. El nombre de código de un control se utiliza en los nombres de sus procedimientos de eventos. No obstante, al devolver un control desde la colección Shapes o OLEObjects de una hoja, debe utilizar el nombre de la forma, no el de código para hacer referencia al control por su nombre. Por ejemplo, suponga que agrega una casilla de verificación a una hoja y que tanto el nombre predeterminado de la forma como el de código son CheckBox1. Si, a continuación, cambia el nombre en código de control escribiendo chkFinished junto a (Nombre) en la ventana Propiedades, deberá usar chkFinished en los nombres de procedimientos de eventos, pero tendrá que seguir usando CheckBox1 para devolver el control de las colecciones Shapes o OLEObject, como se muestra en el ejemplo siguiente.
Private Sub chkFinished_Click() ActiveSheet.OLEObjects("CheckBox1").Object.Value = 1 End Sub
Usar la propiedad Areas Puede utilizar la propiedad Areas para hacer referencia al rango o conjunto de rangos seleccionados en una selección de varias áreas. El siguiente procedimiento cuenta las áreas de la selección. Si existe más de un área, se muestra un mensaje de advertencia.
Pág.| 73 Sub FindMultiple() If Selection.Areas.Count > 1 Then MsgBox "Cannot do this to a multiple selection." End If End Sub
Lista de funciones de hoja de cálculo disponibles en Excel Visual Basic La lista siguiente contiene todas las funciones de hoja de cálculo que se pueden iniciar mediante el objeto WorkSheetFunction. Para obtener más información acerca de una función concreta, vea el tema Referencia de funciones en Microsoft Office Online. Int.Acum Int.Acum.V Acos Acosh Amortiz.Progre Amortiz.Lin Y Aplicacion Asc Aseno Asenoh Atan2 Atanh DesvProm Promedio
Pรกg.| 74
Promedio.Si Promedio.Si.Conjunto Textobaht Bessell BesselJ BesselK BesselY Distr.Beta Distr.Beta.Inv Bin.A.Dec Bin.A.Hex Bin.A.Oct Distr.Binom Multiplo.Superior Distr.Chi Prueba.Chi.Inv Prueba.Chi Elegir Limpiar Combinat Complejo Intervalo.Confianza Convertir Coef.De.Correl Cosh Contar ContarA Contar.Blanco Contar.Si Contar.Si.Conjunto Cupon.Dias.L1 Cupon.Dias Cupon.Dias.L2 Cupon.Fecha.L2 Cupon.Num
Pรกg.| 75
Cupon.Fecha.L1 Covar Creador Binom.Crit Pago.Int.Entre Pago.Princ.Entre BDPromedio Dias360 DB Dbcs BDContar BDContarA DDB Dec.A.Bin Dec.A.Hex Dec.A.Oct Grados Delta Desvia2 BDExtraer Tasa.Desc BDMax BDMin Moneda Moneda.Dec Moneda.Frac BDProducto BDDesvEst BDDesvEstP BDSuma Duracion BDVar BDVarP Fecha.Mes Int.Efectivo
Pรกg.| 76
Fin.Mes Fun.Error Fun.Error.Compl Redondea.Par Distr.Exp Fact Fact.Doble Distr.F Encontrar EncontrarB Distr.F.Inv Fisher Prueba.Fisher.Inv Decimal Multiplo.Inferior Pronostico Frecuencia Prueba.F VF Vf.Plan Distr.Gamma Distr.Gamma.Inv Gamma.Ln M.C.D Media.Geom GeStep Crecimiento Media.Armo Hex.A.Bin Hex.A.Dec Hex.A.Oct BuscarH Distr.Hipergeom Si.Error Im.Abs
Pรกg.| 77
Imaginario Im.Angulo Im.Conjugada Im.Cos Im.Div Im.Exp Im.Ln Im.Log10 Im.Log2 Im.Pot Im.Product Im.Real Im.Seno Im.Raiz2 Im.Sustr Im.Sum Indice Interseccion.Eje Tasa.Int PagoInt Tir EsErr EsError Es.Par EsLogico EsNod EsNoTexto EsNumero Es.Impar Int.Pago.Dir EsTexto Curtosis K.Esimo.Mayor M.C.M Estimacion.Lineal
Pรกg.| 78
Ln Log Log10 Estimacion.Logaritmica Distr.Log.Inv Distr.Log.Norm Buscar Coincidir Max MDeterm Duracion.Modif Mediana Min MInversa TirM MMult Moda Redond.Mult Multinomial NegBinomDist Dias.Lab Tasa.Nominal Distr.Norm Distr.Norm.Inv Distr.Norm.Estand Distr.Norm.Estand.Inv NPer VNA Oct.A.Bin Oct.A.Dec Oct.A.Hex Redondea.Impar Precio.Per.Irregular.1 Rendto.Per.Irregular.1 Precio.Per.Irregular.2
Pรกg.| 79
Rendto.Per.Irregular.2 O Principal Pearson Percentil Rango.Percentil Permutaciones Fonetico Pi Pago Poisson Potencia PagoPrin Precio Precio.Descuento Precio.Vencimiento Probabilidad Producto NomPropio VA Cuartil Cociente Radianes Aleatorio.Entre Jerarquia Tasa Cantidad.Recibida Reemplazar ReemplazarB Repetir Numero.Romano Redondear Redondear.Menos Redondear.Mas Coeficiente.R2
Pรกg.| 80
Rdtr Hallar HallarB Suma.Series SenoH Coeficiente.Asimetria SLn Pendiente K.Esimo.Menor Raiz2Pi Normalizacion DesvEst DesvEstP Error.Tipico.XY Sustituir Subtotales Suma Sumar.Si Sumar.Si.Conjunto SumaProducto Suma.Cuadrados SumaX2MenosY2 SumaX2MasY2 SumaXMenosY2 Syd TanH Letra.De.Test.Eqv.A.Bono Letra.De.Tes.Precio Letra.De.Tes.Rendto Distr.T Texto Distr.T.Inv Transponer Tendencia Espacios
Pág.| 81
Media.Acotada Prueba.T USDollar Var VarP Dvs BuscarV DiaSem Num.De.Semana Dist.Weibull Dia.Lab Tir.No.Per Vna.No.Per Frac.Año Rendto.Desc Rendto.Vencto Prueba.Z
Pág.| 82
Descripcion de Propiedades de Excel VB
Application ----------clase de nombre Application
Propiedades
Descripción
ShowDevTools
Devuelve o establece un valor Boolean que representa si se debe mostrar la ficha Programador en la cinta de opciones. Valor Boolean de lectura y escritura.
ShowMenuFloaties
Devuelve o establece un valor Boolean que representa si se deben mostrar las Minibarras de herramientas cuando el usuario haga clic con el botón secundario del mouse (ratón) en la ventana del libro. Valor Boolean de lectura y escritura.
ShowSelectionFloaties
Devuelve o establece un valor Boolean que representa si se deben mostrar las Minibarras de herramientas cuando el usuario seleccione texto. Valor Boolean de lectura y escritura.
La propiedad WarnOnFunctionNameConflict, cuando está WarnOnFunctionNameConfli establecida en True, presenta un aviso si un programador ct intenta crear una nueva función usando un nombre de función existente. Valor Boolean de lectura y escritura. Devuelve o establece el número máximo de celdas LargeOperationCellThousand necesarias para que se desencadene un aviso al realizar Count una operación. Valor Long de lectura y escritura. MeasurementUnit MultiThreadedCalculation
Especifica la unidad de medida usada en la aplicación. Valor xlMeasurementUnit de lectura y escritura. Devuelve un objeto MultiThreadedCalculation que controla la configuración de actualización de cálculos
multiproceso nueva en Excel 2007. Sólo lectura.
Pág.| 83
DeferAsyncQueries
Devuelve o establece si se ejecutan las consultas asincrónicas a orígenes de datos OLAP cuando se actualiza una hoja de cálculo mediante código de VBA. Valor Boolean de lectura y escritura.
DisplayDocumentInformatio nPanel
Devuelve o establece un valor Boolean que representa si se muestra el panel de propiedades del documento. Valor Boolean de lectura y escritura.
Obtiene o establece si se debe mostrar una lista de las DisplayFormulaAutoComplet funciones y nombres definidos relevantes al generar e fórmulas de celdas. Valor Boolean de lectura y escritura.
EnableLargeOperationAlert
Devuelve o establece un valor Boolean que representa si se debe mostrar un mensaje de aviso cuando un usuario intenta realizar una operación que afecta a un número de celdas mayor que el especificado en la interfaz de usuario central de Office. Valor Boolean de lectura y escritura.
EnableLivePreview
Devuelve o establece un valor Boolean que representa si se deben mostrar u ocultar las vistas previas de la galería que aparecen cuando se utilizan galerías que permiten obtener vistas previas. Al establecer esta propiedad en True se muestra una vista previa de su libro antes de aplicar el comando. Valor Boolean de lectura y escritura.
FormulaBarHeight
Permite al usuario especificar en líneas el alto de la barra de fórmulas. Valor Long de lectura y escritura.
GenerateTableRefs
La propiedad GenerateTableRefs determina si se utiliza el método de notación tradicional o el nuevo método estructurado de notación de referencias al hacer referencia a tablas dentro de fórmulas. Lectura y escritura.
ActiveEncryptionSession
Sólo lectura.
AlwaysUseClearType
Devuelve o establece un valor Boolean que representa si se debe usar ClearType para mostrar las fuentes en el menú, en la cinta de opciones y en el texto de los cuadros de diálogo. Valor Boolean de lectura y escritura.
Assistance
Devuelve un objeto IAssistance para Excel 2007 que representa el visor de Ayuda Microsoft Office Help Viewer. Sólo lectura.
Métodos
Descripción
Pág.| 84 SharePointVersion CalculateUntilAsyncQueries Devuelve todas las consultas pendientes a los orígenes de Done datos OLEDB y OLAP.
Eventos
Descripción
El evento WorkbookRowsetComplete se produce cuando el WorkbookRowsetCom usuario recorre el conjunto de registros o invoca la acción de plete conjunto de filas en una tabla dinámica OLAP.
AfterCalculate
El evento AfterCalculate se produce cuando se han completado todas las actividades de actualización pendientes (tanto sincrónicas como asincrónicas) y todas las actividades de cálculo resultantes.
AutoCorrect Propiedades
Descripción
AutoFillFormulasIn Afecta a la creación de columnas calculadas creadas por listas de Lists relleno automático hacia abajo. Valor Boolean de lectura y escritura. AutoFilter Propiedades
Descripción
Sort
Obtiene la columna o columnas de ordenación y el criterio de ordenación de la colección AutoFilter.
FilterMode
Devuelve True si la hoja está en el modo de filtrado Autofiltro. Valor Boolean de sólo lectura.
Métodos
Descripción
ShowAllData
Muestra todos los datos devueltos por el objeto AutoFilter.
ApplyFilter
Aplica el objeto Autofilter especificado.
Axis Propiedades
Descripción
LogBase
Devuelve o establece la base del logaritmo cuando se utilizan escalas logarítmicas. Valor Double de lectura y escritura.
TickLabelSpacingIs Devuelve o establece si el espaciado de la marca de graduación es Auto automático. Valor Boolean de lectura y escritura.
Pág.| 85 Format
Devuelve el objeto ChartFormat. Sólo lectura.
AxisTitle Propiedades
Descripción
Format
Devuelve el objeto ChartFormat. Sólo lectura.
True si el título del eje ocupará el espacio de diseño del gráfico cuando IncludeInLayout se determine el diseño del gráfico. El valor predeterminado es True. Valor Boolean de lectura y escritura. Position
Devuelve o establece la posición del título del eje en el gráfico. Valor XlChartElementPosition de lectura y escritura.
Border Propiedades
Descripción
ThemeColor
Devuelve o establece el color del tema de la combinación de colores aplicada que está asociada con el objeto especificado. Valor Variant de lectura y escritura.
TintAndShade
Devuelve o establece un valor Single que aclara u oscurece un color.
Borders Propiedades
Descripción
ThemeColor
Devuelve o establece el color del tema de la combinación de colores aplicada que está asociada con el objeto especificado. Valor Variant de lectura y escritura.
TintAndShade
Devuelve o establece un valor Single que aclara u oscurece un color.
Chart Propiedades
Descripción
Devuelve o establece si se deben mostrar los rótulos de ShowDataLabelsOverMaxi datos cuando el valor es superior al valor máximo del eje de mum valores. Valor Boolean de lectura y escritura. SideWall
Devuelve un objeto Walls que permite al usuario dar formato por separado al plano lateral de un gráfico 3D. Sólo lectura.
BackWall
Devuelve un objeto Walls que permite al usuario dar formato por separado al plano trasero de un gráfico 3D. Sólo lectura.
ChartStyle
Devuelve o establece el estilo de gráfico usado en el gráfico. Variant de lectura y escritura.
Métodos
Descripción
Pág.| 86 ApplyChartTemplate
Aplica un tipo de gráfico estándar o personalizado a un gráfico.
ApplyLayout
Aplica los diseños mostrados en la cinta de opciones.
ExportAsFixedFormat
Exporta a un archivo con el formato especificado.
SaveChartTemplate
Guarda una plantilla de gráfico personalizada en la lista de plantillas de gráfico disponibles.
SetDefaultChart
Especifica el nombre de la plantilla del gráfico que utiliza Microsoft Excel para crear nuevos gráficos.
SetElement
Establece los elementos de gráfico de un gráfico. Valor MsoChartElementType de lectura y escritura.
ClearToMatchStyle
Borra el formato de los elementos del gráfico y utiliza los asignados automáticamente.
ChartArea Propiedades
Descripción
Format
Devuelve el objeto ChartFormat. Sólo lectura.
ChartObjects Propiedades
Descripción
ProtectChartObj True si no es posible mover, cambiar de tamaño o eliminar el marco ect del gráfico incrustado. Valor Boolean de lectura y escritura. ChartTitle Propiedades
Descripción
Format
Devuelve el objeto ChartFormat. Sólo lectura.
Position
Devuelve o establece la posición del título del gráfico en el gráfico. Valor XlChartElementPosition de lectura y escritura.
True si el título del gráfico ocupará el espacio de diseño del gráfico IncludeInLayout cuando se determine dicho diseño del gráfico. El valor predeterminado es True. Valor Boolean de lectura y escritura. ColorFormat Propiedades
Descripción
Pág.| 87 ObjectThemeCol Devuelve o establece un color que está asignado a la combinación de or
colores del tema. Valor MsoThemeColorIndex de lectura y escritura.
CubeField Propiedades
Descripción
AllItemsVisible
La propiedad AllItemsVisible comprueba si se ha aplicado un filtro manual a un campo dinámico o a un campo CubeField. Valor Boolean de sólo lectura.
CubeFieldSubType
Especifica el tipo de un objeto CubeField. Sólo lectura.
CurrentPageName
Devuelve o establece el nombre de página de un objeto CubeField. Valor String de lectura y escritura.
La propiedad IncludeNewItemsInFilter se utiliza para realizar un IncludeNewItemsInF seguimiento de los elementos incluidos y excluidos en las tablas ilter dinámicas OLAP. Lectura y escritura. IsDate
Devuelve True si el valor de CubeField es una fecha. Boolean de sólo lectura.
Métodos
Descripción
ClearManualFilter
El método ClearManualFilter proporciona un modo sencillo de establecer la propiedad Visible en True para todos los elementos de un campo dinámico de las tablas dinámicas y de vaciar las colecciones HiddenItemsList y VisibleItemsList en las tablas dinámicas OLAP.
CreatePivotFields
El método CreatePivotFields es nuevo en Microsoft Office Excel 2007. Permite a los usuarios aplicar un filtro a campos dinámicos que no se hayan agregado todavía a la tabla dinámica mediante la creación del correspondiente objeto PivotField.
DataLabel Propiedades
Descripción
Format
Devuelve el objeto ChartFormat. Sólo lectura.
DataLabels Propiedades
Descripción
Format
Devuelve el objeto ChartFormat. Sólo lectura.
DataTable Propiedades
Descripción
Format
Devuelve el objeto ChartFormat. Sólo lectura.
Pág.| 88 DisplayUnitLabel Propiedades
Descripción
Format
Devuelve el objeto ChartFormat. Sólo lectura.
Position
Devuelve o establece la posición del rótulo de las unidades de un eje del gráfico. Valor XlChartElementPosition de lectura y escritura.
DownBars Propiedades
Descripción
Format
Devuelve el objeto ChartFormat. Sólo lectura.
DropLines Propiedades
Descripción
Format
Devuelve el objeto ChartFormat. Sólo lectura.
ErrorBars Propiedades
Descripción
Format
Devuelve el objeto ChartFormat. Sólo lectura.
ErrorCheckingOptions Propiedades
Descripción
InconsistentTableFor Devuelve True si la fórmula de la tabla no es coherente. Valor mula Boolean de lectura y escritura. FillFormat Propiedades
Descripción
GradientStops
Devuelve el punto final del relleno degradado. Sólo lectura.
TextureOffsetX
Devuelve o establece el valor X de desplazamiento del relleno especificado. Valor Single de lectura y escritura.
TextureOffsetY
Devuelve o establece el valor Y de desplazamiento del relleno especificado. Valor Single de lectura y escritura.
TextureTile
Devuelve el estilo de mosaico de textura del relleno especificado. Valor MsoTriState de lectura y escritura.
RotateWithObject
Devuelve o establece si el estilo de relleno debe girar junto con el objeto. Valor MsoTriState de lectura y escritura.
Pág.| 89 TextureAlignment
Devuelve o establece la alineación del texto del objeto FillFormat especificado. Lectura y escritura.
TextureHorizontalS Devuelve o establece el valor de la escala horizontal aplicada al cale texto del objeto FillFormat. Valor Single de lectura y escritura. TextureVerticalSca Devuelve la escala vertical de la textura del relleno especificado. le Valor Single de lectura y escritura. Filter Propiedades
Descripción
Count
Devuelve el número de objetos contenidos en la colección. Long de sólo lectura.
Floor Propiedades
Descripción
Format
Devuelve el objeto ChartFormat. Sólo lectura.
Thickness
Devuelve o establece un valor Long que especifica el grosor del plano inferior. Lectura y escritura.
Font Propiedades
Descripción
ThemeColor
Devuelve o establece el color del tema de la combinación de colores aplicada que está asociada con el objeto especificado. Valor Variant de lectura y escritura.
ThemeFont
Devuelve o establece la fuente del tema de la combinación de fuentes aplicada que está asociada con el objeto especificado. Valor XlThemeFont de lectura y escritura.
TintAndShade
Devuelve o establece un valor Single que aclara u oscurece un color.
FormatCondition Propiedades
Descripción
NumberFormat
Devuelve o establece el formato de número aplicado a una celda si la regla de formato condicional da como resultado True. Valor Variant de lectura y escritura.
Priority
Devuelve o establece el valor de prioridad de la regla de formato condicional. La prioridad determina el orden de evaluación cuando existen varias reglas de formato condicional en una hoja de cálculo.
PTCondition
Devuelve un valor Boolean que indica si el formato condicional se
aplica a un gráfico de tabla dinámica. Sólo lectura.
Pág.| 90 ScopeType
Devuelve o establece una de las constantes de la enumeración XlPivotConditionScope, que determina el ámbito del formato condicional cuando se aplica a un gráfico de tabla dinámica.
StopIfTrue
Devuelve o establece un valor Boolean que determina si se deben evaluar reglas adicionales de formato en la celda si la regla actual da como resultado True.
Text
Devuelve o establece un valor String que especifica el texto usado por la regla de formato condicional.
TextOperator
Devuelve o establece una de las constantes de la enumeración XlContainsOperator, que especifican la búsqueda de texto realizada por la regla de formato condicional.
AppliesTo
Devuelve un objeto Range que especifica el rango de celdas al que se aplica la regla de formato.
DateOperator
Especifica el operador de fecha usado en la condición de formato. Lectura y escritura.
FormatRow
Devuelve o establece un valor Boolean que especifica si se debe aplicar formato a la fila completa de tabla de Excel en caso de que la regla de formato condicional dé como resultado True. El valor predeterminado es False.
Métodos
Descripción
ModifyAppliesToRa Establece el rango de celdas al que se aplica esta regla de formato. nge
SetFirstPriority
Establece el valor de prioridad para esta regla de formato condicional en "1" para que se evalúe antes que todas las demás reglas en la hoja de cálculo.
SetLastPriority
Establece el orden de evaluación para esta regla de formato condicional de modo que se evalúe después que todas las demás reglas en la hoja de cálculo.
FormatConditions Métodos
Descripción
AddAboveAverag Devuelve un nuevo objeto AboveAverage que representa una regla de e formato condicional para el rango especificado. AddColorScale
Devuelve un nuevo objeto ColorScale que representa una regla de formato condicional que utiliza gradaciones en los colores de las celdas para indicar las diferencias relativas entre los valores de las
celdas incluidas en un rango seleccionado.
Pág.| 91 AddDatabar
Devuelve un objeto Databar que representa una regla de formato condicional de barra de datos para el rango especificado.
Devuelve un nuevo objeto IconSetCondition que representa una regla AddIconSetCondi de formato condicional de conjunto de iconos para el rango tion especificado. AddTop10
Devuelve un objeto Top10 que representa una regla de formato condicional para el rango especificado.
AddUniqueValues
Devuelve un nuevo objeto UniqueValues que representa una regla de formato condicional para el rango especificado.
Gridlines Propiedades
Descripción
Format
Devuelve el objeto ChartFormat. Sólo lectura.
HiLoLines Propiedades
Descripción
Format
Devuelve el objeto ChartFormat. Sólo lectura.
Interior Propiedades
Descripción
Gradient
Devuelve o establece la propiedad Gradient de un objeto Interior de una selección. Es de sólo lectura.
PatternThemeCol Devuelve o establece la trama de colores de un tema para un objeto or Interior. Valor Variant de lectura y escritura. PatternTintAndSh Devuelve o establece una trama de tinte y sombreado para un objeto ade Interior. Valor Variant de lectura y escritura.
ThemeColor
Devuelve o establece el color del tema de la combinación de colores aplicada que está asociada con el objeto especificado. Valor Variant de lectura y escritura.
TintAndShade
Devuelve o establece un valor Single que aclara u oscurece un color.
LeaderLines Propiedades
Descripción
Format
Devuelve el objeto ChartFormat. Sólo lectura.
Legend
Pág.| 92 Propiedades Format
Descripción Devuelve el objeto ChartFormat. Sólo lectura.
True si una leyenda ocupará el espacio de diseño del gráfico cuando se IncludeInLayout determine dicho diseño del gráfico. El valor predeterminado es True. Valor Boolean de lectura y escritura. LegendEntry Propiedades
Descripción
Format
Devuelve el objeto ChartFormat. Sólo lectura.
LegendKey Propiedades
Descripción
Format
Devuelve el objeto ChartFormat. Sólo lectura.
PictureUnit2
Devuelve o establece la unidad de cada imagen del gráfico si la propiedad PictureType tiene el valor xlStackScale (de lo contrario, esta propiedad se pasa por alto). Valor Double de lectura y escritura.
ListColumn Propiedades
Descripción
DataBodyRange
Devuelve un objeto Range que tiene el tamaño de la parte de datos de una columna. Sólo lectura.
Total
Devuelve la fila Total de un objeto ListColumn. Sólo lectura.
ListObject Propiedades
Descripción
ShowHeaders
Devuelve o establece si se debe mostrar la información de encabezado para el objeto ListObject especificado. Valor Boolean de lectura y escritura.
Devuelve o establece si se utiliza el estilo de tabla Bandas de ShowTableStyleColumnS columnas para el objeto ListObject especificado. Valor Boolean tripes de lectura y escritura. Devuelve o establece si se debe mostrar la primera columna ShowTableStyleFirstColu del objeto ListObject especificado. Valor Boolean de lectura y mn escritura. Devuelve o establece si se debe mostrar la última columna del ShowTableStyleLastColu objeto ListObject especificado. Valor Boolean de lectura y mn escritura.
Pág.| 93 ShowTableStyleRowStrip Devuelve o establece si se utiliza el estilo de tabla Bandas de es
filas para el objeto ListObject especificado. Valor Boolean de lectura y escritura.
AutoFilter
Filtra una lista utilizando la característica Autofiltro. Sólo lectura.
Comment
Devuelve o establece el comentario asociado con el objeto de lista. String de lectura y escritura.
DisplayName
Devuelve o establece el nombre para mostrar del objeto ListObject especificado. String de lectura y escritura.
TableStyle
Obtiene o establece el estilo de tabla del objeto ListObject especificado. Valor Variant de lectura y escritura.
Sort
Obtiene o establece la columna o columnas de ordenación y el criterio de ordenación de la colección ListObject.
Métodos
Descripción
ExportToVisio
Exporta un objeto ListObject a Visio.
Name Propiedades
Descripción
ValidWorkbookParam Devuelve True si el objeto Name especificado es un parámetro de eter libro válido. Valor Boolen de sólo lectura. Comment
Devuelve o establece el comentario asociado con el nombre. String de lectura y escritura.
WorkbookParameter PageSetup Propiedades
Descripción
Devuelve True para que Excel alinee el encabezado y el pie de página con los márgenes establecidos en las opciones de AlignMarginsHeaderFooter configuración de página. Valor Boolean de lectura y escritura. Devuelve o establece si se debe aplicar escala al ScaleWithDocHeaderFoote encabezado y al pie de página junto con el documento r cuando cambie el tamaño del documento. Valor Boolean de lectura y escritura. DifferentFirstPageHeaderF True si se utiliza un encabezado o un pie de página distinto ooter en la primera página. Valor Boolean de lectura y escritura.
Pág.| 94 EvenPage FirstPage
Devuelve o establece la alineación del texto de la página par de un libro o una sección. Devuelve o establece la alineación del texto de la primera página de un libro o una sección.
Es True si el objeto PageSetup especificado tiene OddAndEvenPagesHeader encabezados y pies de página distintos para las páginas Footer impares y para las páginas pares. Valor Boolean de lectura y escritura. Pages
Devuelve o establece el número total o el número de elemento de las páginas contenidas en la colección Pages.
Pane Métodos
Descripción
PointsToScreenPix Devuelve o establece un punto de píxel en la pantalla. elsX PointsToScreenPix Devuelve o establece la ubicación del píxel en la pantalla. elsY PivotCache Propiedades
Descripción
Contiene información sobre si se debe actualizar la caché dinámica y UpgradeOnRefres todas las tablas dinámicas conectadas en la siguiente operación de h actualización. Valor Boolean de lectura y escritura. Version
Devuelve la versión de Microsoft Excel en la que se creó la caché dinámica. Sólo lectura.
WorkbookConnec Establece una conexión entre el libro actual y el objeto PivotCache. tion Sólo lectura. PivotCaches Métodos
Descripción
Create
Crea una nueva caché dinámica.
PivotCell Propiedades
Descripción
PivotColumnLine
Devuelve el objeto PivotLine de una columna de un objeto PivotCell específico. PivotLine de sólo lectura.
PivotRowLine
Devuelve el objeto PivotLine de una fila para un objeto PivotCell
específico. PivotLine de sólo lectura.
Pág.| 95 PivotField Propiedades
Descripción
AllItemsVisible
Se utiliza para recuperar un valor de tipo Boolean que indica si se aplica algún filtro manual al campo dinámico. Sólo lectura.
LayoutCompactRow
Especifica si se compacta o no un objeto PivotField (los elementos de varios objetos PivotField se muestran en una sola columna) cuando se seleccionan filas. Valor Boolean de lectura y escritura.
Esta propiedad se utiliza para controlar si se utilizan los UseMemberPropertyAsCa rótulos de propiedad miembro para los rótulos de los ption elementos dinámicos del campo dinámico. Boolean de lectura y escritura.
AutoSortCustomSubtotal
Devuelve el nombre del subtotal personalizado que se utiliza para ordenar automáticamente el campo de la tabla dinámica especificado. Sólo lectura.
AutoSortPivotLine
Devuelve el nombre de la línea dinámica utilizada para ordenar automáticamente el campo de la tabla dinámica especificado. Sólo lectura.
DisplayAsCaption
Esta propiedad se utiliza para mostrar propiedades miembro de campos dinámicos como títulos. Sólo lectura.
DisplayAsTooltip
Esta propiedad se utiliza para especificar si se muestra o no una propiedad miembro PivotField específica en la información sobre herramientas. Valor Boolean de lectura y escritura.
DisplayInReport
Esta propiedad se utiliza para determinar si se muestra o no la propiedad miembro PivotField especificada en la tabla dinámica. Valor Boolean de lectura y escritura.
Se utiliza para especificar si la lista desplegable de filtro EnableMultiplePageItems contiene o no casillas de verificación para los campos del área de página. Valor Boolean de lectura y escritura. Hidden IncludeNewItemsInFilter
Esta propiedad se utiliza para ocultar los distintos niveles de una jerarquía OLAP. Valor Boolean de lectura y escritura. Esta propiedad permite a los programadores especificar si se debe realizar un seguimiento de los elementos excluidos o incluidos cuando se aplica un filtro manual al campo
dinámico. Valor Boolean de lectura y escritura.
Pág.| 96 MemberPropertyCaption
La propiedad MemberPropertyCaption controla qué propiedad miembro se utiliza como título para un nivel determinado. Valor Boolean de lectura y escritura.
PivotFilters
Devuelve o establece los filtros dinámicos para el objeto PivotField especificado. Sólo lectura.
ShowDetail
Obtiene o establece si el campo PivotField especificado se muestra con detalle. Valor Boolean de lectura y escritura.
ShowingInAxis
Indica si el campo dinámico está visible o no en ese momento en la tabla dinámica. Sólo lectura.
SourceCaption
La propiedad SourceCaption sólo es aplicable a tablas dinámicas OLAP y devuelve el rótulo original de un campo dinámico desde el servidor OLAP. Sólo lectura.
VisibleItemsList
Devuelve o establece un valor Variant que especifica una matriz de cadenas que representan los elementos incluidos en un filtro manual aplicado a un campo dinámico. Lectura y escritura.
Métodos
Descripción
ClearAllFilters
Al llamar a este método se eliminan todos los filtros aplicados actualmente al campo dinámico, incluidos todos los filtros de la colección PivotFilters del campo dinámico, además de los filtros manuales aplicados a dicho campo. Si el campo dinámico está en el área Filtro de informe, el elemento seleccionado se establecerá en el elemento predeterminado.
ClearLabelFilters
Este método elimina todos los filtros de rótulo o todos los filtros de fecha de la colección PivotFilters del campo dinámico.
ClearManualFilter
Proporciona un modo sencillo de establecer la propiedad Visible en True para todos los elementos de un campo dinámico y de vaciar las colecciones HiddenItemsList y VisibleItemsList en las tablas dinámicas OLAP.
ClearValueFilters
Al llamar a este método se eliminan todos los filtros de valor de la colección PivotFilters del campo dinámico.
DrillTo
El método DrillTo permite profundizar hasta un campo dinámico especificado desde otro campo dinámico.
PivotItem Métodos
Descripción
Pág.| 97 DrillTo
El método DrillTo permite aumentar el detalle de un campo dinámico especificado desde un elemento dinámico.
PivotTable Propiedades
Descripción
La propiedad ShowTableStyleRowStripes muestra las filas en bandas, de tal manera que las filas pares tienen un formato ShowTableStyleRowStripes distinto al de las filas impares. De esta manera se facilita la lectura de las tablas dinámicas. Valor Boolean de lectura y escritura.
SortUsingCustomLists
La propiedad SortUsingCustomLists controla si se usan listas personalizadas para ordenar los elementos de los campos, tanto al principio, cuando se inicializa el campo dinámico y se ordenan los elementos dinámicos por sus rótulos, como más adelante, cuando el usuario aplica un criterio de ordenación. Valor Boolean de lectura y escritura.
ShowDrillIndicators
La propiedad ShowDrillIndicators se utiliza para mostrar u ocultar los indicadores de detalle en la tabla dinámica. Valor Boolean de lectura y escritura.
La propiedad ShowTableStyleColumnHeaders se establece ShowTableStyleColumnHe en True si se deben mostrar los encabezados de columna en aders la tabla dinámica. Valor Boolean de lectura y escritura. La propiedad ShowTableStyleColumnStripes muestra las columnas en bandas, de tal manera que las columnas pares ShowTableStyleColumnStri tienen un formato distinto al de las columnas impares. De pes esta manera se facilita la lectura de las tablas dinámicas. Valor Boolean de lectura y escritura. ShowTableStyleLastColum n La propiedad ShowTableStyleRowHeaders se establece en ShowTableStyleRowHeade True si se deben mostrar los encabezados de fila en la tabla rs dinámica. Valor Boolean de lectura y escritura.
TableStyle2
La propiedad TableStyle2 especifica el estilo de tabla dinámica aplicado en cada momento a la tabla dinámica. Lectura y escritura.
ActiveFilters
Indica el filtro actualmente activo en la tabla dinámica especificada. Sólo lectura.
AllowMultipleFilters
Establece o recupera un valor que indica si un campo dinámico tiene varios filtros aplicados simultáneamente.
Valor Boolean de lectura y escritura.
Pág.| 98 CompactLayoutColumnHe ader
Especifica el título que se muestra en el encabezado de columna de una tabla dinámica con un formato de filas compactas. Valor String de sólo lectura.
Especifica el título que se muestra en el encabezado de fila CompactLayoutRowHeade de una tabla dinámica con un formato de filas compactas. r Valor String de sólo lectura.
CompactRowIndent
Devuelve o establece el incremento de sangría de los elementos dinámicos cuando está habilitado el formato de filas compactas. Lectura y escritura.
DisplayContextTooltips
Controla si se muestra o no información sobre herramientas para las celdas de la tabla dinámica. Valor Boolean de lectura y escritura.
DisplayFieldCaptions
Controla si se muestran o no los botones de filtro y los títulos PivotField para filas y columnas en la cuadrícula. Lectura y escritura.
Controla si se muestran o no propiedades miembro en la DisplayMemberPropertyTo información sobre herramientas. Valor Boolean de lectura y oltips escritura.
FieldListSortAscending
Controla el criterio de ordenación de los campos de la lista de campos de la tabla dinámica. Cuando esta propiedad está establecida en True, los campos se clasifican en orden ascendente. Si se establece en False, los campos se clasifican en el orden que tienen en el origen de datos. Lectura y escritura.
InGridDropZones
Esta propiedad se utiliza para activar o desactivar las zonas de colocación dentro de una cuadrícula de un objeto PivotTable. En algunos casos, afecta también al diseño de la tabla dinámica. Valor Boolean de lectura y escritura.
LayoutRowDefault
Esta propiedad especifica la configuración de diseño de los campos dinámicos cuando se agregan a la tabla dinámica por primera vez. Valor xlLayoutRowType de lectura y escritura.
Location
Obtiene o establece una cadena String que representa la celda superior izquierda del cuerpo de la tabla PivotTable especificada. Lectura y escritura.
PivotColumnAxis
Devuelve un objeto PivotAxis que representa todo el eje de columna. Valor PivotAxis de sólo lectura.
PivotRowAxis
Devuelve un objeto PivotAxis que representa todo el eje de
fila. Valor PivotAxis de sólo lectura.
Pág.| 99 PrintDrillIndicators
Especifica si se imprimen o no los indicadores de detalle con la tabla dinámica. Valor Boolean de lectura y escritura.
Métodos
Descripción
RowAxisLayout
Este método se utiliza para definir simultáneamente opciones de diseño para todos los campos dinámicos existentes.
SubtotalLocation
Este método cambia la ubicación del subtotal para todos los campos dinámicos existentes. Cambiar la ubicación del subtotal tiene un efecto visual inmediato sólo para los campos en formato de diseño, pero se establecerá también para los campos que están en formato tabular.
ChangeConnection
Cambia la conexión de la tabla PivotTable especificada.
ChangePivotCache
Cambia la PivotCache de la tabla PivotTable especificada.
ClearAllFilters
El método ClearAllFilters elimina todos los filtros aplicados actualmente a la tabla dinámica, incluidos todos los filtros de la colección PivotFilters del objeto PivotTable, además de los filtros manuales aplicados, y establece todos los campos dinámicos del área Filtro de informe en el elemento predeterminado.
ClearTable
El método ClearTable sirve para borrar una tabla dinámica. Cuando se borra una tabla dinámica, se quitan todos los campos y se eliminan todos los filtros y criterios de ordenación aplicados. Este método restablece la tabla dinámica al estado que tenía cuando se creó, antes de que se agregaran campos.
ConvertToFormulas
El método ConvertToFormulas es nuevo en Microsoft Office Excel 2007 y se utiliza para convertir una tabla dinámica en fórmulas de cubo. Valor Boolean de lectura y escritura.
PlotArea Propiedades
Descripción
Format
Devuelve el objeto ChartFormat. Sólo lectura.
Position
Devuelve o establece la posición del área de trazado del gráfico. Valor XlChartElementPosition de lectura y escritura.
Point Propiedades
Descripción
Pág.| 100 Has3DEffect
True si un punto tiene aspecto tridimensional. Valor Boolean de lectura y escritura.
PictureUnit2
Devuelve o establece la unidad de cada imagen del gráfico si la propiedad PictureType tiene el valor xlStackScale (de lo contrario, esta propiedad se pasa por alto). Valor Double de lectura y escritura.
Format
Devuelve el objeto ChartFormat. Sólo lectura.
QueryTable Propiedades
Descripción
Sort
Devuelve el criterio de ordenación del rango de la tabla de consulta. Sólo lectura.
WorkbookConnec Devuelve el objeto WorkbookConnection que utiliza la tabla de tion consulta. Sólo lectura. Range Propiedades
Descripción
MDX
Devuelve el nombre MDX del objeto Range especificado. String de sólo lectura.
ServerActions
Especifica las acciones que se pueden realizar en el servidor SharePoint con un objeto Range.
CountLarge
Cuenta el valor más alto de un conjunto de valores dado. Variant de sólo lectura.
Métodos
Descripción
RemoveDuplicates
Quita de un rango de valores los valores duplicados.
CalculateRowMajorOr Calcula un rango de celdas especificado. der ExportAsFixedFormat Exporta a un archivo con el formato especificado. Series Propiedades
Descripción
PictureUnit2
Devuelve o establece la unidad de cada imagen del gráfico si la propiedad PictureType tiene el valor xlStackScale (de lo contrario, esta propiedad se pasa por alto). Valor Double de lectura y escritura.
Format
Devuelve el objeto ChartFormat. Sólo lectura.
SeriesLines
Pág.| 101 Propiedades Format
Descripción Devuelve el objeto ChartFormat. Sólo lectura.
ShadowFormat Propiedades
Descripción
Blur
Devuelve o establece el grado de borrosidad de la sombra especificada. Valor Single de lectura y escritura.
RotateWithShap Devuelve o establece un objeto MsoTriState que representa si se debe e girar la sombra al girar la forma. Lectura y escritura. Size
Devuelve o establece el tamaño de la sombra especificada. Valor Single de lectura y escritura.
Style
Devuelve o establece el estilo de la sombra especificada. Valor MsoShadowStyle de lectura y escritura.
Shape Propiedades
Descripción
Chart
Devuelve un objeto Chart que representa el gráfico contenido en la forma. Sólo lectura.
Glow
Devuelve un objeto GlowFormat para una forma seleccionada que contiene propiedades de formato con resplandor para el elemento de la forma. Sólo lectura.
HasChart
Devuelve si una forma contiene un gráfico. Valor MsoTriState de sólo lectura.
Reflection
Devuelve un objeto ReflectionFormat para una forma seleccionada que contiene propiedades de reflejo para la forma. Sólo lectura.
ShapeStyle
Devuelve o establece un objeto MsoShapeStyleIndex que representa el estilo de forma del rango de la forma. Lectura y escritura.
SoftEdge
Devuelve un objeto SoftEdgeFormat para una forma especificada que contiene propiedades de formato de borde suave para la forma. Sólo lectura.
TextFrame2
Devuelve un objeto TextFrame2 que contiene formato de texto para la forma especificada. Sólo lectura.
BackgroundStyl e
Devuelve o establece el estilo del fondo. Valor MsoBackgroundStyleIndex de lectura y escritura.
ShapeRange Propiedades
Descripción
Pág.| 102 BackgroundStyl e
Devuelve o establece el estilo del fondo. Valor MsoBackgroundStyleIndex de lectura y escritura.
Glow
Devuelve un objeto GlowFormat para un rango de forma especificado que contiene propiedades de formato con resplandor para el elemento del rango de la forma. Sólo lectura.
ShapeStyle
Devuelve o establece un objeto MsoShapeStyleIndex que representa el estilo de forma del rango de la forma. Lectura y escritura.
HasChart
Devuelve si un rango de forma contiene un gráfico. Valor MsoTriState de sólo lectura.
Reflection
Devuelve un objeto ReflectionFormat para un rango de forma seleccionada que contiene propiedades de reflejo para el rango de la forma especificada. Sólo lectura.
TextFrame2
Devuelve un objeto TextFrame2 que contiene formato de texto para el rango de la forma especificada. Sólo lectura.
Chart
Devuelve un objeto Chart que representa el gráfico contenido en el rango de la forma. Sólo lectura.
SoftEdge
Devuelve un objeto SoftEdgeFormat para un rango de forma especificada que contiene propiedades de formato de borde suave para el rango de la forma. Sólo lectura.
Shapes Métodos
Descripción
AddChart
Crea un gráfico en la ubicación especificada de la hoja activa.
Tab Propiedades
Descripción
ThemeColor
Devuelve o establece el color del tema de la combinación de colores aplicada que está asociada con el objeto especificado. Valor XlThemeColor de lectura y escritura.
TintAndShade
Devuelve o establece un valor Single que aclara u oscurece un color.
ThreeDFormat Propiedades
Descripción
BevelBottomDepth
Devuelve o establece la profundidad inferior al utilizar el efecto biselado en un objeto ThreeDFormat. Valor Single de lectura y escritura.
Pág.| 103
BevelBottomInset
Devuelve o establece un valor que indica si el biselado de la inserción inferior debe tener relieve para un objeto ThreeDFormat. Valor Single de lectura y escritura.
BevelBottomType
Devuelve o establece el tipo de biselado inferior de un objeto ThreeDFormat. Valor MsoBevelType de lectura y escritura.
BevelTopDepth
Devuelve o establece la profundidad superior al utilizar el efecto biselado en un objeto ThreeDFormat. Valor Single de lectura y escritura.
BevelTopInset
Devuelve o establece un valor que indica si el biselado de la inserción superior debe tener relieve para un objeto ThreeDFormat. Valor Single de lectura y escritura.
BevelTopType
Devuelve o establece el tipo de biselado superior de un objeto ThreeDFormat. Valor MsoBevelType de lectura y escritura.
ContourColor
Devuelve el color de contorno de un objeto ThreeDFormat. Valor ColorFormat de sólo lectura.
ContourWidth
Devuelve o establece el ancho del contorno de un objeto ThreeDFormat. Valor Single de lectura y escritura.
ProjectText
Devuelve o establece el estado del texto del proyecto para el objeto ThreeDFormat especificado. Valor MsoTriState de lectura y escritura.
FieldOfView
Devuelve o establece el ángulo al que se puede ver un objeto ThreeDFormat. Valor Single de lectura y escritura.
LightAngle
Devuelve o establece el ángulo de las luces de extrusión establecidas en un objeto ThreeDFormat. Valor Single de lectura y escritura.
PresetCamera
Devuelve o establece la cámara preestablecida de extrusión de un objeto ThreeDFormat. Valor MsoPresetCamera de sólo lectura.
PresetLighting
Devuelve o establece la iluminación preestablecida de extrusión de un objeto ThreeDFormat. Valor MsoLightRigType de sólo lectura.
RotationZ
Devuelve o establece el giro de la forma extruida, en grados, alrededor del eje Z. Valor Single de lectura y escritura.
Z
Devuelve el orden Z del objeto ThreeDFormat especificado. Valor Single de lectura y escritura.
Métodos
Descripción
IncrementRotationHoriz Cambia el giro en horizontal de la forma especificada el
Pág.| 104 ontal
número de grados especificado.
IncrementRotationVertic Cambia el giro en vertical de la forma especificada el número al de grados especificado. IncrementRotationZ
Cambia el giro de la forma especificada alrededor del eje Z el número de grados indicado.
SetPresetCamera
Establece la cámara para el objeto ThreeDFormat especificado.
TickLabels Propiedades
Descripción
MultiLevel
Establece si un eje es multinivel o no. Valor Boolean de lectura y escritura.
Format
Devuelve el objeto ChartFormat. Sólo lectura.
Trendline Propiedades
Descripción
Backward2
Devuelve o establece el número de períodos (o unidades en un gráfico de dispersión) en que se extiende hacia atrás la línea de tendencia. Valor Double de lectura y escritura.
Format
Devuelve el objeto ChartFormat. Sólo lectura.
Forward2
Devuelve o establece el número de períodos (o unidades en un gráfico de dispersión) en que se extiende hacia delante la línea de tendencia. Valor Double de lectura y escritura.
UpBars Propiedades
Descripción
Format
Devuelve el objeto ChartFormat. Sólo lectura.
Walls Propiedades
Descripción
Format
Devuelve el objeto ChartFormat. Sólo lectura.
Thickness
Devuelve o establece un valor Long que especifica el grosor del plano. Lectura y escritura.
Window Propiedades
Descripción
ActiveSheetView
Devuelve un objeto que representa la vista de la hoja activa en la
ventana especificada. Sólo lectura.
Pág.| 105
True si el autofiltro de la agrupación de fechas se está presentando AutoFilterDateGrou en ese momento en la ventana especificada. Valor Boolean de ping lectura y escritura. DisplayRuler
True si se muestra una regla para la ventana especificada. Valor Boolean de lectura y escritura.
DisplayWhitespace
True si se muestran los espacios en blanco. Valor Boolean de lectura y escritura.
SheetViews
Devuelve el objeto SheetViews de la ventana especificada. Sólo lectura.
Workbook Propiedades
Descripción
ShowPivotChartActiveFi elds
Esta propiedad controla la visibilidad del Panel de filtros del gráfico dinámico. Boolean de lectura y escritura.
Signatures
Devuelve las firmas digitales de un libro. Sólo lectura.
TableStyles
Devuelve un objeto de colección TableStyles para el libro actual que hace referencia a los estilos usados en el libro actual. Sólo lectura.
Theme
Devuelve el tema aplicado al libro actual. Sólo lectura.
Research
Devuelve un objeto Research que representa el servicio de referencia de un libro. Sólo lectura.
ServerPolicy
Devuelve un objeto ServerPolicy que representa una directiva especificada para un libro de trabajo almacenado en un servidor que ejecuta Office SharePoint Server 2007. Sólo lectura.
ServerViewableItems
Permite a los programadores interaccionar con la lista de objetos publicados del libro que se muestran en el servidor. Sólo lectura.
HasVBProject
Devuelve un valor Boolean que representa si un libro tiene adjunto un proyecto de Microsoft Visual Basic para Aplicaciones. Valor Boolean de sólo lectura.
IconSets
Esta propiedad se utiliza para filtrar los datos de un libro basándose en un icono de celda de la colección IconSet. Sólo lectura.
EncryptionProvider
Devuelve una cadena String que especifica el nombre del proveedor del algoritmo de cifrado que utiliza Microsoft Office
Excel 2007 para cifrar los documentos. Lectura y escritura.
Pág.| 106 CheckCompatibility
Controla si se ejecuta o no automáticamente el comprobador de compatibilidad al guardar el libro. Valor Boolean de lectura y escritura.
Connections
La propiedad Connections establece una conexión entre el libro y un origen de datos ODBC u OLEDB, y actualiza los datos sin preguntar al usuario. Sólo lectura.
ConnectionsDisabled ContentTypeProperties
Devuelve una colección MetaProperties que describe los metadatos almacenados en el libro. Sólo lectura.
CustomXMLParts
Devuelve una colección CustomXMLParts que representa el código XML personalizado almacenado en el almacén de datos XML. Sólo lectura.
DefaultPivotTableStyle
Especifica el estilo de tabla de la colección TableStyles que se utiliza como estilo predeterminado para las tablas dinámicas. Lectura y escritura.
DefaultTableStyle
Especifica el estilo de tabla de la colección TableStyles que se utiliza como TableStyle predeterminado. Variant de lectura y escritura.
DocumentInspectors
Devuelve una colección DocumentInspectors que representa los módulos de Inspector de documento del libro especificado. Sólo lectura.
Devuelve o establece si se debe preguntar al usuario si desea convertir el libro en caso de que éste contenga características DoNotPromptForConvert que no son compatibles con versiones de Excel anteriores a Excel 2007. Valor Boolean de lectura y escritura. La propiedad Excel8CompatibilityMode proporciona a los Excel8CompatibilityMod programadores una manera de comprobar si el libro está en e modo de compatibilidad. Valor Boolean de sólo lectura. Final
Devuelve o establece un valor Boolean que indica si un libro es final. Valor Boolean de lectura y escritura.
ForceFullCalculation
Fuerza la realización de una acción. Lectura y escritura.
Métodos
Descripción
RemoveDocumentInform Quita del libro toda la información del tipo especificado. ation LockServerFile
Bloquea el libro en el servidor para impedir su modificación.
Pág.| 107 ApplyTheme
Aplica el tema especificado al libro actual.
EnableConnections
El método EnableConnections permite a los programadores habilitar para el usuario conexiones de datos con el libro mediante programación.
ExportAsFixedFormat
El método ExportAsFixedFormat se utiliza para publicar un libro en formato PDF o XPS.
GetWorkflowTasks
Devuelve la colección de objetos WorkflowTask del libro especificado.
GetWorkflowTemplates
Devuelve la colección de objetos WorkflowTemplate del libro especificado.
Eventos
Descripción
RowsetComplet e
El evento se produce cuando el usuario recorre el conjunto de registros o invoca la acción de conjunto de filas en una tabla dinámica OLAP.
Worksheet Propiedades
Descripción
Sort
Devuelve los valores ordenados de la hoja actual. Sólo lectura.
Devuelve o establece si se utilizarán los formatos EnableFormatConditionsCalc condicionales automáticamente cuando sea necesario. ulation Valor Boolean de lectura y escritura. Métodos
Descripción
ExportAsFixedFormat
Exporta a un archivo con el formato especificado.
WorksheetFunction Métodos
Descripción
Oct2Hex
Convierte un número octal en hexadecimal.
OddFYield
Devuelve el rendimiento de un valor bursátil con un primer período impar (corto o largo).
DollarDe
Convierte una cotización de un valor bursátil, expresada en forma fraccionaria, en decimal. Use DollarDe para convertir números fraccionarios de moneda, como precios de valores bursátiles, a números decimales.
DollarFr
Convierte una cotización de un valor bursátil, expresada en forma decimal, en fraccionaria. Use DollarFR para convertir números
decimales de moneda en números expresados como fracción, como precios de valores bursátiles.
Pág.| 108
BesselK
Devuelve la función Bessel modificada, que equivale a las funciones Bessel evaluadas para argumentos puramente imaginarios.
BesselY
Devuelve la función Bessel, que también se denomina función de Weber o función Neumann.
Duration
Devuelve la duración de Macauley de un valor de valor nominal supuesto de 100 $. La duración se define como el promedio ponderado del valor actual de los recursos generados y se usa como una medida de la respuesta del precio de un bono a los cambios en el rendimiento.
Oct2Bin
Convierte un número octal en binario.
Oct2Dec
Convierte un número octal en decimal.
WeekNum
Devuelve un número que indica dónde está situada la semana numéricamente dentro un año.
WorkDay
Devuelve un número que representa una fecha que es el número de días laborables antes o después de una fecha (la fecha inicial). Los días laborables excluyen los días de fin de semana y cualquier fecha identificada como día festivo. Use WORKDAY para excluir fines de semana o días festivos cuando calcule fechas de vencimiento de facturas, las fechas de entrega esperadas o el número de días de trabajo realizados.
Xirr
Devuelve la tasa interna de retorno para un flujo de caja que no es necesariamente periódico. Para calcular la tasa interna de retorno de una serie de flujos de caja periódicos, utilice la función IRR.
Xnpv
Devuelve el valor neto actual para un flujo de caja que no es necesariamente periódico. Valor Double de lectura y escritura.
YearFrac
Calcula la fracción de año que representa el número de días completos entre los argumentos de fecha inicial y fecha final. Utilice la función YEARFRAC para determinar la proporción de los beneficios u obligaciones de todo un año que corresponde a un período específico.
YieldDisc
Devuelve el rendimiento anual de un valor bursátil con descuento. Por ejemplo, para una letra del Tesoro.
YieldMat
Devuelve el rendimiento anual de un valor bursátil que paga intereses al vencimiento.
Received
Devuelve la cantidad recibida al vencimiento de un valor bursátil completamente invertido.
SeriesSum
Devuelve la suma de una serie exponencial basada en la fórmula
Pág.| 109
SqrtPi
Devuelve la raíz cuadrada de un número multiplicado por pi (número * pi).
SumIfs
Suma las celdas de un rango que cumplen varios criterios.
TBillEq
Devuelve el rendimiento de un bono equivalente a una letra del Tesoro (de EE.UU.).
TBillPrice
Devuelve el precio por 100 $ de valor nominal de una letra del Tesoro (de EE.UU.).
TBillYield
Devuelve el rendimiento de una letra del Tesoro (de EE.UU.).
MultiNomial
Devuelve el cociente del factorial de una suma de valores con respecto al producto de factoriales.
NetworkDays
Devuelve el número de días laborables completos entre fecha_inicial y fecha_final. En los días laborables se excluyen los días de fin de semana y cualquier fecha identificada como día festivo. Utilice NETWORKDAYS para calcular los beneficios de los empleados obtenidos en función del número de días trabajados durante un determinado período.
Nominal
Devuelve la tasa nominal del interés anual, si se conocen la tasa efectiva y el número de períodos de interés compuesto por año.
MRound
Devuelve un número redondeado al múltiplo deseado.
OddLPrice
Devuelve el precio de un valor nominal de 100 $ de un valor bursátil con un período de cupón final impar (largo o corto).
OddLYield
Devuelve el rendimiento de un valor bursátil con un último período impar (corto o largo).
Price
Devuelve el precio por 100 $ de valor nominal de un valor bursátil que paga una tasa de interés periódica.
PriceDisc
Devuelve el precio por 100 $ de valor nominal de un valor bursátil con descuento.
PriceMat
Devuelve el precio por 100 $ de valor nominal de un valor bursátil que genera intereses al vencimiento.
Quotient
Devuelve la parte entera de una división. Use este método cuando desee descartar el resto de una división.
RandBetween
Devuelve un número entero aleatorio entre los números que especifique. Devuelve un nuevo número entero aleatorio cada vez que
se calcula la hoja de cálculo.
Pág.| 110 Hex2Bin
Convierte un número hexadecimal en binario.
Hex2Dec
Convierte un número hexadecimal en decimal.
ImProduct
Devuelve el producto de 2 a 29 números complejos con el formato de texto x + yi o x + yj.
ImReal
Devuelve el coeficiente de la parte real de un número complejo con el formato de texto x + yi o x + yj.
ImSin
Devuelve el seno de un número complejo con el formato de texto x + yi o x + yj.
ImSqrt
Devuelve la raíz cuadrada de un número complejo x + yi o x + yj.
ImSub
Devuelve la diferencia de dos números complejos con el formato de texto x + yi o x + yj.
ImSum
Devuelve la suma de dos o más números complejos con el formato de texto x + yi o x + yj.
IntRate
Devuelve la tasa de interés para la inversión total en un valor bursátil.
IsEven
Comprueba el tipo de valor y devuelve TRUE o FALSE dependiendo de si el valor es par.
IsOdd
Comprueba el tipo de valor y devuelve TRUE o FALSE dependiendo de si el valor es impar.
Lcm
Devuelve el mínimo común múltiplo de números enteros. El mínimo común múltiplo es el entero positivo menor que es múltiplo de todos los argumentos enteros número1, número2, etc. Utilice LCM para sumar fracciones con diferentes denominadores.
Dec2Bin
Convierte un número decimal en binario.
Dec2Hex
Convierte un número decimal en hexadecimal.
Dec2Oct
Convierte un número decimal en octal.
Delta
Comprueba si dos valores son iguales. Devuelve 1 si número1 es igual a número2; de lo contrario devuelve 0.
EDate
Devuelve el número de serie que representa la fecha que indica el número de meses anteriores o posteriores a la fecha especificada (argumento de fecha inicial). Use EDate para calcular las fechas de vencimiento que caen en el mismo día del mes que el día de emisión.
Effect
Devuelve la tasa efectiva del interés anual, si se conocen la tasa de interés anual nominal y el número de períodos de interés compuesto
por año.
Pág.| 111
EoMonth
Devuelve el número de serie del último día del mes, anterior o posterior a la fecha inicial del número de mes indicado. Use el EOMONTH para calcular las fechas de vencimiento que caen en el último día del mes.
FactDouble
Devuelve el factorial doble de un número.
FVSchedule
Devuelve el valor futuro de un capital inicial después de aplicar una serie de tasas de interés compuesto. Utilice FVSCHEDULE para calcular el valor futuro de una inversión con una tasa variable o ajustable.
Gcd
Devuelve el máximo común divisor de dos o más números enteros. El máximo común divisor es el mayor número entero por el que son divisibles los argumentos de número 1 y número 2 sin dejar resto.
GeStep
Devuelve 1 si el valor del argumento número es mayor o igual que el valor de referencia; en caso contrario, devuelve 0 (cero). Use esta función para filtrar un conjunto de valores. Por ejemplo, si suma varias funciones GESTEP, puede calcular el número de valores que sobrepasan un valor límite.
Hex2Oct
Convierte un número hexadecimal en octal.
IfError
Devuelve un valor que se especifica si una fórmula se evalúa como un error; de lo contrario, devuelve el resultado de la fórmula. Utilice la función IFERROR para interceptar y controlar errores en una fórmula (fórmula: secuencia de valores, referencias de celda, nombres, funciones u operadores de una celda que producen juntos un valor nuevo. Una formula comienza siempre con el signo igual (=).).
ImAbs
Devuelve el valor absoluto (módulo) de un número complejo con el formato de texto x + yi o x + yj.
Imaginary
Devuelve el coeficiente de la parte imaginaria de un número complejo con el formato de texto x + yi o x + yj.
ImArgument
Devuelve el argumento (theta), un ángulo expresado en radianes, de forma que:
ImConjugate
Devuelve la conjugada compleja de un número complejo con el formato de texto x + yi o x + yj.
ImCos
Devuelve el coseno de un número complejo con el formato de texto x + yi o x + yj.
ImDiv
Devuelve el cociente entre dos números complejos con el formato de texto x + yi o x + yj.
ImExp
Devuelve en forma algebraica el resultado de la función exponencial
de un número complejo con el formato de texto x + yi o x + yj.
Pág.| 112 ImLn
Devuelve el logaritmo natural (neperiano) de un número complejo con el formato de texto x + yi o x + yj.
ImLog10
Devuelve el logaritmo común (en base 10) de un número complejo con el formato de texto x + yi o x + yj.
ImLog2
Devuelve el logaritmo en base 2 de un número complejo con el formato de texto x + yi o x + yj.
ImPower
Devuelve el resultado de un número complejo elevado a una potencia entera con el formato de texto x + yi o x + yj.
MDuration
Devuelve la duración modificada de Macauley de un valor bursátil con un valor nominal supuesto de 100 $.
OddFPrice
Devuelve el precio de un valor nominal de 100 $ de un valor bursátil con un período inicial impar (largo o corto).
AccrInt
Devuelve el interés devengado de un valor bursátil que paga intereses periódicos.
Convert
Convierte un número de un sistema de medidas en otro. Por ejemplo, Convert puede convertir una tabla de distancias en millas en una tabla de distancias en kilómetros.
Disc
Devuelve la tasa de descuento de un valor bursátil.
AverageIf
Devuelve el promedio (media aritmética) de todas las celdas de un rango que cumplen unos criterios dados.
Bin2Dec
Convierte un número binario en decimal.
Bin2Hex
Convierte un número binario en hexadecimal.
Bin2Oct
Convierte un número binario en octal.
Complex
Convierte coeficientes reales e imaginarios en números complejos de la forma x + yi o x + yj.
CountIfs
Cuenta las celdas contenidas en un rango que no están en blanco y que cumplen varios criterios.
CoupDayBs
Devuelve el número de días desde el principio del período de un cupón hasta la fecha de liquidación.
CoupDays
Devuelve el número de días del período (entre dos cupones) donde se encuentra la fecha de liquidación.
CoupDaysNc
Devuelve el número de días desde la fecha de liquidación hasta la fecha del próximo cupón.
Pág.| 113 CoupNcd
CoupNum
Devuelve un número que representa la fecha del próximo cupón desde la fecha de liquidación. Devuelve el número de cupones pagaderos entre la fecha de liquidación y la fecha de vencimiento, redondeado al siguiente cupón entero.
CoupPcd CumIPmt
Devuelve la cantidad de interés pagado de un préstamo entre los argumentos de inicio del período y de final del período.
CumPrinc
Devuelve la cantidad acumulada de capital pagado de un préstamo entre el inicio y el final del período.
AmorDegrc
Devuelve la depreciación correspondiente a cada período contable. Esta función se proporciona para el sistema contable francés.
AmorLinc
Devuelve la depreciación correspondiente a cada período contable. Esta función se proporciona para el sistema contable francés.
AverageIfs
Devuelve el promedio (media aritmética) de todas las celdas que cumplen varios criterios.
BesselI
Devuelve la función Bessel modificada, que equivale a la función Bessel evaluada para argumentos puramente imaginarios.
BesselJ
Devuelve la función Bessel.
AccrIntM
Devuelve el interés devengado de un valor bursátil que paga intereses a su vencimiento.
Erf
Devuelve el resultado de la función de error entre el argumento de límite inferior y el argumento de límite superior.
ErfC
Devuelve la función ERF complementaria integrada entre el parámetro especificado y el infinito.
XmlMap Propiedades
Descripción
WorkbookConnec Devuelve una nueva conexión para el objeto XMLMap especificado. tion Sólo lectura.
CODIGOS SIMPLES PARA EMPEZAR 1-Seleccionar una Celda
Pág.| 114 Range("A1").Select 2-Escribir en la celda que está seleccionada en el momento actual
Activecell.FormulaR1C1="Pedro" la combinación los códigos 1 y 2 es equivalente a esta sola línea: Range("A1").Value=" pedro" El uso de FormulaR1C1 sera explicado mas adelante 3-Letra Negrita
Selection.Font.Bold = True 4-Letra Cursiva
Selection.Font.Italic = True 5-Letra Subrayada
Selection.Font.Underline = xlUnderlineStyleSingle 6-Centrar Texto
With Selection .HorizontalAlignment = xlCenter End With 7-Alinear a la izquierda
With Selection .HorizontalAlignment = xlLeft End With 8-Alinear a la Derecha
With Selection .HorizontalAlignment = xlRight End With
Pág.| 115 9-Tipo de Letra(Fuente)
With Selection .Font .Name = "Arial" End With 10-Tamaño de Letra(Tamaño de Fuente)
With Selection.Font .Size = 12 End With 11-Copiar
Selection.Copy 12-Pegar
ActiveSheet.Paste 13-Cortar
Selection.Cut 14-Ordenar Ascendente
Selection.Sort Key1:=Range("A1"), Order1:=xlAscending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom
Pág.| 116
15-Orden Descendente
Selection.Sort Key1:=Range("A1"), Order1:=xlDescending, Header:=xlGuess, _ OrderCustom:=1, MatchCase:=False, Orientation:=xlTopToBottom 16-Buscar
Cells.Find(What:="César", After:=ActiveCell, LookIn:=xlFormulas, LookAt:=xlPart, SearchOrder:=xlByRows, SearchDirection:=xlNext, MatchCase:= _ False).Activate 17-Insertar Fila
Selection.EntireRow.Insert 18-Eliminar Fila
Selection.EntireRow.Delete 19-Insertar Columna
Selection.EntireColumn.Insert 20-Eliminar Columna
Selection.EntireColumn.Delete
Pรกg.| 117