Visual Basic. Fórmulas personalizadas para Excel

Anuncio
mailxmail - Cursos para compartir lo que sabes
Visual Basic. Fórmulas
personalizadas para Excel
Autor: David
[ http://www.mailxmail.com/curso-visual-basic-formulas-personalizadas-excel]
Descubre miles de cursos como éste en www.mailxmail.com
1
mailxmail - Cursos para compartir lo que sabes
Presentación del curso
Visual Basic para la creación de fórmulas Excel. Este curso de informática tiene
una intención práctica concreta: manipulación de la fórmula Índice de Excel.
Manejaremos fórmulas que pueden ser personalizadas por el usuario según su
conveniencia. Y así, presentaremos las líneas de código para manipulación de
algunas funciones de Excel, esta potente herramienta de Micrsoft Office.
Visita más cursos como este en mailxmail:
[http://www.mailxmail.com/cursos-informatica]
[http://www.mailxmail.com/cursos-ofimatica]
¡Tu opinión cuenta! Lee todas las opiniones de este curso y déjanos la tuya:
[http://www.mailxmail.com/curso-visual-basic-formulas-personalizadas-excel/opiniones]
Descubre miles de cursos como éste en www.mailxmail.com
2
mailxmail - Cursos para compartir lo que sabes
1. Excel. Fórmula índice. Manejo y uso
[http://www.mailxmail.com/curso-visual-basic-formulas-personalizadas-excel/excel-formula-indice-manejo-uso ]
1. PRESENTACIÓN DEL CURSO
En este curso analizaremos el desarrollo de visual Basic a través de creación de fórmulas
específicamente para el uso de Excel; siendo más especifico, será para manipular la formula de índice
de Excel. Combinándolas con otras formulas (creadas) la cuales servirán de referencia para entrada de
datos (independientes) ya que éstas admiten campos específicos que asignamos (siendo éstos,
numéricos o no). Más adelante se explicará.
UNIDAD 1. Manejo y uso de la de la fórmula índice
1. Creamos una base de datos o Matriz de datos
2. Utilizamos la fórmula índice para obtener algún dato dentro de nuestra matriz de datos
3. Suponiendo que deseemos el dato de enero de 1981 tendremos que hacer lo siguiente:
a) En una celda cualquiera (fuera de la base de datos o matriz) ponemos = INDICE
b) Lo siguiente que pide es MATRIZ, NUM_FILA, NUM_COLUMNA. La fórmula se visualiza así: INDICE
(MATRIZ, NUM_FILA, NUM_COLUMNA)
c) Seleccionamos la matriz:
d) Una vez seleccionada la matriz la referencia que pide es el número de fila y columna del área
seleccionada de la matriz.
e) Insertamos "1" a la fila y "1" a la columna, es decir, = índice (B3:D7, 1,1).
f ) El resultado obtenido es 0.1267
g) Tenemos dentro de la matriz 15 datos distribuidos en 5 filas y 3 columnas.
=ÍNDICE (MATRIZ, NÚMERO DE FILA, NÚMERO DE COLUMNA)
=ÍNDICE (B3:D7, 1, 1) EL RESULTADO SERA EL SIGUIENTE
ÍNDICE = 0.126
Desventajas: Si hacemos referencia a algún dato contenido dentro de la matriz de datos, es un tanto
incomodo buscar un dato dentro de esa matriz, "un dato desconocido" y ubicarlo, pues, para ubicarlo
tendríamos que contar el número de filas y luego el de columnas para encontrar tal dato
especifico.Mientras que si definimos que en este caso el número de año sea el número de referencia de
la fila y el mes sea el número de referencia de la columna, manipulamos la formula índice a nuestro
beneficio.
Descubre miles de cursos como éste en www.mailxmail.com
3
mailxmail - Cursos para compartir lo que sabes
2. Excel. Fórmulas personalizadas (1/2)
[http://www.mailxmail.com/curso-visual-basic-formulas-personalizadas-excel/excel-formulas-personalizadas-1]
2. EL USO DE FÓRMULAS PERSONALIZADAS.
¿Qué son fórmulas personalizadas? Las fórmulas personalizadas son fórmulas que el usuario crea
según el criterio del mismo, en base a los datos de entrada que permite ingresar, dando como
resultado datos de salida que el usuario crea conveniente.
¿Para qué sirven? Para llevar a cabo cálculo o para manipulación de otras fórmulas.
¿En dónde son útiles? En las matemáticas y en aplicaciones de Excel (junto con otras de Excel)
¿Cómo las puedo crear? A través de visual Basic en Excel.
El uso de fórmulas de EXCEL nos limita a ciertas características. Por ejemplo, índice nos impide la
introducción de datos como el numero de año (1981,1982...etc.) y nombre del mes (Enero, Febrero,
Marzo...Diciembre), para hacer referencia a la ubicación respecto a estos datos como son número de
fila para el año y número de Columna para el mes.
Ahora, para la creación de la fórmula cabe definir que una será una forma de manipular el número de
referencia de las filas y otra para manipular el número de referencia de las columnas, definiéndolo
según lo quiera el usuario. La fórmula creada para manipulación de filas se llama A y está definida con
el número de año. Es decir, basándonos en la idea anterior de una matriz:
Como dato inicial es 1981 le correspondería 1, a 1982 le correspondería 2, y así sucesivamente. (1981
= 1), (1982 = 2), (1983 = 3).....ETC, veamos el ejemplo:
Si quisiera obtener el valor de ubicación en fila de 1981 en una celda ("P2"), fuera de la matriz,
1.- Introduciendo en la celda "O2" el valor de "1981" hiciera referencia al valor de posición dentro de la
matriz como "1" en fila, mi formula seria =A (O2)
A= año, O2= el valor del año ("1981"), recuerden "1981" es el primer valor de la matriz en fila.
NOTA: Por cuestiones de simplicidad, mayor facilidad o entendimiento ("bueno así lo creo") decidí
nombrar y crear la fórmula en referencia al dato que recoge, en este caso, nombrar la fórmula por su
primer letra. A es la primera letra de Año, así que me tome la libertad de no llamar a la Formula Año
sino simplemente A; además de que Excel tiene una fórmula llamada también AÑO y la formula no será
interpretada por visual BASIC de forma correcta, y podría confundir al Usuario. Al final, cada quien
decidirá cómo llamar a la fórmula según su conveniencia.
Descubre miles de cursos como éste en www.mailxmail.com
4
mailxmail - Cursos para compartir lo que sabes
3. Excel. Fórmulas personalizadas. (2/2)
[http://www.mailxmail.com/curso-visual-basic-formulas-personalizadas-excel/excel-formulas-personalizadas-2]
La fórmula creada para manipulación de columnas se llama m y está definida con el número de mes.
Es decir, basándonos en la idea anterior de una matriz:
Como dato inicial es ENERO le correspondería 1, a FEBRERO le correspondería 2, y así sucesivamente.
(ENERO = 1), (FEBRERO = 2), (MARZO = 3).....ETC, veamos el ejemplo:
Esta fórmula serviría para manipular el número que hace referencia a las columnas.
Si quisiera obtener el valor del ejemplo 1: en la celda ("P3"), fuera de la matriz, haría lo siguiente:
1.- Introduciendo en la celda "O3" el valor de "ENERO" hiciera referencia al valor de posición dentro de
la matriz como "1" en columna, mi formula seria =m (o3)
M= mes, O2= el nombre del mes ("ENERO"), recuerden "ENERO" es el primer valor de la matriz en
columna.
NOTA: Y de nuevo, por cuestiones de simplicidad, mayor facilidad o entendimiento decidí nombrar y
crear la fórmula en referencia al dato que recoge en este caso nombrar la fórmula por su primera letra. m
m es la primera letra de mes así que me tomé la libertad de no llamar a la Formula mes sino
simplemente m ; además de que visual BASIC podría confundirlo con la formula MES de EXCEL o
también podría confundir al usuario.
La fórmula m sólo acepta los nombres de los meses en MAYÚSCULA. Es por la interpretación que le da
visual BASIC.
Descubre miles de cursos como éste en www.mailxmail.com
5
mailxmail - Cursos para compartir lo que sabes
4. Fórmula índice. Manipulación con las fórmulas personalizadas
[ http://www.mailxmail.com/curso-visual-basic-formulas-personalizadas-excel/formula-indice-manipulacion-formulas-personalizadas]
3. MANIPULACIÓN DE LA FÓRMULA ÍNDICE CON LAS FÓRMULAS PERSONALIZADAS
Ahora bien, entendiendo ya el uso de las fórmulas personalizadas, éstas servirán de base para manipular los valores de entrada.
NOTA:
Los valores de Salida o Resultante de las fórmulas personalizadas o creadas son los valores de entrada para manipular la formula
de INDICE DE EXCEL, estos valores son dependientes pues cada vez que cambien el valor de O2. Ampliamos la matriz de
B3:M12.
Previamente conocido el uso de las fórmulas personalizadas, procedemos a aplicarlas en la fórmula ÍNDICE de EXCEL para la
búsqueda de datos personalizada de Excel.
El análisis de la fórmulas personalizada nos permite saber la posición en fila y columna estas referencia numéricas de posición
en la matriz son buscadas o examinadas por las fórmulas.
Descubre miles de cursos como éste en www.mailxmail.com
6
mailxmail - Cursos para compartir lo que sabes
5. Fórmula índice como fórmula unificada
[ http://www.mailxmail.com/curso-visual-basic-formulas-personalizadas-excel/formula-indice-como-formula-unificada]
4. INTEGRACIÓN DE LAS FÓRMULAS PERSONALIZADAS DENTRO DE LA FÓRMULA ÍNDICE COMO FÓRMULA
UNIFICADA.
Ahora, en este caso, en lugar de tener otras dos celdas más en uso para el análisis del resultado de la formula,
ésta tan sólo se introduce ya el resultado en sí dentro de la formula ÍNDICE sin mediaciones de otras celdas (estas
celdas donde obtenemos el resultado de las formulas personalizadas solo para que sean analizados los
resultados de la formula).
De ahora en adelante incluiremos las formulas personalizadas dentro de la formula ÍNDICE.
La formula principal será la de ÍNDICE DE EXCEL. Introducimos para manipular la formula índice primero la matriz
de datos de B3 a M37 (B3:M37), después la formula A (introduce la celda donde está ubicado el año) y, por
último, la formula m (introduce la celda donde está ubicado el nombre del mes),
= ÍNDICE (MATRIZ, NÚMERO DE FILA, NUMERO DE COLUMNA)
= ÍNDICE (MATRIZ, A (celda donde está ubicado el año), m (celda donde está ubicado el nombre del mes))
= ÍNDICE (B3:M37, A (O3), m (O4))
Bueno, hasta aquí creo se ha comprendido el uso y manipulación de la fórmulas personalizadas. A continuación
veremos su construcción de manera general.
Descubre miles de cursos como éste en www.mailxmail.com
7
mailxmail - Cursos para compartir lo que sabes
6. Crear fórmulas Excel. Función A(t)
[http://www.mailxmail.com/curso-visual-basic-formulas-personalizadas-excel/crear-formulas-excel-funcion-t]
5. VISUAL BASIC Y LA CREACIÓN DE FÓRMULAS PERSONALIZADAS.
Como ya habíamos dicho antes, las formulas personalizadas son creadas por el usuario. Ahora les
mostrare la formula A. Veamos cómo crear la primera.
1. Oprimes ALT + F11 se abre visual Basic de EXCEL.
2. Una vez abierto vas al menú insertar y luego la pestaña módulo.
3. Del lado izquierdo aparece el módulo que creaste (Módulo1).
4. Seleccionas das clic derecho y das clic en ver código.
5. Insertas tus líneas de código.
Línea de código para fórmula A.
Función A (t)
Dim año
año = t
If año = 1981 Then
t = 1
A = t
ElseIf año = 1982 Then
t = 2
A = t
ElseIf año = 1983 Then
t = 3
A = t
ElseIf año = 1984 Then
t = 4
A = t
ElseIf año = 1985 Then
t = 5
A = t
ElseIf año = 1986 Then
t = 6
A = t
ElseIf año = 1987 Then
t = 7
A = t
ElseIf año = 1988 Then
t = 8
A = t
ElseIf año = 1989 Then
t = 9
A = t
ElseIf año = 1990 Then
t = 10
A = t
ElseIf año = 1991 Then
t = 11
A = t
ElseIf año = 1992 Then
t = 12
A = t
ElseIf año = 1993 Then
t = 13
A = t
ElseIf año = 1994 Then
t = 14
Descubre miles de cursos como éste en www.mailxmail.com
8
mailxmail - Cursos para compartir lo que sabes
A = t
ElseIf año = 1995 Then
t = 15
A = t
ElseIf año = 1996 Then
t = 16
A = t
ElseIf año = 1997 Then
t = 17
A = t
ElseIf año = 1998 Then
t = 18
A = t
ElseIf año = 1999 Then
t = 19
A = t
ElseIf año = 2000 Then
t = 20
A = t
End If
End Function
Descubre miles de cursos como éste en www.mailxmail.com
9
mailxmail - Cursos para compartir lo que sabes
7. Crear fórmulas Excel. Función M(x)
[http://www.mailxmail.com/curso-visual-basic-formulas-personalizadas-excel/crear-formulas-excel-funcion-m]
Fórmula m para VISUAL BASIC de EXCEL
Function M(x)
Dim mes As String
mes = x
If mes = "ENERO" Then
x = 1
M = x
ElseIf mes = "FEBRERO" Then
x = 2
M = x
ElseIf mes = "MARZO" Then
x = 3
M = x
ElseIf mes = "ABRIL" Then
x = 4
M = x
ElseIf mes = "MAYO" Then
x = 5
M = x
ElseIf mes = "JUNIO" Then
x = 6
M = x
ElseIf mes = "JULIO" Then
x = 7
M = x
ElseIf mes = "AGOSTO" Then
x = 8
M = x
ElseIf mes = "SEPTIEMBRE" Then
x = 9
M = x
ElseIf mes = "OCTUBRE" Then
x = 10
M = x
ElseIf mes = "NOVIEMBRE" Then
x = 11
M = x
ElseIf mes = "DICIEMBRE" Then
x = ""
M = x
End If
End Function
NOTA: Con este capítulo hemos llegado al final del curso.
Descubre miles de cursos como éste en www.mailxmail.com
10
mailxmail - Cursos para compartir lo que sabes
Visita más cursos como este en mailxmail:
[http://www.mailxmail.com/cursos-informatica]
[http://www.mailxmail.com/cursos-ofimatica]
¡Tu opinión cuenta! Lee todas las opiniones de este curso y déjanos la tuya:
[http://www.mailxmail.com/curso-visual-basic-formulas-personalizadas-excel/opiniones]
Descubre miles de cursos como éste en www.mailxmail.com
11
Descargar