Está en la página 1de 117

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)

Resta (3-1)
- (signo menos)
Negación (-1)

* (asterisco) Multiplicación (3*3)


Pág.| 14 / (barra oblicua) División (3/3)

% (signo de
Porcentaje (20%)
porcentaje)

^ (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


Igual o mayor que (A1>=B1)
que)

<= (signo igual o menor


Igual o menor que (A1<=B1)
que)

<>(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
Significado (Ejemplo)
texto

Conecta o concatena dos valores para generar un valor de texto continuo


& ("y" comercial)
("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

Operador de rango que genera una referencia a todas las celdas entre dos
: (dos puntos)
referencias, éstas incluidas (B5:B15)

Operador de unión que combina varias referencias en una sola


, (coma)
(SUMA(B5:B15,D5:D15))

Operador de intersección que genera una referencia a celdas comunes a las dos
(espacio)
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
Operadores de referencia
espacio)

, (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
Pág.| 20 fechas.

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


Pág.| 23 períodos.

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


Pág.| 24 serie de flujos periódicos de efectivo y una tasa de descuento.

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 Devuelve el coseno hiperbólico de un número.

GRADOS 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, Busca un valor de texto dentro de otro (distingue mayúsculas de


ENCONTRARB 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, Devuelve los caracteres del lado izquierdo de un valor de texto.


IZQUIERDAB

LARGO, LARGOB Devuelve el número de caracteres de una cadena de texto.

MINUSC Pone el texto en minúsculas.

EXTRAE, Devuelve un número específico de caracteres de una cadena de texto


EXTRAEB 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, Reemplaza caracteres de texto.


REEMPLAZARB

REPETIR Repite el texto un número determinado de veces.

DERECHA, Devuelve los caracteres del lado derecho de un valor de texto.


DERECHAB

HALLAR, HALLARBBusca un valor de texto dentro de otro (no distingue mayúsculas de


Pág.| 35 minúsculas).

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.
Este artículo es una introducción a la programación orientada a objetos y al Editor de Visual Basic, entorno en el que
Pág.| 38 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
Igual que una propiedad es un atributo cuantificable de un objeto y que un método es una acción que el objeto sabe
Pág.| 39 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
En vez de incrementar el valor en un bucle For…Next estándar, el bucle For Each…Next busca simplemente el
Pág.| 40 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
La ventana Código es la ventana de mayor tamaño del Editor de Visual Basic e incluye en su lado superior dos
Pág.| 41 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 Long)


If valor = 0 Then
Aviso.ForeColor = "Red"
Aviso.Font.Bold = True
Aviso.Font.Italic = True
End If
End Sub

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 Long)


If valor = 0 Then
Aviso.ForeColor = vbRed
Aviso.Font.Bold = True
Aviso.Font.Italic = True
Else
Aviso.Forecolor = vbBlack
Aviso.Font.Bold = False
Aviso.Font.Italic = False
End If
End Sub

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_ Opcional. Una o más instrucciones que se ejecuten si expresión_prueba no


else 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, salario)


Select Case rendimiento
Case 1
Bonificación = salario * 0.1
Case 2, 3
Bonificación = salario * 0.09
Case 4 To 6
Bonificación = salario * 0.07
Case Is > 8
Bonificación = 100
Case Else
Bonificación = 0
End Select
End Function

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()
For Each miObjeto In MiColeccion
Pág.| 57
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
Do
Pág.| 59
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
Los rangos con nombre facilita el uso de la propiedad Range con varios rangos. El siguiente ejemplo
Pág.| 67 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
Pág.| 69 continuación, haga clic en Propiedades para mostrar la ventana Propiedades.

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

Aplicacion

Asc

Aseno

Asenoh

Atan2

Atanh

DesvProm

Promedio
Promedio.Si
Pág.| 74
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
Cupon.Fecha.L1
Pág.| 75
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
Fin.Mes
Pág.| 76
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
Imaginario
Pág.| 77
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
Ln
Pág.| 78
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
Rendto.Per.Irregular.2
Pág.| 79
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
Rdtr
Pág.| 80
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
Media.Acotada
Pág.| 81
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

Devuelve o establece un valor Boolean que representa si


ShowDevTools se debe mostrar la ficha Programador en la cinta de
opciones. Valor Boolean de lectura y escritura.

Devuelve o establece un valor Boolean que representa si


se deben mostrar las Minibarras de herramientas cuando
ShowMenuFloaties el usuario haga clic con el botón secundario del mouse
(ratón) en la ventana del libro. Valor Boolean de lectura y
escritura.

Devuelve o establece un valor Boolean que representa si


se deben mostrar las Minibarras de herramientas cuando
ShowSelectionFloaties
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.

Especifica la unidad de medida usada en la aplicación.


MeasurementUnit
Valor xlMeasurementUnit de lectura y escritura.

MultiThreadedCalculation Devuelve un objeto MultiThreadedCalculation que


controla la configuración de actualización de cálculos
Pág.| 83 multiproceso nueva en Excel 2007. Sólo lectura.

Devuelve o establece si se ejecutan las consultas


asincrónicas a orígenes de datos OLAP cuando se
DeferAsyncQueries
actualiza una hoja de cálculo mediante código de VBA.
Valor Boolean de lectura y escritura.

Devuelve o establece un valor Boolean que representa si


DisplayDocumentInformatio
se muestra el panel de propiedades del documento. Valor
nPanel
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.

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
EnableLargeOperationAlert
celdas mayor que el especificado en la interfaz de
usuario central de Office. Valor Boolean de lectura y
escritura.

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
EnableLivePreview
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.

Permite al usuario especificar en líneas el alto de la barra


FormulaBarHeight
de fórmulas. Valor Long de lectura y escritura.

La propiedad GenerateTableRefs determina si se utiliza el


método de notación tradicional o el nuevo método
GenerateTableRefs estructurado de notación de referencias al hacer
referencia a tablas dentro de fórmulas. Lectura y
escritura.

ActiveEncryptionSession Sólo lectura.

Devuelve o establece un valor Boolean que representa si


se debe usar ClearType para mostrar las fuentes en el
AlwaysUseClearType
menú, en la cinta de opciones y en el texto de los
cuadros de diálogo. Valor Boolean de lectura y escritura.

Devuelve un objeto IAssistance para Excel 2007 que


Assistance 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.

El evento AfterCalculate se produce cuando se han completado


todas las actividades de actualización pendientes (tanto
AfterCalculate
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

Obtiene la columna o columnas de ordenación y el criterio de


Sort
ordenación de la colección AutoFilter.

Devuelve True si la hoja está en el modo de filtrado Autofiltro. Valor


FilterMode
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

Devuelve o establece la base del logaritmo cuando se utilizan


LogBase
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.

Devuelve o establece la posición del título del eje en el gráfico. Valor


Position
XlChartElementPosition de lectura y escritura.

Border

Propiedades Descripción

Devuelve o establece el color del tema de la combinación de colores


ThemeColor 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

Devuelve o establece el color del tema de la combinación de colores


ThemeColor 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.

Devuelve un objeto Walls que permite al usuario dar formato


SideWall
por separado al plano lateral de un gráfico 3D. Sólo lectura.

Devuelve un objeto Walls que permite al usuario dar formato


BackWall
por separado al plano trasero de un gráfico 3D. Sólo lectura.

Devuelve o establece el estilo de gráfico usado en el gráfico.


ChartStyle
Variant de lectura y escritura.

Métodos Descripción
Pág.| 86
Aplica un tipo de gráfico estándar o personalizado a un
ApplyChartTemplate
gráfico.

ApplyLayout Aplica los diseños mostrados en la cinta de opciones.

ExportAsFixedFormat Exporta a un archivo con el formato especificado.

Guarda una plantilla de gráfico personalizada en la lista de


SaveChartTemplate
plantillas de gráfico disponibles.

Especifica el nombre de la plantilla del gráfico que utiliza


SetDefaultChart
Microsoft Excel para crear nuevos gráficos.

Establece los elementos de gráfico de un gráfico. Valor


SetElement
MsoChartElementType de lectura y escritura.

Borra el formato de los elementos del gráfico y utiliza los


ClearToMatchStyle
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.

Devuelve o establece la posición del título del gráfico en el gráfico.


Position
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

La propiedad AllItemsVisible comprueba si se ha aplicado un filtro


AllItemsVisible 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.

Devuelve o establece el nombre de página de un objeto CubeField.


CurrentPageName
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.

Devuelve True si el valor de CubeField es una fecha. Boolean de


IsDate
sólo lectura.

Métodos Descripción

El método ClearManualFilter proporciona un modo sencillo de


establecer la propiedad Visible en True para todos los elementos de
ClearManualFilter un campo dinámico de las tablas dinámicas y de vaciar las
colecciones HiddenItemsList y VisibleItemsList en las tablas
dinámicas OLAP.

El método CreatePivotFields es nuevo en Microsoft Office Excel


2007. Permite a los usuarios aplicar un filtro a campos dinámicos
CreatePivotFields
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.

Devuelve o establece la posición del rótulo de las unidades de un eje


Position
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.

Devuelve o establece el valor X de desplazamiento del relleno


TextureOffsetX
especificado. Valor Single de lectura y escritura.

Devuelve o establece el valor Y de desplazamiento del relleno


TextureOffsetY
especificado. Valor Single de lectura y escritura.

Devuelve el estilo de mosaico de textura del relleno especificado.


TextureTile
Valor MsoTriState de lectura y escritura.

Devuelve o establece si el estilo de relleno debe girar junto con el


RotateWithObject
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

Devuelve el número de objetos contenidos en la colección. Long de


Count
sólo lectura.

Floor

Propiedades Descripción

Format Devuelve el objeto ChartFormat. Sólo lectura.

Devuelve o establece un valor Long que especifica el grosor del plano


Thickness
inferior. Lectura y escritura.

Font

Propiedades Descripción

Devuelve o establece el color del tema de la combinación de colores


ThemeColor aplicada que está asociada con el objeto especificado. Valor Variant de
lectura y escritura.

Devuelve o establece la fuente del tema de la combinación de fuentes


ThemeFont 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

Devuelve o establece el formato de número aplicado a una celda si


NumberFormat la regla de formato condicional da como resultado True. Valor
Variant de lectura y escritura.

Devuelve o establece el valor de prioridad de la regla de formato


Priority 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


Pág.| 90 aplica a un gráfico de tabla dinámica. Sólo lectura.

Devuelve o establece una de las constantes de la enumeración


ScopeType XlPivotConditionScope, que determina el ámbito del formato
condicional cuando se aplica a un gráfico de tabla dinámica.

Devuelve o establece un valor Boolean que determina si se deben


StopIfTrue evaluar reglas adicionales de formato en la celda si la regla actual
da como resultado True.

Devuelve o establece un valor String que especifica el texto usado


Text
por la regla de formato condicional.

Devuelve o establece una de las constantes de la enumeración


TextOperator XlContainsOperator, que especifican la búsqueda de texto realizada
por la regla de formato condicional.

Devuelve un objeto Range que especifica el rango de celdas al que


AppliesTo
se aplica la regla de formato.

Especifica el operador de fecha usado en la condición de formato.


DateOperator
Lectura y escritura.

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
FormatRow
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

Establece el valor de prioridad para esta regla de formato


SetFirstPriority condicional en "1" para que se evalúe antes que todas las demás
reglas en la hoja de cálculo.

Establece el orden de evaluación para esta regla de formato


SetLastPriority 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
Pág.| 91 celdas incluidas en un rango seleccionado.

Devuelve un objeto Databar que representa una regla de formato


AddDatabar
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.

Devuelve un objeto Top10 que representa una regla de formato


AddTop10
condicional para el rango especificado.

Devuelve un nuevo objeto UniqueValues que representa una regla de


AddUniqueValues
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

Devuelve o establece la propiedad Gradient de un objeto Interior de


Gradient
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.

Devuelve o establece el color del tema de la combinación de colores


ThemeColor 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 Descripción

Format 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.

Devuelve o establece la unidad de cada imagen del gráfico si la


PictureUnit2 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

Devuelve un objeto Range que tiene el tamaño de la parte de datos de


DataBodyRange
una columna. Sólo lectura.

Total Devuelve la fila Total de un objeto ListColumn. Sólo lectura.

ListObject

Propiedades Descripción

Devuelve o establece si se debe mostrar la información de


ShowHeaders 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
filas para el objeto ListObject especificado. Valor Boolean de
es
lectura y escritura.

Filtra una lista utilizando la característica Autofiltro. Sólo


AutoFilter
lectura.

Devuelve o establece el comentario asociado con el objeto de


Comment
lista. String de lectura y escritura.

Devuelve o establece el nombre para mostrar del objeto


DisplayName
ListObject especificado. String de lectura y escritura.

Obtiene o establece el estilo de tabla del objeto ListObject


TableStyle
especificado. Valor Variant de lectura y escritura.

Obtiene o establece la columna o columnas de ordenación y el


Sort
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.

Devuelve o establece el comentario asociado con el nombre.


Comment
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 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


FirstPage
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.

Devuelve o establece el número total o el número de


Pages
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.

Devuelve la versión de Microsoft Excel en la que se creó la caché


Version
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

Devuelve el objeto PivotLine de una columna de un objeto PivotCell


PivotColumnLine
específico. PivotLine de sólo lectura.

PivotRowLine Devuelve el objeto PivotLine de una fila para un objeto PivotCell


Pág.| 95 específico. PivotLine de sólo lectura.

PivotField

Propiedades Descripción

Se utiliza para recuperar un valor de tipo Boolean que indica


AllItemsVisible si se aplica algún filtro manual al campo dinámico. Sólo
lectura.

Especifica si se compacta o no un objeto PivotField (los


elementos de varios objetos PivotField se muestran en una
LayoutCompactRow
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.

Devuelve el nombre del subtotal personalizado que se utiliza


AutoSortCustomSubtotal para ordenar automáticamente el campo de la tabla dinámica
especificado. Sólo lectura.

Devuelve el nombre de la línea dinámica utilizada para


AutoSortPivotLine ordenar automáticamente el campo de la tabla dinámica
especificado. Sólo lectura.

Esta propiedad se utiliza para mostrar propiedades miembro


DisplayAsCaption
de campos dinámicos como títulos. Sólo lectura.

Esta propiedad se utiliza para especificar si se muestra o no


una propiedad miembro PivotField específica en la
DisplayAsTooltip
información sobre herramientas. Valor Boolean de lectura y
escritura.

Esta propiedad se utiliza para determinar si se muestra o no


DisplayInReport 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.

Esta propiedad se utiliza para ocultar los distintos niveles de


Hidden
una jerarquía OLAP. Valor Boolean de lectura y escritura.

IncludeNewItemsInFilter 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
Pág.| 96 dinámico. Valor Boolean de lectura y escritura.

La propiedad MemberPropertyCaption controla qué propiedad


MemberPropertyCaption miembro se utiliza como título para un nivel determinado.
Valor Boolean de lectura y escritura.

Devuelve o establece los filtros dinámicos para el objeto


PivotFilters
PivotField especificado. Sólo lectura.

Obtiene o establece si el campo PivotField especificado se


ShowDetail
muestra con detalle. Valor Boolean de lectura y escritura.

Indica si el campo dinámico está visible o no en ese momento


ShowingInAxis
en la tabla dinámica. Sólo lectura.

La propiedad SourceCaption sólo es aplicable a tablas


SourceCaption dinámicas OLAP y devuelve el rótulo original de un campo
dinámico desde el servidor OLAP. Sólo lectura.

Devuelve o establece un valor Variant que especifica una


matriz de cadenas que representan los elementos incluidos
VisibleItemsList
en un filtro manual aplicado a un campo dinámico. Lectura y
escritura.

Métodos Descripción

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
ClearAllFilters
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.

Este método elimina todos los filtros de rótulo o todos los


ClearLabelFilters filtros de fecha de la colección PivotFilters del campo
dinámico.

Proporciona un modo sencillo de establecer la propiedad


Visible en True para todos los elementos de un campo
ClearManualFilter
dinámico y de vaciar las colecciones HiddenItemsList y
VisibleItemsList en las tablas dinámicas OLAP.

Al llamar a este método se eliminan todos los filtros de valor


ClearValueFilters
de la colección PivotFilters del campo dinámico.

El método DrillTo permite profundizar hasta un campo


DrillTo
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.

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
SortUsingCustomLists
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.

La propiedad ShowDrillIndicators se utiliza para mostrar u


ShowDrillIndicators 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.

La propiedad TableStyle2 especifica el estilo de tabla


TableStyle2 dinámica aplicado en cada momento a la tabla dinámica.
Lectura y escritura.

Indica el filtro actualmente activo en la tabla dinámica


ActiveFilters
especificada. Sólo lectura.

AllowMultipleFilters Establece o recupera un valor que indica si un campo


dinámico tiene varios filtros aplicados simultáneamente.
Pág.| 98 Valor Boolean de lectura y escritura.

Especifica el título que se muestra en el encabezado de


CompactLayoutColumnHe
columna de una tabla dinámica con un formato de filas
ader
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.

Devuelve o establece el incremento de sangría de los


CompactRowIndent elementos dinámicos cuando está habilitado el formato de
filas compactas. Lectura y escritura.

Controla si se muestra o no información sobre herramientas


DisplayContextTooltips para las celdas de la tabla dinámica. Valor Boolean de
lectura y escritura.

Controla si se muestran o no los botones de filtro y los


DisplayFieldCaptions 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.

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
FieldListSortAscending
ascendente. Si se establece en False, los campos se
clasifican en el orden que tienen en el origen de datos.
Lectura y escritura.

Esta propiedad se utiliza para activar o desactivar las zonas


de colocación dentro de una cuadrícula de un objeto
InGridDropZones
PivotTable. En algunos casos, afecta también al diseño de la
tabla dinámica. Valor Boolean de lectura y escritura.

Esta propiedad especifica la configuración de diseño de los


campos dinámicos cuando se agregan a la tabla dinámica
LayoutRowDefault
por primera vez. Valor xlLayoutRowType de lectura y
escritura.

Obtiene o establece una cadena String que representa la


Location celda superior izquierda del cuerpo de la tabla PivotTable
especificada. Lectura y escritura.

Devuelve un objeto PivotAxis que representa todo el eje de


PivotColumnAxis
columna. Valor PivotAxis de sólo lectura.

PivotRowAxis Devuelve un objeto PivotAxis que representa todo el eje de


Pág.| 99 fila. Valor PivotAxis de sólo lectura.

Especifica si se imprimen o no los indicadores de detalle con


PrintDrillIndicators
la tabla dinámica. Valor Boolean de lectura y escritura.

Métodos Descripción

Este método se utiliza para definir simultáneamente


RowAxisLayout opciones de diseño para todos los campos dinámicos
existentes.

Este método cambia la ubicación del subtotal para todos los


campos dinámicos existentes. Cambiar la ubicación del
SubtotalLocation 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.

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
ClearAllFilters
filtros manuales aplicados, y establece todos los campos
dinámicos del área Filtro de informe en el elemento
predeterminado.

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
ClearTable
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.

El método ConvertToFormulas es nuevo en Microsoft Office


ConvertToFormulas 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.

Devuelve o establece la posición del área de trazado del gráfico. Valor


Position
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.

Devuelve o establece la unidad de cada imagen del gráfico si la


PictureUnit2 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

Devuelve el criterio de ordenación del rango de la tabla de consulta.


Sort
Sólo lectura.

WorkbookConnec Devuelve el objeto WorkbookConnection que utiliza la tabla de


tion consulta. Sólo lectura.

Range

Propiedades Descripción

Devuelve el nombre MDX del objeto Range especificado. String de


MDX
sólo lectura.

Especifica las acciones que se pueden realizar en el servidor


ServerActions
SharePoint con un objeto Range.

Cuenta el valor más alto de un conjunto de valores dado. Variant


CountLarge
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

Devuelve o establece la unidad de cada imagen del gráfico si la


PictureUnit2 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 Descripción

Format Devuelve el objeto ChartFormat. Sólo lectura.

ShadowFormat

Propiedades Descripción

Devuelve o establece el grado de borrosidad de la sombra


Blur
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.

Devuelve o establece el tamaño de la sombra especificada. Valor


Size
Single de lectura y escritura.

Devuelve o establece el estilo de la sombra especificada. Valor


Style
MsoShadowStyle de lectura y escritura.

Shape

Propiedades Descripción

Devuelve un objeto Chart que representa el gráfico contenido en la


Chart
forma. Sólo lectura.

Devuelve un objeto GlowFormat para una forma seleccionada que


Glow contiene propiedades de formato con resplandor para el elemento de
la forma. Sólo lectura.

Devuelve si una forma contiene un gráfico. Valor MsoTriState de sólo


HasChart
lectura.

Devuelve un objeto ReflectionFormat para una forma seleccionada que


Reflection
contiene propiedades de reflejo para la forma. Sólo lectura.

Devuelve o establece un objeto MsoShapeStyleIndex que representa el


ShapeStyle
estilo de forma del rango de la forma. Lectura y escritura.

Devuelve un objeto SoftEdgeFormat para una forma especificada que


SoftEdge contiene propiedades de formato de borde suave para la forma. Sólo
lectura.

Devuelve un objeto TextFrame2 que contiene formato de texto para la


TextFrame2
forma especificada. Sólo lectura.

BackgroundStyl Devuelve o establece el estilo del fondo. Valor


e MsoBackgroundStyleIndex de lectura y escritura.

ShapeRange

Propiedades Descripción
Pág.| 102
BackgroundStyl Devuelve o establece el estilo del fondo. Valor
e MsoBackgroundStyleIndex de lectura y escritura.

Devuelve un objeto GlowFormat para un rango de forma especificado


Glow que contiene propiedades de formato con resplandor para el elemento
del rango de la forma. Sólo lectura.

Devuelve o establece un objeto MsoShapeStyleIndex que representa el


ShapeStyle
estilo de forma del rango de la forma. Lectura y escritura.

Devuelve si un rango de forma contiene un gráfico. Valor MsoTriState


HasChart
de sólo lectura.

Devuelve un objeto ReflectionFormat para un rango de forma


Reflection seleccionada que contiene propiedades de reflejo para el rango de la
forma especificada. Sólo lectura.

Devuelve un objeto TextFrame2 que contiene formato de texto para el


TextFrame2
rango de la forma especificada. Sólo lectura.

Devuelve un objeto Chart que representa el gráfico contenido en el


Chart
rango de la forma. Sólo lectura.

Devuelve un objeto SoftEdgeFormat para un rango de forma


SoftEdge 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

Devuelve o establece el color del tema de la combinación de colores


ThemeColor 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

Devuelve o establece la profundidad inferior al utilizar el efecto


BevelBottomDepth biselado en un objeto ThreeDFormat. Valor Single de lectura y
escritura.
Pág.| 103 Devuelve o establece un valor que indica si el biselado de la
BevelBottomInset inserción inferior debe tener relieve para un objeto
ThreeDFormat. Valor Single de lectura y escritura.

Devuelve o establece el tipo de biselado inferior de un objeto


BevelBottomType
ThreeDFormat. Valor MsoBevelType de lectura y escritura.

Devuelve o establece la profundidad superior al utilizar el


BevelTopDepth efecto biselado en un objeto ThreeDFormat. Valor Single de
lectura y escritura.

Devuelve o establece un valor que indica si el biselado de la


BevelTopInset inserción superior debe tener relieve para un objeto
ThreeDFormat. Valor Single de lectura y escritura.

Devuelve o establece el tipo de biselado superior de un objeto


BevelTopType
ThreeDFormat. Valor MsoBevelType de lectura y escritura.

Devuelve el color de contorno de un objeto ThreeDFormat.


ContourColor
Valor ColorFormat de sólo lectura.

Devuelve o establece el ancho del contorno de un objeto


ContourWidth
ThreeDFormat. Valor Single de lectura y escritura.

Devuelve o establece el estado del texto del proyecto para el


ProjectText objeto ThreeDFormat especificado. Valor MsoTriState de lectura
y escritura.

Devuelve o establece el ángulo al que se puede ver un objeto


FieldOfView
ThreeDFormat. Valor Single de lectura y escritura.

Devuelve o establece el ángulo de las luces de extrusión


LightAngle establecidas en un objeto ThreeDFormat. Valor Single de
lectura y escritura.

Devuelve o establece la cámara preestablecida de extrusión de


PresetCamera un objeto ThreeDFormat. Valor MsoPresetCamera de sólo
lectura.

Devuelve o establece la iluminación preestablecida de


PresetLighting extrusión de un objeto ThreeDFormat. Valor MsoLightRigType
de sólo lectura.

Devuelve o establece el giro de la forma extruida, en grados,


RotationZ
alrededor del eje Z. Valor Single de lectura y escritura.

Devuelve el orden Z del objeto ThreeDFormat especificado.


Z
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.

Cambia el giro de la forma especificada alrededor del eje Z el


IncrementRotationZ
número de grados indicado.

SetPresetCamera Establece la cámara para el objeto ThreeDFormat especificado.

TickLabels

Propiedades Descripción

Establece si un eje es multinivel o no. Valor Boolean de lectura y


MultiLevel
escritura.

Format Devuelve el objeto ChartFormat. Sólo lectura.

Trendline

Propiedades Descripción

Devuelve o establece el número de períodos (o unidades en un gráfico


Backward2 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.

Devuelve o establece el número de períodos (o unidades en un gráfico


Forward2 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.

Devuelve o establece un valor Long que especifica el grosor del plano.


Thickness
Lectura y escritura.

Window

Propiedades Descripción

ActiveSheetView Devuelve un objeto que representa la vista de la hoja activa en la


Pág.| 105 ventana especificada. Sólo lectura.

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.

True si se muestra una regla para la ventana especificada. Valor


DisplayRuler
Boolean de lectura y escritura.

True si se muestran los espacios en blanco. Valor Boolean de


DisplayWhitespace
lectura y escritura.

Devuelve el objeto SheetViews de la ventana especificada. Sólo


SheetViews
lectura.

Workbook

Propiedades Descripción

ShowPivotChartActiveFi Esta propiedad controla la visibilidad del Panel de filtros del


elds gráfico dinámico. Boolean de lectura y escritura.

Signatures Devuelve las firmas digitales de un libro. Sólo lectura.

Devuelve un objeto de colección TableStyles para el libro


TableStyles 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.

Devuelve un objeto Research que representa el servicio de


Research
referencia de un libro. Sólo lectura.

Devuelve un objeto ServerPolicy que representa una directiva


especificada para un libro de trabajo almacenado en un
ServerPolicy
servidor que ejecuta Office SharePoint Server 2007. Sólo
lectura.

Permite a los programadores interaccionar con la lista de


ServerViewableItems objetos publicados del libro que se muestran en el servidor.
Sólo lectura.

Devuelve un valor Boolean que representa si un libro tiene


HasVBProject adjunto un proyecto de Microsoft Visual Basic para
Aplicaciones. Valor Boolean de sólo lectura.

Esta propiedad se utiliza para filtrar los datos de un libro


IconSets 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
Pág.| 106 Excel 2007 para cifrar los documentos. Lectura y escritura.

Controla si se ejecuta o no automáticamente el comprobador


CheckCompatibility de compatibilidad al guardar el libro. Valor Boolean de lectura
y escritura.

La propiedad Connections establece una conexión entre el


Connections libro y un origen de datos ODBC u OLEDB, y actualiza los datos
sin preguntar al usuario. Sólo lectura.

ConnectionsDisabled

Devuelve una colección MetaProperties que describe los


ContentTypeProperties
metadatos almacenados en el libro. Sólo lectura.

Devuelve una colección CustomXMLParts que representa el


CustomXMLParts código XML personalizado almacenado en el almacén de datos
XML. Sólo lectura.

Especifica el estilo de tabla de la colección TableStyles que se


DefaultPivotTableStyle utiliza como estilo predeterminado para las tablas dinámicas.
Lectura y escritura.

Especifica el estilo de tabla de la colección TableStyles que se


DefaultTableStyle utiliza como TableStyle predeterminado. Variant de lectura y
escritura.

Devuelve una colección DocumentInspectors que representa


DocumentInspectors 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.

Devuelve o establece un valor Boolean que indica si un libro es


Final
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.

El método EnableConnections permite a los programadores


EnableConnections habilitar para el usuario conexiones de datos con el libro
mediante programación.

El método ExportAsFixedFormat se utiliza para publicar un


ExportAsFixedFormat
libro en formato PDF o XPS.

Devuelve la colección de objetos WorkflowTask del libro


GetWorkflowTasks
especificado.

Devuelve la colección de objetos WorkflowTemplate del libro


GetWorkflowTemplates
especificado.

Eventos Descripción

RowsetComplet El evento se produce cuando el usuario recorre el conjunto de registros


e o invoca la acción de conjunto de filas en una tabla dinámica OLAP.

Worksheet

Propiedades Descripción

Devuelve los valores ordenados de la hoja actual. Sólo


Sort
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.

Devuelve el rendimiento de un valor bursátil con un primer período


OddFYield
impar (corto o largo).

Convierte una cotización de un valor bursátil, expresada en forma


fraccionaria, en decimal. Use DollarDe para convertir números
DollarDe
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
Pág.| 108 decimales de moneda en números expresados como fracción, como
precios de valores bursátiles.

Devuelve la función Bessel modificada, que equivale a las funciones


BesselK
Bessel evaluadas para argumentos puramente imaginarios.

Devuelve la función Bessel, que también se denomina función de


BesselY
Weber o función Neumann.

Devuelve la duración de Macauley de un valor de valor nominal


supuesto de 100 $. La duración se define como el promedio ponderado
Duration
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.

Devuelve un número que indica dónde está situada la semana


WeekNum
numéricamente dentro un año.

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
WorkDay 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.

Devuelve la tasa interna de retorno para un flujo de caja que no es


Xirr necesariamente periódico. Para calcular la tasa interna de retorno de
una serie de flujos de caja periódicos, utilice la función IRR.

Devuelve el valor neto actual para un flujo de caja que no es


Xnpv
necesariamente periódico. Valor Double de lectura y escritura.

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
YEARFRAC para determinar la proporción de los beneficios u
obligaciones de todo un año que corresponde a un período específico.

Devuelve el rendimiento anual de un valor bursátil con descuento. Por


YieldDisc
ejemplo, para una letra del Tesoro.

Devuelve el rendimiento anual de un valor bursátil que paga intereses


YieldMat
al vencimiento.

Devuelve la cantidad recibida al vencimiento de un valor bursátil


Received
completamente invertido.

SeriesSum Devuelve la suma de una serie exponencial basada en la fórmula


Pág.| 109

Devuelve la raíz cuadrada de un número multiplicado por pi (número *


SqrtPi
pi).

SumIfs Suma las celdas de un rango que cumplen varios criterios.

Devuelve el rendimiento de un bono equivalente a una letra del Tesoro


TBillEq
(de EE.UU.).

Devuelve el precio por 100 $ de valor nominal de una letra del Tesoro
TBillPrice
(de EE.UU.).

TBillYield Devuelve el rendimiento de una letra del Tesoro (de EE.UU.).

Devuelve el cociente del factorial de una suma de valores con respecto


MultiNomial
al producto de factoriales.

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
NETWORKDAYS para calcular los beneficios de los empleados
obtenidos en función del número de días trabajados durante un
determinado período.

Devuelve la tasa nominal del interés anual, si se conocen la tasa


Nominal
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.

Devuelve el precio de un valor nominal de 100 $ de un valor bursátil


OddLPrice
con un período de cupón final impar (largo o corto).

Devuelve el rendimiento de un valor bursátil con un último período


OddLYield
impar (corto o largo).

Devuelve el precio por 100 $ de valor nominal de un valor bursátil que


Price
paga una tasa de interés periódica.

Devuelve el precio por 100 $ de valor nominal de un valor bursátil con


PriceDisc
descuento.

Devuelve el precio por 100 $ de valor nominal de un valor bursátil que


PriceMat
genera intereses al vencimiento.

Devuelve la parte entera de una división. Use este método cuando


Quotient
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
Pág.| 110 se calcula la hoja de cálculo.

Hex2Bin Convierte un número hexadecimal en binario.

Hex2Dec Convierte un número hexadecimal en decimal.

Devuelve el producto de 2 a 29 números complejos con el formato de


ImProduct
texto x + yi o x + yj.

Devuelve el coeficiente de la parte real de un número complejo con el


ImReal
formato de texto x + yi o x + yj.

Devuelve el seno de un número complejo con el formato de texto x +


ImSin
yi o x + yj.

ImSqrt Devuelve la raíz cuadrada de un número complejo x + yi o x + yj.

Devuelve la diferencia de dos números complejos con el formato de


ImSub
texto x + yi o x + yj.

Devuelve la suma de dos o más números complejos con el formato de


ImSum
texto x + yi o x + yj.

IntRate Devuelve la tasa de interés para la inversión total en un valor bursátil.

Comprueba el tipo de valor y devuelve TRUE o FALSE dependiendo de


IsEven
si el valor es par.

Comprueba el tipo de valor y devuelve TRUE o FALSE dependiendo de


IsOdd
si el valor es impar.

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
Lcm
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.

Comprueba si dos valores son iguales. Devuelve 1 si número1 es igual


Delta
a número2; de lo contrario devuelve 0.

Devuelve el número de serie que representa la fecha que indica el


número de meses anteriores o posteriores a la fecha especificada
EDate
(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
Pág.| 111 por año.

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
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.

Devuelve el valor futuro de un capital inicial después de aplicar una


FVSchedule serie de tasas de interés compuesto. Utilice FVSCHEDULE para calcular
el valor futuro de una inversión con una tasa variable o ajustable.

Devuelve el máximo común divisor de dos o más números enteros. El


Gcd 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.

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
GeStep 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.

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
IfError
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 (=).).

Devuelve el valor absoluto (módulo) de un número complejo con el


ImAbs
formato de texto x + yi o x + yj.

Devuelve el coeficiente de la parte imaginaria de un número complejo


Imaginary
con el formato de texto x + yi o x + yj.

Devuelve el argumento (theta), un ángulo expresado en radianes, de


ImArgument
forma que:

Devuelve la conjugada compleja de un número complejo con el


ImConjugate
formato de texto x + yi o x + yj.

Devuelve el coseno de un número complejo con el formato de texto x


ImCos
+ yi o x + yj.

Devuelve el cociente entre dos números complejos con el formato de


ImDiv
texto x + yi o x + yj.

ImExp Devuelve en forma algebraica el resultado de la función exponencial


Pág.| 112 de un número complejo con el formato de texto x + yi o x + yj.

Devuelve el logaritmo natural (neperiano) de un número complejo con


ImLn
el formato de texto x + yi o x + yj.

Devuelve el logaritmo común (en base 10) de un número complejo con


ImLog10
el formato de texto x + yi o x + yj.

Devuelve el logaritmo en base 2 de un número complejo con el


ImLog2
formato de texto x + yi o x + yj.

Devuelve el resultado de un número complejo elevado a una potencia


ImPower
entera con el formato de texto x + yi o x + yj.

Devuelve la duración modificada de Macauley de un valor bursátil con


MDuration
un valor nominal supuesto de 100 $.

Devuelve el precio de un valor nominal de 100 $ de un valor bursátil


OddFPrice
con un período inicial impar (largo o corto).

Devuelve el interés devengado de un valor bursátil que paga intereses


AccrInt
periódicos.

Convierte un número de un sistema de medidas en otro. Por ejemplo,


Convert 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.

Devuelve el promedio (media aritmética) de todas las celdas de un


AverageIf
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.

Convierte coeficientes reales e imaginarios en números complejos de


Complex
la forma x + yi o x + yj.

Cuenta las celdas contenidas en un rango que no están en blanco y


CountIfs
que cumplen varios criterios.

Devuelve el número de días desde el principio del período de un cupón


CoupDayBs
hasta la fecha de liquidación.

Devuelve el número de días del período (entre dos cupones) donde se


CoupDays
encuentra la fecha de liquidación.

Devuelve el número de días desde la fecha de liquidación hasta la


CoupDaysNc
fecha del próximo cupón.
Pág.| 113 CoupNcd 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


CoupNum liquidación y la fecha de vencimiento, redondeado al siguiente cupón
entero.

CoupPcd

Devuelve la cantidad de interés pagado de un préstamo entre los


CumIPmt
argumentos de inicio del período y de final del período.

Devuelve la cantidad acumulada de capital pagado de un préstamo


CumPrinc
entre el inicio y el final del período.

Devuelve la depreciación correspondiente a cada período contable.


AmorDegrc
Esta función se proporciona para el sistema contable francés.

Devuelve la depreciación correspondiente a cada período contable.


AmorLinc
Esta función se proporciona para el sistema contable francés.

Devuelve el promedio (media aritmética) de todas las celdas que


AverageIfs
cumplen varios criterios.

Devuelve la función Bessel modificada, que equivale a la función


BesselI
Bessel evaluada para argumentos puramente imaginarios.

BesselJ Devuelve la función Bessel.

Devuelve el interés devengado de un valor bursátil que paga intereses


AccrIntM
a su vencimiento.

Devuelve el resultado de la función de error entre el argumento de


Erf
límite inferior y el argumento de límite superior.

Devuelve la función ERF complementaria integrada entre el parámetro


ErfC
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

También podría gustarte