Вы находитесь на странице: 1из 22

Curso de Introduccin a la programacin de Visual BASIC de Excel

El objetivo del curso es aprender a programar en Visual BASIC de Excel para la resolucin de problemas matemtica, estadstica bsicas

Tipos de procesos o estructuras bsicas de control en programacin: Secuencial: conjunto de proposiciones en un orden determinado constituye una secuencia que va de arriba hacia abajo. Decisin e iteracin: cuando se necesita especificar dos cursos alternativos de accin, que dependern de cierta condicin, usando el s condicional. Tambin se da el caso de tener ms de dos opciones, aqu se utiliza la ramificacin de proceso, el comando: Case_of_Else, Select_Case.
1

Generalidades de un programa
Lenguaje de Programacin = Conjunto de cdigos + Reglas de sintaxis.

Algoritmo

Programa Fuente

Programa Objeto

Archivo Ejecutable

En Excel: macros hechas por el usuario Mdulo Algoritmo Funciones/Subrutinas

Exportacin: *.bas, *.class, *.form

Libro de Excel

El programa fuente se puede hacer en cualquier editor de texto, tomando en cuenta el formato en que se guarda que debe ser de tipo texto con la extensin correspondiente o se copia en mdulo correspondiente dentro de un libro en Excel
2

Un mdulo es un archivo de tipo texto, donde se escriben los cdigos de funciones y subrutinas en Visual BASIC, es decir, las actividades creadas por el usuario. Ejemplos Por el momento ver los ejercicios del archivo en excel: cursobasicoVBalumn.xlsm

Pasos de programacin

Enunciado del problema o descripcin de la tarea.


Modelo matemtico. Requerimiento de datos. Algoritmo: Pseudocdigos Diagrama de flujo. Codificacin lenguaje de programacin Resultados y anlisis (prueba de escritorio).

Operadores Aritmticos
Mayor prioridad Menor prioridad ( ) ^ mod div * / + Operadores lgicos y and o or no not

Operadores relacionales = = = =

Tipo de variables
Variables simples
Byte, integer, long, char, boolean, double, currency

Variables compuestas
String, dimension, set, object, pointer o apuntadores Variant, puede ser simple o compuesta
Ejemplos:
Integer: nmeros enteros, para numerar las filas y columnas Long: nmeros enteros, para numerar los habitantes de una ciudad o los nmeros de telfonos

Boolean: para una variable con slo dos posibles valores (s o no, F o V)
Single: para variables fsicas con decimales que no exijan precisin Double: para variables fsicas con decimales que exijan precisin Currency: para cantidades grandes de dinero
6

Tipo de variables
Tipo
Boolean Byte

Descripcin
Binario Entero corto

Rango
True o False 0 a 255

Integer
Long Single Double

Entero (2 bytes)
Entero largo (4 bytes) Real simple precisin (4 bytes) Real o doble precisin (8 bytes)

-32768 a 32767
-2147483648 a 2147483647 -3.40E+38 a 3.40E+38 -1.79D+308 a 1.79D+308

Char
Currency

Carcter alfa-numrico
Nmero con punto decimal fijo (8 bytes) Cadenas de caracteres Fecha/ hora, reales, enteros, boolean, o caracteres

a, b, c,, z, A, B, C,, Z, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0
-9.22E+14 a 9.22E+14 0 a 65500 caracteres Mismo tipo de variable almacenada

String
Variant

Funciones Matemticas Abs Atn cos Devuelve el valor absoluto de un nmero.

Devuelve el arcotangente de un nmero. El resultado es un ngulo en radianes.

Devuelve el coseno de un ngulo en radianes. ^ argn Exp Exp(arg) elevado a una potencia. Exp(1)=2.7172 Int Devuelve la parte entera de un nmero (redondea hacia abajo). Fix Devuelve la parte entera de un nmero Sgn Signo (1, 0, -1) Round(x, ndec) Redondeo (opcional con decimales) Log Devuelve el natural (base e) logaritmo de un nmero. Rnd Sin Sqr Tan Devuelve un nmero aleatorio mayor o igual que 0 y menos de 1. Devuelve el seno de un ngulo en radianes. Devuelve la raz cuadrada de un nmero. Devuelve la tangente de un ngulo en radianes
8

Funciones Matemticas
Funcin matemtica Secante Cosecante Cotangente Arcoseno Arcocoseno Expresin equivalente Sec(X) = 1 / Cos(X) Cosec(X) = 1 / Sin(X) Cotan(X) = 1 / Tan(X) Arcsin(X) = Atn(X / Sqr(-X * X + 1)) Arccos(X) = Atn(-X / Sqr(-X * X + 1)) + 2 * Atn(1)

Arcosecante
Arcocosecante Arcocotangente Seno Hiperblico Coseno Hiperblico Tangente Hiperblica Secante Hiperblica Cosecante Hiperblica Cotangente Hiperblica Arcoseno Hiperblico Arcocoseno Hiperblico Arcotangente Hiperblica Arcosecante Hiperblica Arcocosecante Hiperblica Arcocotangente Hiperblica Logaritmo en base N

Arcsec(X) = Atn(X / Sqr(X * X 1)) + Sgn((X) -1) * (2 * Atn(1))


Arccosec(X) = Atn(X / Sqr(X * X - 1)) + (Sgn(X) - 1) * (2 * Atn(1)) Arccotan(X) = Atn(X) + 2 * Atn(1) HSin(X) = (Exp(X) - Exp(-X)) / 2 Hcos(X) = (Exp(X) + Exp(-X)) / 2 Htan(X) = (Exp(X) - Exp(-X)) / (Exp(X) + Exp(-X)) HSec(X) = 2 / (Exp(X) + Exp(-X)) Hcosec(X) = 2 / (Exp(X) - Exp(-X)) Hcotan(X) = (Exp(X) + Exp(-X)) / (Exp(X) - Exp(-X)) Harcsin(X) = Log(X + Sqr(X * X + 1)) Harccos(X) = Log(X + Sqr(X * X - 1)) Harctan(X) = Log((1 + X) / (1 - X)) / 2 Harcsec(X) = Log((Sqr(-X * X + 1) + 1) / X) Harccosec(X) = Log((Sgn(X) * Sqr(X * X + 1) +1) / X) Harccotan(X) = Log((X + 1) / (X 1)) / 2 LogN(X) = Log(X) / Log(N) 9

Funciones de Texto
Asc
Chr Format lnstr Len Left Right

Devuelve el cdigo de caracteres ASCII de un carcter.


Devuelve el carcter correspondiente a un cdigo ASCII. Formato a un nmero de acuerdo con un built-in o definidos por el usuario nmero de expresin de formato. El resultado es una cadena. Devuelve la primera aparicin de una subcadena en una cadena. Al igual que en Excel a encontrar la funcin de hoja de clculo. Devuelve la longitud (nmero de caracteres) en una cadena. Devuelve los caracteres ms a la izquierda de una cadena. Devuelve los caracteres ms a la derecha de una cadena.

Mid
LTrim RTrim Trim Str Val LCase UCase

Devuelve un nmero especificado de caracteres de una cadena.


Devuelve una cadena sin espacios iniciales. Devuelve una cadena sin espacios. Devuelve una cadena sin espacios iniciales o finales. Convierte un nmero en una cadena. Convierte una cadena en una nmero. Convierte una cadena en minsculas. Convierte una cadena en maysculas.
10

Funcin Informacin IsArray IsDate IsEmpty IsError IsMissing IsNull IsNumeric Isobject LBound UBound Devuelve True si la variable es una matriz. Devuelve True si la expresin es una fecha. Devuelve True si la variable no est inicializada. Devuelve True si la expresin devuelve un error. Devuelve True si un valor opcional que no ha sido entregada a una funcin de procedimiento Devuelve True si la expresin es nulo (es decir, no contiene datos vlidos) Devuelve True si la expresin se puede evaluar a un nmero. Devuelve True si la expresin hace referencia a un objeto vlido. Devuelve el lmite inferior de la dimensin de una matriz. Devuelve el lmite superior de la dimensin de una matriz.

11

Actividades bsicas:
Pseudocdigo, nombre
Diagrama de flujo

MS Excel-Visual Basic Programacin con macros

Lectura o entrada de datos leer var1

v ar1

var1=inputbox(valor=,numero) var1=range(b2) var1=cells(4,2) Numero1 = Val(InputBox("Entrar el primer valor", "Entrada de datos")) activeShee.activecell.value=numero range(c1)=var1 cells(4,3)=var1 MsgBox prompt:="el resultado es = " + Str(valor), Buttons:=vbOKOnly, Title:="mensaje" num = num + 1 d=a a=3+c If cond1 then acts1: acts2 else acts3 end if goto etiqueta_o_linea

Escritura o salida de datos escribir o imprimir (en pantalla) var1

var1

Asignacin o reemplazo Si condicional Si cond1 entonces act1


Si

a=3+c

cond1

No

Transferencia de control regresea o ir (a etiqueta)

12

Actividades derivadas:
Pseudocdigo, nombre Ramificacin de procesos: Case_of_else Caso segn opcin 1- acts1 2- acts2 Circuito de clculo: Para vi hasta vf hacer acts1
MS Excel-Visual Basic Programacin con macros

Diagrama de flujo

Select case opcion Case v1:acts1 Case v2:acts2 Case else acts3 End select
Vi=1,n,1

Vi

For i=1 to n Acts1 Acts2 Next i Do while (cond1) Acts1 Acts2 loop Do acts1 Acts2 loop while cond1 Do acts1 Acts2 loop until cond1

Circuito de convergencia con condicin al inicio. Mientras cond1 hacer acts1

cond1
si

cond1
S

Circuito de convergencia con condicin al final Repetir acts1 hasta cond1 o Hacer acts1 hasta cond1
No

cond1
si

13

Diagramas complementarios
inicio fin

datos

entrada manual

tarjeta

almacenamien to de datos

mostrar en pantalla

acceso secuencial de datos

indice

conector de diagrama en la misma pgina

procesos predefinidos procedimientos o subrutinas

conector de diagrama en diferente pgina


comentarios internos o anotaciones

funcion nombre(par1,par2)

o
funcion nombre(par1,par2)

14

Cuadro evolutivos de los lenguajes de programacin ms comunes:

15

Cuadro evolutivos de los lenguajes de programacin ms comunes, en programacin orientada a objetos:

16

Lenguajes y software/paquetera
Versiones actualizadas FORTRAN Pascal, Turbo Pascal BASIC,Turbo BASIC C, C++ Ada Modula Java Cobol Algol Cobol ... Lisp --------------Bases de datos Clipper, Foxpro, Dbase, SQL, Oracle, ...
Sistemas operativos Internet (redes) Paquetes: Microsoft office, Works, Corel-wordperfect Educativos Matemticos Dibujadores, imgenes, fotografa Arquitectura, diseo grfico Administracin y contadura Ingenieras, Simuladores Control, Robtica Comunicaciones Electrnica, Antivirus-virus Computacin, Industria Entretenimientos, juegos Salud ...

Versiones actualizadas de lenguajes de programacin

17

Ejercicios:

Leer dos variables, A, B y desplegar el valor de B en A y viceversa Sumar dos variables Dividir dos variables, que pasa si una variable es cero?

18

Selecciona celdas o reas

Mueve celda o reas seleccionadas

copia el contenido de la celda o reas seleccionadas

19

Guardar archivo como excel habilitado para macros.... Forma a)

20

Guardar archivo como excel habilitado para macros.... Forma b)

Manual visual de curso bsico Excel

21

Abriendo un archivos con macros....

22

Вам также может понравиться