Este tutorial le enseñará cómo definir variables de objeto usando la declaración Set en VBA.
Definición de variables de objeto
Los objetos son la piedra angular de Microsoft Office: sin objetos, no podemos lograr nada. En Excel, los objetos incluyen el libro de trabajo, la hoja de trabajo o los objetos de rango. En Microsoft Word, los ejemplos son el objeto Documento o Tabla. Cada objeto tiene una variedad de Propiedades y Métodos que se puede programar para controlar el comportamiento de ese objeto.
Declaración de la variable de objeto
Antes de que podamos hacer referencia al objeto en el código y, por lo tanto, controlar el objeto, debemos declarar el objeto. Podemos hacer esto usando la declaración Dim.
123456 | Dim wkb como libro de trabajoDim wks como hoja de trabajoDim Rng como rangoDim wdDoc como documentoDim wdTbl como tablaDim shp como forma |
Esta Oscuro La declaración puede ocurrir dentro de un procedimiento:
o fuera de un procedimiento a nivel de módulo:
Si la variable se declara a nivel de módulo (fuera del procedimiento), la variable se puede utilizar en todo el módulo.
Si la variable de objeto se declara con la declaración pública, entonces la variable se puede utilizar en todo el proyecto VBA:
Valor ajustado
Una vez que haya declarado el objeto, debe asignarle un valor. Esto debe hacerse usando el Establecer declaración y solo se puede hacer dentro de un Procedimiento.
12345 | Sub SetObjects ()Establecer wkb = ActiveWorkbookEstablecer wks = Sheet1Establecer rng = Rango ("A1: G4")End Sub |
Nota: Esto es diferente a asignar valores a variables que no son de objeto. DEBE usar la instrucción Set para asignar el objeto a la variable. Si no lo hace, recibirá un error:
Una vez que haya asignado un valor al objeto, puede escribir código para controlar el comportamiento o manipular el objeto.
Programación VBA | ¡Code Generator funciona para usted!
Ejemplos de objetos en Excel
Objeto del libro de trabajo
Una vez que haya declarado una variable de libro de trabajo, puede asignar un libro de trabajo a ese objeto y usar las Propiedades y Métodos disponibles para manipular ese objeto. En el siguiente ejemplo, vamos a guardar un libro de trabajo.
123456789101112 | Sub WorkbookObject ()'declarar el objeto del libro de trabajoDim wkb como libro de trabajo'asignar un libro de trabajo no guardado al objetoEstablecer wkb = Workbooks ("Libro1")'guardar el libro de trabajowkb.SaveAs "C: \ data \ testbook.xlsx"'cerrar el libro de trabajowkb.closerecuerda soltar el objetoEstablecer wkb = NadaEnd Sub |
Objeto de hoja de trabajo
De manera similar, puede manipular una hoja de trabajo u hojas de trabajo una vez que haya declarado la hoja de trabajo como una variable. En el siguiente ejemplo, cambiamos el nombre de Sheet1 y Sheet2.
12345678910111213 | Sub WorksheetObject ()Dim wks1 como hoja de trabajoDim wks2 como hoja de trabajo'inicializar los objetosEstablecer wks1 = Sheet1Establecer wks2 = Sheet2'cambiar el nombre de las sábanaswks1.Name = "Clientes"wks2.Name = "Productos"'poner los objetos en nadawks1 = Nadawks2 = NadaEnd Sub |
¿Cansado de buscar ejemplos de código VBA? ¡Prueba AutoMacro!
Objeto de rango
El objeto Range es uno de los objetos más útiles para manipular en Excel. En el siguiente ejemplo, ponemos en negrita el rango A1 a E1 y lo formateamos con un borde inferior.
12345678910111213 | Sub RangeObject ()Dim rng1 como rango'inicializar el rangoEstablecer rng = Rango ("A1: E1")'en negrita el rango y establece el borde inferiorrng.Font.Bold = VerdaderoCon rng1.Borders (xlEdgeBottom).LineStyle = xlContinuous.ColorIndex = 0.TintAndShade = 0.Peso = xldelgadoTerminar conEnd Sub |
Objeto de forma
También puede utilizar variables de objeto para trabajar con formas.
123456789101112 | Sub AddShape ()Dim shp como forma'crea la formaEstablezca shp = ActiveDocument.Shapes.AddShape (msoShapeSmileyFace, 68.25, 225.75, 136.5, 96 #)Con shp'cambiar el color y el estilo del interior.Fill.ForeColor.RGB = RGB (255, 255, 0).Llenar.Sólido'ajusta la sonrisa!.Ajustes.Item (1) = 0.07181Terminar conEnd Sub |