¿Qué es una variable objeto?
Una variable objeto, o tipo objeto, representa un objeto completo, tal como una hoja de trabajo o un rango de celdas. Las variables objeto son importantes porque simplifican la programación y el código se ejecuta más rápidamente.
Las variables tipo objeto almacenan múltiples valores, a diferencia de las variables tradicionales.
¿Que es Set?
La instrucción Set se utiliza para asignar valores a una variable tipo objeto.
Set nombreVariable = nombreObjeto
Set celda = Worksheets("Hoja1").Range("A1")
Ejemplo 1:
Se define la variable Celda de tipo objeto (Range). Utilizando la instrucción Set, se le asigna a la variable Celda el objeto Worksheets("Hoja1").Range("A1"). La variable Celda ha "heredado" las propiedades y métodos del objeto asignado (Value, Font).
Sub VariableObjeto2()
'Declaración de la variable objeto
Dim Celda As Range
'Uso de la instrucción SET para asignar valores a la variable objeto Celda
Set Celda = Worksheets("Hoja4").Range("A1")
Celda.Value = 200
Celda.Font.Bold = True
Celda.Font.Italic = True
Celda.Font.Size = 10
Celda.Font.Name = "Cambria"
End Sub
24/01/2020 a las 8:30 pm
HOLA A TODOS, QUIERO COPIAR EL CONTENIDO DE UNA TABLA DE UN ARCHIVO1 A OTRO ARCHIVO2 CON LOS MISMOS CAMPOS PARA IR HACIENDO UN CONCENTRADO(ARCHIVO2) DE DATOS PARA QUE ARCHIVO1 SOLO TENGA LA DATOS DEL DIA Y SEA MAS LIGERO EN LA PRUEBA QUE HISE DE COPIAR CELDA A Y B CON 15 LINEAS SI ME REALIZO LA COPIA A LA HOJA2 PERO AL REALIZARLO EN LA TABLA CON VARIAS CELDAS Y LINEAS ME MANDA MENSAJE DE ERROR OBJETO 454 Y NO TENGO IDEA DE POR QUE
ALQUIEN PODRIA AYUDARME POR FAVOR?
Sub Macro3()
'
' Macro3 Macro
' determina el numero de celdas ocupadas incluyendo el titulo
ND = Hoja1.Range("A" & Rows.Count).End(xlUp).Row
' comienza el bucle para realizar la copia
For x = 9 To ND
Sheets("HOJA2").Select
Rows("9:9").Select
Selection.Insert Shift:=xlDown, CopyOrigin:=xlFormatFromLeftOrAbove
Range("A9").Select
Sheets("HOJA1").Select
Range("A" & x, "B" & x).Select
Selection.Copy
Sheets("HOJA2").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("A9").Select
Next
Sheets("HOJA1").Select
Range("A9").Select
Application.CutCopyMode = False
End Sub