Hola
Estoy intentando crear una macro que me permita copiar datos de un libro (cerrado) a otro; al momento de ejecutar el codigo me salta el error:
Se ha producido el error '91' en tiempo de ejecución:
Variable de objeto o bloque Whith no establecido
Al depurar me señala la fila
uFila = wsHojaOrigen.Range("A" & Rows.Count).End(xlUp).Row
El código que estoy ejecutando es el siguiente:
Sub ImportarDatos()
Dim wbLibroOrigen As Workbook
Dim wsHojaOrigen As Worksheet
Dim wbLibroDestino As Workbook
Dim wsHojaDestino As Worksheet
Dim Ruta As String
Ruta = "C:\Users\ANALISTA CALIDAD\Music\Balance de Prueba por Nit (Normal) Abr-30-2018 V3.xlsx"
'Datos Destino
Set wbLibroDestino = Workbooks(ThisWorkbook.Name)
Set wsHojaDestino = wbLibroDestino.Worksheets("BD Datos")
'Datos Origen
Set wbLibroOrigen = Workbooks.Open(Ruta)
Set wsHojOrigen = wbLibroOrigen.Worksheets("Datos")
uFila = wsHojaOrigen.Range("A" & Rows.Count).End(xlUp).Row
wsHojaOrigen.Range("A4:I" & uFila).Copy Destination:=wsHojaDestino.Range("A2")
Workbooks(wbLibroOrigen.Name).Close Savechanges:=False
End Sub
Ojalá y me puedan ayudar, gracias!
Tu problema es que no estás definiendo la variable de objeto wsHojaOrigen, sino wsHojOrigen.
Prueba a corregir la línea Set
Un saludo