Objetos de VBA

Tabla de contenido

Los objetos de Excel VBA se refieren a "entidades" individuales compuestas por código y datos. La aplicación de Excel en sí misma es un objeto, al igual que los libros de trabajo, las hojas de trabajo, los rangos de celdas y las formas. Cada objeto tiene propiedades y métodos asociados. Los objetos también pueden contener otros objetos y el objeto de colecciones se utiliza para hacer referencia a un grupo de los mismos objetos de Excel.

En este tutorial, veremos algunos objetos de Excel de uso común.

Objeto de aplicación

El objeto de aplicación se refiere a toda la aplicación de Excel. El objeto Aplicación contiene el objeto del libro de trabajo.

El siguiente código usa la propiedad WindowState del objeto Aplicación para establecer la ventana de Excel en el tamaño máximo disponible:

12345 Sub MaximizingTheExcelWindow ()Application.WindowState = xlMaximizedEnd Sub

Objeto de libros de trabajo

El objeto Workbooks se refiere a la colección de todos los libros de Excel abiertos actualmente.

El siguiente código usa el método Workbooks.Add para crear un nuevo libro y agregarlo a la colección:

12345 Agregar un nuevo libro de trabajo a la colección de libros de trabajo ()Cuadernos de trabajo AgregarEnd Sub

Puede acceder a un libro de trabajo individual en la colección Workbooks a través de su número de índice o nombre. Por lo tanto, puede consultar un Libro de trabajo llamado ExcelWb, utilizando Libros de trabajo ("ExcelWB").

Objeto del libro de trabajo

El objeto del libro de trabajo es parte de la colección Workbooks. El objeto de libro de trabajo contiene la colección de hojas de trabajo (hojas de trabajo) y la colección de hojas (hojas de trabajo, hojas de gráficos y macrosheets). El objeto ActiveWorkbook hace referencia al libro que está activo.

El siguiente código usa el método ActiveWorkbook.Save para guardar el libro activo actual:

12345 Sub SavingTheWorkbook ()ActiveWorkbook.SaveEnd Sub

Objeto de hojas

El objeto de hojas se refiere a la colección de todas las hojas de trabajo, hojas de gráficos y macrosheets en un libro de trabajo. El siguiente código usa el método Sheets.Add para agregar una nueva hoja de trabajo llamada ExtraSheet, después de la última hoja de trabajo del libro:

123456 Sub AddingANewSheet ()ActiveWorkbook.Sheets.Add (Después: = ActiveWorkbook.Worksheets (Worksheets.Count), Count: = 1, _Tipo: = xlWorksheet) .Name = "ExtraSheet"End Sub

Tenga en cuenta que la sintaxis del método Sheets.Add es:
Hojas.Añadir (Antes, Después, Contar, Escribe) dónde:

-Before es opcional y especifica que la nueva hoja debe agregarse antes que una hoja existente.

-After es opcional y especifica que la nueva hoja debe agregarse después de una hoja existente.

-Count es opcional y especifica la cantidad de hojas que se agregarán.

-Type es opcional y especifica el tipo de hoja. xlWorksheet agregaría una nueva hoja de trabajo, xlChart agregaría una nueva hoja de gráfico y xlExcel4MacroSheet o xlExcel4IntlMacroSheet agregaría una nueva macrosheet. Si está en blanco, se utiliza la hoja de trabajo xl predeterminada.

Puede acceder a una hoja individual en la colección Hojas a través de su número de índice o nombre. Por lo tanto, puede hacer referencia a una hoja de trabajo llamada SheetOne, utilizando Sheets ("SheetOne").

Objeto de hojas de trabajo

El objeto Worksheets se refiere a la colección de todas las hojas de trabajo de un libro. El siguiente código usa el método Worksheets.Add para agregar una nueva hoja de trabajo:

12345 Sub AddingANewSheet ()Hojas de trabajo.AñadirEnd Sub

Puede acceder a una hoja individual en la colección de Hojas de trabajo a través de su número de índice o nombre. Por lo tanto, puede hacer referencia a una hoja de trabajo llamada SheetTwo, mediante el uso de hojas de trabajo ("SheetTwo").

Objeto de hoja de trabajo

El objeto de la hoja de trabajo es parte de la colección Worksheets. El objeto de la hoja de trabajo contiene el objeto de rango y otros objetos. El objeto ActiveSheet hace referencia a la hoja que está activa.

El siguiente código cambia la orientación de la página de la hoja activa a horizontal:

12345 Sub ChangingOrientationToLandscape ()ActiveSheet.PageSetup.Orientation = xlLandscapeEnd Sub

Tenga en cuenta que el objeto Hoja contiene el objeto PageSetup y su propiedad de orientación se establece en xlLandscape.

Objeto de rango

El objeto Range puede hacer referencia a una sola celda o un conjunto de celdas en una hoja de trabajo. El siguiente código le muestra cómo usar el método Range.Select para seleccionar las celdas A1: B1:

12345 Sub SelectingARange ()Rango ("A1: B1"). SeleccionarEnd Sub

Objeto de formas

El objeto Shapes se refiere a la colección de todas las formas en una hoja de trabajo. El siguiente código seleccionaría todas las formas en ActiveSheet:

12345 Sub Seleccionar todas las formas ()ActiveSheet.Shapes.SelectAllEnd Sub

Objeto de forma

El objeto Shape es parte de la colección Shapes. El siguiente código crearía una forma de rectángulo redondeado y luego establecería la propiedad de nombre del objeto de forma:

123456789 Sub UsingTheShapeObject ()Con hojas de trabajo (1) .Shapes.AddShape (msoShapeRoundedRectangle, _200, 100, 80, 80).Name = "Un rectángulo redondeado"Terminar conEnd Sub

Modelo de objetos de Excel VBA

El modelo de objetos VBA de Excel describe la jerarquía de todos los objetos que puede usar en Excel. Por ejemplo, puede utilizar el objeto Workbooks para hacer referencia a todos los demás objetos de forma directa o indirecta. El siguiente código le muestra cómo seleccionar la celda A1, usando la estructura jerárquica:

12345 Sub UsingTheHierachicalStructure ()Libros de trabajo ("Libro1"). Hojas de trabajo ("Hoja1"). Rango ("A1"). SeleccioneEnd Sub

Declarar y asignar una variable de objeto

Puede declarar y asignar un objeto a una variable utilizando las palabras clave Dim y Set.

Por ejemplo:

12 Dim ws como hoja de trabajoEstablecer ws = ActiveWorkbook.ActiveSheet

El siguiente código muestra cómo declarar y asignar un objeto Range a una variable:

12345678910111213141516 Sub AssigningARangeToAVariable ()Dim rngOne como objetoEstablecer rngOne = Rango ("A1: C1")rngOne.Font.Bold = VerdaderoCon rngOne.Font.Bold = Verdadero.Font.Name = "Calibri".Font.Size = 9.Fuente.Color = RGB (35, 78, 125).Interior.Color = RGB (205, 224, 180).Bordes (xlEdgeBottom) .LineStyle = xlContinuousTerminar conEnd Sub

El resultado es:

Es esencial comprender cómo funcionan los objetos para dominar VBA. Puede obtener más información con nuestro tutorial interactivo de VBA.

Va a ayudar al desarrollo del sitio, compartir la página con sus amigos

wave wave wave wave wave