Ir al contenido principal

Visual Basic for Applications en ejemplos (IV)

En Visual Basic for Applications todo es un objeto (Object), repito, en Visual Basic for Applications  todo es un objeto y todo objeto tiene propiedades y métodos. Es importante aclarar que existe una jerarquía. En primer lugar está la Application, le siguen los Workbooks, Sheets y Ranges/Cells.


Application
Workbooks
Sheets
Ranges


Object ("Nombre") Object(Indice)
Workbooks("Datos") Workbooks(3)
Sheets("Hoja 2") Sheets(2)
Range("C3") Cells(5,3)

Es importante conocer está jerarquía para poder acceder a los elementos y atributos con los que deseamos trabajar.

Ejemplo. Acceder al valor de la casilla B6. Supongamos que el archivo se llama "Datos"y la hoja se llama "Hoja 1".

Nota: Ojo con Objet("Nombre")  y/o Object(Indice)

En Excel haría esto:
=B6

En VBA haría esto:
'Usando Object("Nombre")
Workbooks("Datos").Sheets("Hoja 1").Range("B6").Value

'Usando Object(Indice)
Workbooks(1).Sheets(1).Cells(6,2).Value


Diferencias entre Excel , VBA y Macros
Excel: es la aplicación donde creamos y usamos hojas
VBA: es la plataforma donde se escriben, guardan y ejecutan macros.
Macro: conjunto de código o comandos guardados que se ejecutan cuando se solicitan.

Es importante conocer los pilares de VBA.
  1. Object
  2. Function
  3. Property
  4. Methods
Object: una instancia de una clase
Function: acciones definidas que pueden o no devolver algún valor
Property: propiedades de un Object
Methods: acciones que actuan/interacuan con objetos

Por ejemplo un método puede ser Cortar, Copiar, Seleccionar, Borrar, e Insertar.

Funciones específicas de Excel (WorksheetFuntion) y funciones VBA

WorksheetFunction VBA function
CHOOSE Valor = Choose(1,"Code","on","the","Internet")
ASC Resultado = Asc("W")
CHR Result = Chr(56)
LCASE Mayuscula = LCase("ABCDE")
UCASE Minuscula = UCase("abcde")
LEN Longitud = Len("12 - AW - 555")
NOW Fecha = Now

Es importante diferenciar entre functiones porpias de Excel y VBA. Por el momento es todo.


Comentarios