PDF de programación - Programación Visual Basic (VBA) para Excel y Análisis Numérico

Imágen de pdf Programación Visual Basic (VBA) para Excel y Análisis Numérico

Programación Visual Basic (VBA) para Excel y Análisis Numéricográfica de visualizaciones

Actualizado el 21 de Marzo del 2018 (Publicado el 11 de Febrero del 2018)
1.054 visualizaciones desde el 11 de Febrero del 2018
1,0 MB
76 paginas
Creado hace 13a (06/10/2006)
Programaci´on Visual Basic (VBA) para Excel y An´alisis Num´erico

M.Sc. Walter Mora F., M.Sc. Jos´e Luis Espinoza B.

Escuela de Matem´atica

Instituto Tecnol´ogico de Costa Rica

Octubre 2005

Versi´on 0.1

1

Contents

1 Programaci´on Visual Basic (VBA) para Excel

1.1
Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2 Evaluaci´on de funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.1 Funciones definidas por el usuario . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.2 Errores comunes
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.2.3 Evaluando una funci´on en varios tipos de par´ametros . . . . . . . . . . . . . . . . . . . . .
1.3 Gr´aficas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4 Programaci´on de macros . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.1
Introducci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .
1.4.2 Funciones . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .

3
3
3
3
4
5
8
9
9
9
1.5 Elementos de programaci´on en VBA . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.1 Flujo secuencial . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 13
1.5.2 Flujo condicional (If - Else)
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14
1.5.3 Flujo repetitivo (For-Next, While-Wend, Do While-Loop) . . . . . . . . . . . . . . . . . 16
1.5.4 Manejo de rangos . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 22
1.5.5
Subrutinas. Edici´on y ejecuci´on de una subrutina . . . . . . . . . . . . . . . . . . . . . . . 23
1.5.6 Ejecuci´on de una subrutina mediante un bot´on . . . . . . . . . . . . . . . . . . . . . . . . 25
1.5.7 Matrices din´amicas . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 29
Inclusi´on de procedimientos de borrado . . . . . . . . . . . . . . . . . . . . . . . . . . . . 35
1.5.8
1.6 Evaluando expresiones matem´aticas escritas en lenguaje matem´atico com´un . . . . . . . . . . . . 38
1.6.1 Usando clsMathParser. Sintaxis
. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 38
1.6.2 Ejemplo: un graficador 2D . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42
1.6.3 Ejemplo: un graficador de superficies 3D . . . . . . . . . . . . . . . . . . . . . . . . . . . . 46
1.6.4 Ejemplo: series num´ericas y series de potencias . . . . . . . . . . . . . . . . . . . . . . . . 49

2 Elementos de An´alisis Num´erico

2.2

54
2.1 Soluci´on de ecuaciones de una variable . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
2.1.1 M´etodo de Newton-Raphson . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 54
Integraci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.2.1 M´etodo de Romberg para integraci´on . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 56
2.2.2 La funci´on Gamma . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 58
. . . . . . . . . . . . . . . . . . . . . . . 59
2.2.3 Cuadratura gaussiana e integral doble gaussiana.
2.3 Problemas de valor inicial para ecuaciones diferenciales ordinarias . . . . . . . . . . . . . . . . . . 66
2.3.1 Existencia y unicidad . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 66
2.3.2 M´etodo de Euler . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 67
2.3.3 M´etodos de Heun . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 71

2

Chapter 1

Programaci´on Visual Basic (VBA)
para Excel

1.1 Introducci´on
Microsof Excel c(cid:176) es un software para el manejo de hojas electr´onicas agrupadas en libros para c´alculos de casi
cualquier ´ındole. Entre muchas otras aplicaciones, es utilizado en el tratamiento estad´ıstico de datos, as´ı como
para la presentaci´on gr´afica de los mismos. La hoja electr´onica Excel es ampliamente conocida, en forma gen-
eralizada, por profesionales y estudiantes en proceso de formaci´on, pero hay una gran cantidad de usuarios que
no conocen a profundidad su gran potencial y adaptabilidad a los diferentes campos del conocimiento.

Para cient´ıficos e ingenieros, el Excel constituye una herramienta computacional muy poderosa. Tambi´en tiene
gran utilidad para ser utilizado en la ense˜nanza de las ciencias y la Ingenier´ıa, particularmente, en la ense˜nanza
de los m´etodos num´ericos. Pese a que existen en el mercado programas computacionales muy sofisticados, tales
como MATLAB, MATHEMATICA, etc., no est´an tan disponibles como Excel, que usualmente forma parte del
paquete b´asico de software instalado en las computadoras que funcionan bajo el sistema Windows c(cid:176) de Microsoft.

A continuaci´on se brinda al lector una breve introducci´on a algunas actividades de programaci´on con macros
escritos en VBA (una adaptaci´on de Visual Basic para Office de Microsoft), definidos desde una hoja electr´onica
de Excel. Salvo peque˜nas diferencias para versiones en ingl´es, el material puede ser desarrollado en cualquier
versi´on.

1.2 Evaluaci´on de funciones

1.2.1 Funciones definidas por el usuario
A manera de ejemplo, vamos a evaluar la funci´on

f(x) = 2x3 + ln(x) − cos(x)

ex + sen(x)

1. Como al evaluar f(x) se debe recurrir a varias funciones b´asicas que se invocan desde Excel, se puede

tener acceso a su sintaxis, pulsando el ´ıcono fx y seleccionar ‘Matem´aticas y Trigonom´etricas’.

2. Para escribir una f´ormula, seleccionamos una celda para escribir el valor a ser evaluado; por ejemplo,

podemos digitar el valor 1.1 en la celda B3.

3

VBA para Excel

M.Sc. Walter Mora F., M.Sc. Jos´e Luis Espinoza B. 4

Figure 1.1: Funciones predefinidas en Excel.

3. Ahora en la celda C3 digitamos, de acuerdo a la sintaxis de la versi´on de Excel en espa˜nol1, la f´ormula:

=2*B3^3+LN(B3)-COS(B3)/EXP(B3)+SENO(B3)

Una vez que ha sido digitada, simplemente se pulsa la tecla ‘Entrar’ o ‘Enter’.

Figure 1.2: Al evaluar f´ormulas, a menudo se requiere evaluar varias funciones predefinidas.

1.2.2 Errores comunes
Conforme vamos digitando nuestras primeras f´ormulas, nos van apareciendo algunos errores que usualmente son
debidos a un manejo inadecuado de la sintaxis o a la incompatibilidad con la configuraci´on de la computadora.
A continuaci´on se describen algunas situaciones que pueden aparecer.

1. El valor de error #¿NOMBRE? aparece cuando Excel no reconoce texto en una f´ormula. Deber revisar la

sintaxis de dicha f´ormula o, si es una macro, verificar que est´e en un m´odulo de esta hoja.

2. El valor de error #¡VALOR! da cuando se utiliza un tipo de argumento (u operando) incorrecto. Este error
se da por ejemplo, cuando evaluamos una funci´on num´erica en una celda que contiene algo que no sea un
n´umero (Por defecto, el contenido de una celda vac´ıa es cero).

3. El valor de error #¡NUM! se aparece cuando hay un problema con alg´un n´umero en una f´ormula o funci´on.

Por ejemplo, si evaluamos una funci´on logar´ıtmica en cero o en un n´umero negativo.

1La versi´on que estamos usando est´a en espa˜nol. Por ejemplo, en la versi´on en ingl´es de Excel, se usa SIN(x) en lugar de

SENO(x).

VBA para Excel

M.Sc. Walter Mora F., M.Sc. Jos´e Luis Espinoza B. 5

4. El valor de error #¡DIV/0! se produce cuando se divide una f´ormula por 0 (cero).

5. El valor de error #¡REF! se da cuando una referencia a una celda no es v´alida.

6. Dependiendo de la forma en que est´e configurado el sistema Windows, debe usarse punto o coma para
separar la parte decimal de los n´umeros a evaluar. Para personalizarlo, se debe entrar al panel de control
y en la ‘Configuraci´on regional’ se selecciona ‘N´umeros’. En la primera cejilla, ‘S´ımbolo Decimal’ se
selecciona el punto o la coma, seg´un sea el caso. Finalmente, se presiona el bot´on ‘Aplicar’ y luego
‘Aceptar’.

7. Una situaci´on que a veces es confundida con un error se da cuando el sistema trabaja con poca precisi´on y
se presentan valores num´ericos no esperados. Por ejemplo, si el formato de una celda se ha definido para
dos posiciones, entonces la operaci´on +1.999+1 efectuado en dicha celda dar´a como resultado el valor 2,
que no es otra cosa que el resultado de tal suma redondeado a dos decimales. El valor correcto se obtiene
aumentado la precisi´on con el ´ıcono correspondiente:

Tambi´en se puede cambiar la precisi´on en el men´u ‘Formato-Celdas-N´umero-Posiciones decimales’.
Estos cambios son s´olo de apariencia, pues, independientemente del n´umero de d´ıgitos que sean desplega-
dos, Excel manipula los n´umeros con una precisi´on de hasta 15 d´ıgitos. Si un n´umero contiene m´as de 15
d´ıgitos significativos, Excel convertir´a los d´ıgitos adicionales en ceros (0).

1.2.3 Evaluando una funci´on en varios tipos de par´ametros
Muchas f´ormulas a evaluar tienen argumentos de distinto tipo, pues algunos argumentos var´ıan (a veces con
un incremento determinado), mientras que otros permanecen constantes. Por lo general estos argumentos son
tomados de celdas espec´ıficas, por lo que es importante saber manejar distintos escenarios para la evaluaci´on
de una funci´on o f´ormula.

Evaluaci´on con argumentos variables

Continuando con el ejemplo que iniciamos en la secci´on 2.1, a partir de la celda B4 podemos continuar digitando
valores, siempre en la columna B y con el cuidado de que estos n´umeros no se salgan del dominio de la funci´on
f(x) = 2x3 + ln(x) − cos(x)
ex + sen(x), que en este caso es el conjunto de los n´umeros reales positivos. Una vez
hecho ´esto, se eval´ua la funci´on f(x) en la celda C3, como se hizo previamente. Luego, seleccionamos esta
misma celda C3 y se ubica el mouse en la esquina
  • Links de descarga
http://lwp-l.com/pdf8725

Comentarios de: Programación Visual Basic (VBA) para Excel y Análisis Numérico (0)


No hay comentarios
 

Comentar...

Nombre
Correo (no se visualiza en la web)
Valoración
Comentarios
Es necesario revisar y aceptar las políticas de privacidad