Está en la página 1de 24

SESION 03

Variables, Arrays (Arreglos), Constantes y Tipos de Datos

ING. JOSE LI GAVIDIA MS EXCEL 1


Algunas Referencias y propiedades más usadas
• Range("A5").Value = "Saludos"
• Range("B3:B13").Value = "Rango2 "
• F=Range("TotalDatos").value
• Cells(9,3).Value = "Excel con Macros"
• Range("A1").Offset(3, 4).Value = "¿Donde Estoy?"
• Range("A20:D25").Cells(3, 4).Value = "¿Y ahora?“
• Range(“6:10").EntireRow.RowHeight = 45
• Rows(“6:15").RowHeight = 45

ING. JOSE LI GAVIDIA MS EXCEL 2


Algunas Referencias y propiedades más usadas
• Range(“D:G”).EntireColumn.ColumnWidth = 25
• Columns(“D:G”).ColumnWidth = 50
• Cells.EntireColumn.AutoFit
• Cells.EntireRow.AutoFit
• Selection.Address
• ActiveCell.Address
• Range("A1:D20").Columns.Count Nro Columnas en el rango
• Range("A1:D20").Rows.Count Nro Filas en el rango
• Range("A1:D20").Count Nro de elementos en el rango

ING. JOSE LI GAVIDIA MS EXCEL 3


Algunas Referencias y propiedades más usadas
• Range("A1").CurrentRegion.Select
• Range("A1").CurrentRegion.Address
• Range("A2").EntireRow.Delete
• Rows(2).EntireRow.Delete
• Range(“D1").EntireColumn.Delete
• Columns(4).EntireColumn.Delete
• Range("A1:D1").Font.Name = "Arial"
• Range("A1:D1").Font.Size = 10

ING. JOSE LI GAVIDIA MS EXCEL 4


Algunas Referencias y propiedades más usadas
• Range(“C2").Interior.Color = VBA.vbRed
• Range(“C3").Interior.Color = RGB(120, 130, 180)
• Range(“C4").Interior.ColorIndex = 90
• Range("C5").NumberFormat = "#,##0.00“

ING. JOSE LI GAVIDIA MS EXCEL 5


Variables
• Son espacios en la memoria que permiten almacenar datos
temporalmente durante la ejecución de un programa.
• Permiten almacenar diferentes tipos de datos y se pueden realizar
diferentes cálculos con ellos.
• Una variable puede tener un valor y cambiar durante la ejecución de
un programa, por eso se denomina VARIABLE
• Cuando una variable se define de un tipo (por ejemplo entero) no
puede mezclarse con otros tipos de variable.

ING. JOSE LI GAVIDIA MS EXCEL 6


Definiendo Variables
• Para definir una variable se usa el comando DIM
Dim NombreVariable [As TipoVariable]
• La reglas para nombrar una variable son las siguiente:
• Deben empezar con una letra
• Deben contener solo letras, números o el character de subrayado ( _ ), no se
puede usar espacios en blanco.
• Se recomienda que no debe ser muy largo. (long. Máxima 254)
• No pueden ser palabras reservadas como por ejemplo SUB o DIM.
• El parámetro TipoVariable es opcional, cuando no se indica VBA
asume el tipo VARIANT.
ING. JOSE LI GAVIDIA MS EXCEL 7
Option Explicit
• Para evitar problemas con nombres de variable, se puede usar la
OPTION EXPLICIT, de tal forma que VBA genere un error cuando
encuentra una variable que no ha sido definida.
• Para hacer esto, el comando tiene que colocarse en la sección de
declaración de un modulo (general)
• Si usa una variable o define una variable sin tipo, se generara un error.
Los siguientes ejemplos generarian mensajes de error debido a que
no tienen definido el tipo:
Dim Salario
x=0

ING. JOSE LI GAVIDIA MS EXCEL 8


Presione la tecla de función F5 para ejecutar
la macro y observará que se genera el error
por no estar definida la variable X.

ING. JOSE LI GAVIDIA MS EXCEL 9


Alcance y vida de variables
• Si declara una variable dentro de un procedimiento, solo el código
dentro de ese procedimiento puede accede a esa variable.
• El alcance es local a ese procedimiento.
• Quiza pueda necesitar variables que puedan ser leidas en varios
procedimiento o en toda la aplicación.
• Por estas razones puede declarar una variable en forma local, en un
módulo o a nivel global (toda la aplicación).

ING. JOSE LI GAVIDIA MS EXCEL 10


Variables Locales
• Se definen usando Dim, Static o Redim (para arreglos)
• Ejemplo (Lo siguiente generaría error)

ING. JOSE LI GAVIDIA MS EXCEL 11


Variables globales para un módulo

ING. JOSE LI GAVIDIA MS EXCEL 12


Variables globales para la aplicación

ING. JOSE LI GAVIDIA MS EXCEL 13


Tipos de datos de variables
• A una variable se le puede asignar un tipo de datos el cual determina
el tipo de datos que se puede almacenar. Esto puede tener efecto en
la eficiencia de su código.
• Si no define el tipo de dato, el tipo por defecto es VARIANT.
• El tipo variant puede almacenar todos los tipos de datos: texto,
números, fechas, etc.
• Una variable variant puede cambiar su tipo sin ningun problema en
tiempo de ejecución del procedimiento.

ING. JOSE LI GAVIDIA MS EXCEL 14


Ejemplo Variant

La función VarType, retorna un número que indica


el tipo de dato de la variable

ING. JOSE LI GAVIDIA MS EXCEL 15


Otros tipos de datos(1)
• Byte: Los valores de tipo Byte son los números enteros comprendidos
entre 0 y 255. Estos datos se almacenan en memoria como un byte (8
bits).
• Integer: Las variables definidas como Integer pueden almacenar
números enteros en el rango de valores de -32768 a 32767. Los
enteros se almacenan en memoria como 2 bytes.
• Long: Las variables definidas como Long pueden almacenar números
enteros comprendidos entre -2.147.483.648 y 2.147.483.647. Se
almacenan en 4 bytes.

ING. JOSE LI GAVIDIA MS EXCEL 16


Otros tipos de datos(2)
• Single (decimal simple): Las variables definidas como Single pueden almacenar números
reales de 32 bits con una precisión de 7 decimales. Ocupa 8 bytes de memoria.
• Double: Las variables definidas como Double pueden almacenar números reales de 64
bits con una precisión de 16 decimales que van de -1.79769313486231E308 a -
4,94065645841247E-324 para valores negativos y de 4,94065645841247E-324 a
1,79769313486232E308 para valores positivos. Ocupa 16 bytes de memoria.
• Currency: Las variables definidas como Currency pueden almacenar números reales que
van de -922.337.203.685.477,5808 a 922.337.203.685.477,5807. Este tipo nos permite
manejar valores con una precisión de 15 dígitos a la izquierda del punto decimal y 4
dígitos a la derecha. Esta clase de datos la usamos para realizar cálculos de tipo
monetario, donde necesitamos evitar errores de redondeo. Ocupa 8 bytes de memoria.

ING. JOSE LI GAVIDIA MS EXCEL 17


Otros tipos de datos(3)
• Datos fecha/hora (Date): El tipo de dato Date lo empleamos para
almacenar fechas y horas como un número real. Los valores de fecha
u hora se deben incluir entre dos signos #.
• Ver en el siguiente ejemplo:
Ingreso = #27/12/14#
Hora= #4:59:00 PM#

ING. JOSE LI GAVIDIA MS EXCEL 18


Otros tipos de datos(4)
• Datos de texto (String): El tipo de dato String consiste en una secuencia de caracteres
contiguos de cero o más caracteres correspondientes al código ASCII. Es decir, se trata de
una cadena de caracteres que puede incluir letras, números, espacios y signos de
puntuación. Los datos almacenados en una variable de tipo String serán tratados como
texto y no como números.
• De forma predetermina, en Visual Basic para Aplicaciones, las variables de tipo String son
de longitud variable, es decir, la cadena crece y disminuye según le asignemos nuevos
datos. Aunque también podemos declarar cadenas de longitud fija que nos permiten
indicar un número específico de caracteres. Para declararlas, se utiliza el asterisco (*)
seguido del número de caracteres. Por ejemplo, si queremos declarar la variable
Apellidos con una longitud fija de 30 caracteres, usamos lo siguiente::
Dim Apellidos As String * 30

ING. JOSE LI GAVIDIA MS EXCEL 19


Otros tipos de datos(5)
• Datos booleanos: Los datos Boolean son de tipo lógico; esto quiere
decir que pueden tomar solo dos valores posibles: True (verdadero) y
False (falso). El valor por defecto es False. Ocupan 2 bytes de
memoria.
• Datos Variant: Los datos Variant pueden contener prácticamente
cualquier tipo de valor. Se utilizan para declarar una variable cuyo tipo
no se especifica en forma explícita. Ejemplo:
Dim Indeterminado AS Variant

ING. JOSE LI GAVIDIA MS EXCEL 20


Otros tipos de datos(6)
• Datos de objeto (Object): Este tipo de variable permite almacenar
referencias a objetos. De esta manera, podemos acceder a las
propiedades de un objeto e invocar sus propiedades y métodos a
través de la variable. Para declarar una variable Object cuando no
conocemos el tipo de objeto, usamos la siguiente sentencia:
Dim nombreVariable As Object

ING. JOSE LI GAVIDIA MS EXCEL 21


Otros tipos de datos(7)
• Para declarar una variable Object cuando conocemos el tipo de
objeto, usamos la sentencia:
Dim NombreVariable As TipoDeObjeto
• Donde Tipo_Objeto debe ser uno de los tipos de objetos de VBA,
como por ejemplo, Range o Worksheet y no uno de los tipos de datos
que hemos visto anteriormente.

ING. JOSE LI GAVIDIA MS EXCEL 22


Tipo de Objeto Range

ING. JOSE LI GAVIDIA MS EXCEL 23


Tipo Objeto WorkSheet

ING. JOSE LI GAVIDIA MS EXCEL 24

También podría gustarte