Buscar en Ayuda Excel:

Objetos, propiedades y métodos

Antes de  comenzar a profundizar  en cosas más importantes, te sugerimos que leas este artículo para tener una visión de conjunto sobre los capítulos posteriores. Estos son los temas que se darán por sabidos en siguientes secciones. A continuación te presentamos un rápido resumen de los conceptos más usuales en VBA:

  • Código: Realizamos acciones en VBA ejecutando código VBA.

  • Módulos: Los módulos VBA están almacenados en un libro de Excel, pero vemos o editamos módulos utilizando el editor de Visual Basic (VBE). Un módulo VBA consiste en procedimientos.

  • Procedimientos: Un procedimiento es básicamente una unidad de código informático que realiza alguna acción. VBA admite dos tipos de procedimientos: Sub y Function.
    • Sub: Un procedimiento Sub consiste en una serie de sentencias que pueden ejecutarse de varias maneras. Aquí tienes un ejemplo de un sencillo procedimiento Sub llamado Test. Este procedimiento realiza una sencilla suma y después muestra el resultado en un cuadro de mensaje.

      Sub Test()
      Sum = 1 + 1
      MsgBox "La respuesta es " & Sum
      End Sub
    • Function: Además de los procedimientos Sub, un módulo VBA también puede tener un procedimiento Function. Un procedimiento Function devuelve un solo valor (o posiblemente una matriz). Se puede invocar un Function desde otro procedimiento de VBA o podemos usarlo en una fórmula de hoja. A continuación se muestra un ejemplo de una función llamada AgregaDos:

      Function AgregaDos(arg1, arg2)
      AgregaDos = arg1 + arg2
      End Function
  • Objetos: VBA manipula los objetos que se encuentran en su aplicación huésped (en este caso, Excel es la aplicación huésped). Excel te ofrece más de 100 clases de objetos para manipular, entre los que se encuentran los libros, las hojas, rangos de hojas, gráficos o un triángulo dibujado. Hay muchos más objetos a disposición del programador y puedes manipularlos utilizando el código VBA. Las clases de objetos están ordenadas por jerarquías.


    Los objetos pueden actuar como recipientes de otros objetos. Por ejemplo, Excel es un objeto llamado Application y contiene otros objetos como Workbook y CommandBar. El objeto Workbook puede contener otros objetos como Worksheet y Chart. Un objeto Worksheet puede contener objetos como Range, PivotTable y así sucesivamente. La disposición de estos objetos recibe el nombre de modelo de objetos de Excel.
  • Colecciones: Los objetos similares forman una colección. Por ejemplo, la colección Worksheet se compone de todas las hojas de un determinado libro. La colección CommandBars está formada por todos los objetos CommandBar. Las colecciones son objetos por sí mismos.
  • Jerarquía de objetos: Cuando haces referencia a un objeto miembro o contenido, especificas su posición en la jerarquía de objetos utilizando un punto para separar los contenedores de los miembros. Por ejemplo, puedes hacer referencia a un libro llamado Libro1.xlsx así:


    Application.Workbooks(“Libro1.xlsx”)


    Esto hace referencia al libro 1.xlsx de la colección Workbooks. La colección Workbooks se encuentra dentro del objeto Application de Excel. Llevando esto a otro nivel, puedes hacer referencia a la Hoja1 del Libro1 así:


    Application.Workbooks(“Libro1.xlsx”).Worksheets(“Hoja1”)


    Todavía se puede llevar a otro nivel más y referirse a celdas específicas como se indica a continuación:


    Application.Workbooks(“Libro1.xlsx”).Worksheets(“Hoja1”).Range(“A1”)
  • Objetos activos: Si omites una referencia específica a un objeto, Excel utiliza los objetos activos. Si el libro activo es Libro1, la referencia anterior se puede hacer más simple:

    Worksheets (“Hoja1”).Range(“A1”)


    Si sabes que la hoja active es Hoja1, puedes simplificar la referencia todavía más:

    Range(“A1”)
  • Propiedades de objetos: Los objetos tienen propiedades.


    Podemos imaginar una propiedad como un valor de un objeto. Por ejemplo, un objeto de rango tiene propiedades como Value y Name. Un objeto de gráfico tiene propiedades como HasTitle y Type. Puedes utilizar VBA para determinar las propiedades de un objeto y también para cambiarlas.


    Hacemos referencia a las propiedades combinando el objeto con la propiedad, separados por un punto. Por ejemplo, podemos hacer referencia al valor de la celda A1 de la Hoja1 como se indica a continuación:

    Worksheets (“Hoja1”).Range(“A1”).Value
  • Variables en VBA: Podemos asignar valores a variables VBA. Piensa en una variable como en un nombre que puedes utilizar para almacenar un determinado valor. Para asignar el valor de la celda A1 de la Hoja1 a una variable llamada Precio, utiliza la siguiente instrucción VBA:



    Precio = Worksheets (“Hoja1”).Range(“A1”).Value
  • Métodos de objetos: Los objetos tienen métodos.



    Un método es una acción que se realiza sobre el objeto. Por ejemplo, uno de los métodos para un objeto Range es ClearContents. Este método borra los contenidos del rango.


    Los métodos se especifican combinando el objeto con el método, separados por un punto.


    Por ejemplo, para borrar los contenidos de la celda A1 de la hoja activa utiliza:


    Range(“A1”).ClearContents
  • Constructores de programación estándar: VBA también incluye todos los constructores de programación estándar de los lenguajes de programación modernos, incluyendo matrices, bucles y similares.
  • Eventos: Algunos objetos reconocen eventos específicos, y se puede escribir código VBA que se ejecute cuando ocurre un evento. Por ejemplo, abrir un libro habrá que se ejecute el evento Workbook_Open. Cambiar una celda en una hoja hace que se ejecute un evento Worksheet_Change.

Aunque no lo creas, esto describe casi por completo VBA. A partir de ahora sólo aprenderemos los detalles para manejar todo esto.


Technorati Tags:
Distribuir contenido
Cursos de Excel · Manual básico de Excel · Tutoriales Excel · Foro Excel · Enlaces · VBA Excel · Plantillas Excel · Nota legal · Contacta