Sei sulla pagina 1di 18

Apunte Programación

Visual Basic I
Ayudante: Leonardo Ramírez

• Objetos, Propiedades y Métodos


• Tipos de Datos
• Variables
• Interacciones
• Condicional
• Ciclo
Objetos
Un objeto es una combinación de código y datos que se pueden tratar como una unidad. Un objeto puede
ser una parte de una aplicación, como un control o un formulario. Toda la aplicación también puede ser
un objeto.

Cada objeto en Visual Basic se define por un clase. Una clase describe las variables, las propiedades, los
procedimientos y los eventos de un objeto. Los objetos son instancias de clases; puede crear tantos
objetos como sean necesarios una vez que haya definido una clase.

La jerarquía representa el objeto contenido dentro del superior. La aplicación Excel contiene diversos
libros, los cuales contienen hojas, que contienen rangos.

Para seleccionar el objeto donde se trabajará, simplemente se puede crear un módulo en su dirección, o,
hacerle referencia.
Referencia de Objetos
Operador Comando Descripción Ejemplos

Selecciona a la aplicación VBA. Se usa netamente


Aplicación Application para seleccionar a sus objetos
Selecciona al archivo excel X. X corresponde al
nombre del archivo; y debe incluir la extensión de
Libro Workbooks(X) este. (.xlsx) Workbooks(“Libro1.xlsx”)
Selecciona la hoja X. X corresponde al nombre de la
Hoja Worksheets(X) hoja. Worksheets(“Hoja1”)

Celda(s) por Range("A1") ,


Nombre Range(X) Llama al valor que está en la celda X. Range(“A2:D14”)
Celda Llama al valor que está en la celda seleccionada en la
seleccionada ActiveCell hoja de excel activa. ActiveCell
Celda por Llama al valor que está en la celda de la fila x,
Coordenada Cells(x,y) columna y. Cells(1,1)
Operadores de Propiedades y Métodos
Operador Comando Descripción Ejemplos
ThisWorkbook.SaveAs
Guardar Como SaveAS Filename:= X Permite guardar un Workbook. Filename := “Control4”
Asignar Value = X Permite asignar un valor a un rango de celdas. Selection.Value = 1
Eliminar Clear Elimina los valores del objeto. Range(“A1”).Clear
Permite Seleccionar un objeto a trabajar, para así
acortar o relativizar su llamado. Para utilizar el objeto
seleccionado se ocupa el nombre de objeto
Seleccionar Select Selection. Range(“A1”).Select
Activar Activate Similar al Select. Permite cambiar la ActiveCell. Range(“A1”).Activate
Permite escribir X en la barra de fórmula, con Range(“A1”).Formula =
Fórmula Formula = X referencia absoluta. “=B2*2”
Permite escribir X en la barra de fórmula, pero a las
celdas se les hará una referencia relativa, R□C□, los
□ son la cantidad de filas (row) y columnas (Column)
hacia la derecha y abajo respectivamente, en donde
se hará la referencia respecto a la celda ocupada Range(“A1”).FormulaR1C1 =
como objeto. También pueden ser números “=R2C2*2”
negativos, los que deben ser puestos entre corchetes
[], para hacer referencia a celdas hacia la izquierda y Range(“H14”).FormulaR1C1
Fórmula R1C1 FormulaR1C1 = X arriba. = “=R[-3]C[-4]*2”
Números

Tipos de datos que representan a valores numéricos. Hay de tres tipos


distintos, dependiendo al conjunto matemático al que pertenecen:

a) Enteros Integer: Corresponden a los números positivos, negativos y


el cero, todos sin valor decimal. Ej: 0, 1, 18, -4, 2018 .

b) Flotantes Double: Corresponden a todos los números Reales,


teniendo parte decimal, la cual se representa después de un punto.
Ej: 0.0 , -1.5 , 2.718281828459045 , 10e7 .
Operadores Aritméticos
Operador Comando Descripción/Observación Ejemplos
Suma x + y x más y 1+4>>>5; 3+2.4>>>5.4
Resta x – y x menos y 1-4>>>-3; 2--1.4>>>3.4
Multiplicación x * y x por y 3*-4>>>-12; 0.2*10>>>2.0
División x / y x dividido en y 8/4>>>2; 3.0/4>>>0.75
15%4>>>3; 50%2>>>0
Módulo x Mod y numerador del resto de la división entre x e y ;7.5%5>>>2.5
Exponente x ^ y x elevado a y 2^5>>>32; 4^0.5>>>2.71828
Exponencial Exp(x) Euler elevado a x =e^x Exp(0)>>>1 Exp(1)>>>2,781
Magnificar xey x por 10 elevado a y (y debe ser int) 8e2.0 >>> 800.0, 7e0>>>7.0
Logaritmo
Natural Log(x) Logaritmo Natural de x =Ln(x) Log(1)>>>0 Log(Exp(3))>>>3
IsNumeric(33)>>>True
Verificación IsNumeric(x) Verifica si x es un valor numérico entero o flotante. IsNumeric(“A”)>>>False
Verifica si la celda está vacía o tiene un dato; o si
una variable a sido definida mediante el Dim (no IsEmpty(Range(“A1”) ;
Vacío IsEmpty(x) necesariamente asignada). IsEmpty(Contador)
Texto
Valores que representan texto se les Todo carácter puede ser llevado a string:
llama String, y tienen el tipo str. Los Letras, números y símbolos. Las letras
strings son representados entre comillas pueden ser tanto en mayúscula como
‘simples’ o “dobles”. minúscula, y se diferencian entre una y
otra: ‘M’ ≠ ‘m’.
“Programacion” = ‘Programacion’
Además, los strings se caracterizan por
Esto quiere decir que un valor entre ser ordenados, es decir, cada caracter
comillas no es el mismo que sin estas: 5 posee un número de posición, que
≠ ‘5’. A este último se le llama string empieza desde el 1 en adelante.
de cinco, y representa al 5 como caracter
literal, en vez de valor numérico. ‘PULENTO’
P U L E N T O
1 2 3 4 5 6 7
Operadores de Texto
Operador Comando Descripción Ejemplos
“Progra”&“macion”
Concatenación A&B Concatena los string A y B. >>>"Programacion".
Obtiene cuántos caracteres tiene un
Largo Len(A) string A. Len(“Pulento") >>> 7
IsString("A")>>>True
Verificación IsString(A) Verifica si A es un valor string IsString(3)>>>False
Desde el inicio Se obtienen los caracteres desde el inicio
(Desde la hasta la posición x, es decir, los x Left("Programacion“,6)
izquierda) Left(A,x) primeros caracteres. >>>>"Progra"
Se obtienen los caracteres desde la
Hasta el final posición x hasta el final, es decir, los x Right("Programacion“,6)
(Desde la derecha) Right(A,x) últimos caracteres. =>"macion"
Se obtienen los caracteres desde la
posición x hasta la posición y-x, es decir,
desde la posición x se toman y caracteres Mid("Programacion“,4,3) =>
Entrecortar Mid(A,x,y) hacia la derecha. "gra"
Obtiene la posición numérica donde el
String B está en el string A. Si no está InString(“Programacion”,”gr”)
Indice InString(A,B) retorna 0. >>> 4
Booleanos

Valores de verdad propios de la lógica matemática binaria. Este tipo de dato solo
posee dos posibilidades: True o False (con mayúsculas y sin comillas); y es
usado mayormente en las condiciones de los ciclos while y en los if-elif-else.

Los datos del tipo booleano tienen sentido como el resultado de operaciones
relacionales o de verificación. Por ejemplo, cuando al programa se le “pregunta” si
x>y, este arrojará True o False como respuesta.
Operadores Lógicos
Operador Comando Descripción/Observación
Y lógico A And B Será True <=> A=B=True (Ver tabla)
O lógico A Or B Será False <=> A=B=False (Ver tabla)
Negación Not A Cambia el valor e verdad de A (Ver tabla)

Estos Operadores se utilizan en conjunto con los operadores relacionales, ya que el resultado de los
relacionales siempre será un booleano, lo cual es perfectos para los operadores Lógicos, que solo
reciben booleanos.
Operadores Relacionales
Operador Comando Observación Ejemplos
"a"="a" >>>True ;
Igual a A=B True si A es igual a B, de lo contrario False 1=2 >>> False
"a“<>"a" >>>False ;
Distinto a A<>B True si A es distinto a B, de lo contrario False 1<>2 >>> True
3>2 >>> True ;
Mayor estricto A>B True si A es mayor a B, de lo contrario False 3>6 >>>False
3<2 >>> False ;
Menor estricto A<B True si A es menor a B, de lo contrario False 3<6 >>>True
4>=4 >>> True ;
Mayor o igual A>=B True si A es mayor o igual a B, de lo contrario False 2>=4 >>>False
4<=4 >>> True ;
Menor o igual A<=B True si A es menor o igual a B, de lo contrario False 4<=2 >>> False

Todos los resultados de estos operadores son booleanos, por lo que son excepcionales para crear
condiciones en ciclos while y condicionales if.
Fecha y Hora
Las Fechas y Horas pueden ser manipuladas de manera especial en Excel, y por ende, en VBA. Es por esto que a este
tipo de dato se le han asignado métodos y propiedades particulares.
Operador Comando Descripción Ejemplos

Equivalente a la función =HOY(), representa al valor de la fecha de hoy 21-04-2019


Fecha Actual Date . "dd-mm-aaaa"
Equivalente a la función =AHORA(), representa al valor de la fecha y hora en
Ahora Now este instante. "dd-mm-aaaa hh:mm:ss" 21-04-2019 14:23:45
Year(21-04-2019) >>> 2019
Año Year(x) Equivalente a la función =AÑO(), arroja el valor numérico del año.
Equivalente a la función =MES(), arroja el valor numérico del Mes, del 1 al Month(21-04-2019) >>> 4
Mes Month(x) 12.
Day(21-04-2019) >>> 21
Día Day(x) Equivalente a la función =DIA(), arroja el valor numérico del día, del 1 al 31.
Equivalente a la función =HORA(), arroja el valor numérico de la hora, del 0 Hour(14:23:45) >>> 14
Hora Hour(x) al 23.
Equivalente a la función =MINUTO(), arroja el valor numérico del minuto, del
Minuto Minute(x) 0 al 59. Minute(14:23:45) >>> 23
Equivalente a la función =SEGUNDO(), arroja el valor numérico del
Segundo Second(x) segundo, del 0 al 59. Second(14:23:45) >>> 45
DateValue(“1997-12-12”) >>>
Convertir DateValue(x) Pasa un String a un valor Date. En el formato “aaaa-mm-dd” o “dd-mm-aaaa” 1997-12-12
Variables
Para guardar datos, se requiere de variables literales, estás serán cruciales para manejar todo tipo de
información dada a priori o por el usuario. Las variables deben estar compuestas por letras,números o
simbolos; los números no pueden ser el primer carácter de la variable, y hay símbolos que no se pueden
ocupar (los símbolos de operadores): Suma✓ perro_1✓ torre+altaX 9reinasX .

Para asignar un dato, debe ocuparse el comando Dim As:

Dim Variable as Tipo



Variable = Valor

Los tipos para datos son Integer (Enteros), Double (Flotantes), String (Texto), Boolean (Lógico),
Date (Fecha y Hora). También se puede obviar el Tipo, pero Excel lo inferirá:
Dim Variable

Variable = Valor
Interacciones
Entrada InputBox(Mensaje,Titulo) : Le pide al usuario por pantalla un dato a utilizar. El Tipo de
Dato es inferido por VBA. X=InputBox(“Ingrese un Número: “,”Macro1”)

Salida MsgBox Salida : Permite al usuario mostrar elementos por pantalla al usuario (Mostrar).
MsgBox “Hola Mundo” .
Condicional If (Si)
La sentencia if ejecuta las instrucciones sólo si se cumple una condición.
Si la condición es falsa, se continua hacia abajo sin entrar. Similar a la
selección en diagramas de flujo.
If condición Then
…sentencias cuando la condición es verdadera…

Este condicional es usado comúnmente para añadir secuencias únicas al


momento de que se cumpla la condición descrita dentro. Es la forma más
básica de elección o discernimiento para el programa. Ojo con la
indentación después del Then.
Condicional If-Else (Si-Si no)
La sentencia if-else decide qué instrucciones ejecutar dependiendo si una
condición es verdadera o falsa:

If condición Then
…sentencias cuando la condición es verdadera…
Else
…sentencias cuando la condición es falsa…
End If

Genera una elección binaria por parte del programa, es decir, que siga uno de los
dos caminos dependiendo de la condición dada. Cabe destacar que el programa
siempre correrá solamente uno de los dos. Ojo con la Indentación y el End If.
Condicional If - ElseIf - Else (Si - O bien - Si no)
La sentencia if-elif-else depende de dos o más condiciones, que son evaluadas en orden. La primera que es verdadera
determina que instrucciones se tomarán, descartando el resto.

If condición Then
…sentencias cuando la condición1 es verdadera…
ElseIf condición2 Then
…sentencias cuando la condición2 es verdadera…
ElseIf condición3 Then
…sentencias cuando la condición3 es verdadera…

Else
…sentencias cuando la condición es falsa…
End If

Similar al if-else, se genera a que el programa elija un camino, esta vez, entre muchos para elegir. Se hace hincapié en el
orden de las condiciones, ya que afectará directamente a la decisión que tomará el programa. Si quiere que el programa
“entre” a más de una condición, ocupe simplemente if, generando condiciones pertinentes. (Es opcional el uso del else).
Ojo con la Indentación y el End If.
Ciclo while (Mientras)
Los ciclos en Visual Basic tienen dos B) Realizar una secuencia, para después,
formatos: verificar si la condición se cumple, de ser
así, el ciclo continúa.
A) Realizar una secuencia si se cumple
una condición previamente verificada. Do
sentencias
Do While condición Loop While condición
sentencias
Loop

Notar que, siempre parte con el Do, la palabra Loop determina el fin de sentencias del
ciclo, la condición siempre va después del While, y dependiendo de la posición de esta
determina si se realiza verifica antes o después la condición.

Potrebbero piacerti anche