Error 91Variable de objeto o bloque With no establ

Hola!
Tengo la siguiente macro que me arroja el error del titulo. Marque en negrita la linea donde la macro rellena en amarillo el  error.
Por favor si alguien me puede ayudar a descifrar porque marca dicho error.
Sub Precios_UltC()
Application.ScreenUpdating = False
Dim i As Long
Dim celda As Range
Dim RangoBusqueda As Range
Application.Workbooks.Open "C:\Documents and Settings\Hector Chavero\My Documents\Personal\InventarioUEPS.xls"
With Worksheets("Catalogo producto")
Set RangoBusqueda = .Range("A2:A" & _
Range("A" & .Rows.Count).End(xlUp).Row)
End With
Workbooks("Modulo_Proyectos.xls").Activate
i = 14
Do Until Worksheets("Proyecto").Range("A" & i).Offset(0, 1) = "TOTAL"
Set celda = RangoBusqueda.Find( _
Worksheets("Proyecto").Range("A" & i), _
LookIn:=xlValues, lookat:=xlWhole)
Worksheets("Proyecto").Range("A" & i).Offset(0, 1) = celda.Offset(0, 1).Value
Worksheets("Proyecto").Range("A" & i).Offset(0, 2) = celda.Offset(0, 2).Value
i = i + 1
Loop
Workbooks("InventarioUEPS.xls").Activate
With Worksheets("UC")
Set RangoBusqueda = .Range("A2:A" & _
Range("A" & .Rows.Count).End(xlUp).Row)
End With
Workbooks("Modulo_Proyectos.xls").Activate
i = 14
Do Until Worksheets("Proyecto").Range("A" & i).Offset(0, 1) = "TOTAL"
Set celda = RangoBusqueda.Find( _
Worksheets("Proyecto").Range("A" & i), _
LookIn:=xlValues, lookat:=xlWhole)
With Worksheets("Proyecto")
.Range("A" & i).Offset(0, 4) = celda.Offset(0, 1).Value
.Range("A" & i).Offset(0, 5) = celda.Offset(0, 2).Value
If .Range("A" & i).Offset(0, 5) = "USD" Then
.Range("A" & i).Offset(0, 6) = .Range("A" & i).Offset(0, 3) * .Range("A" & i).Offset(0, 4) * .Range("E10").Value
Else
.Range("A" & i).Offset(0, 6) = .Range("A" & i).Offset(0, 3) * .Range("A" & i).Offset(0, 4)
End If
End With
i = i + 1
Loop
Workbooks("InventarioUEPS.xls").Close False
Application.ScreenUpdating = True
End Sub
Gracias y saludos.

1 respuesta

Respuesta
1
Como la instrucción anterior es un FIND, imagino que el error puede darse cuando no encuentra lo que estás buscando.
Debieras incluir una línea a continuación del Set:
If not celda is nothing then  'es decir que si no está vacía la búsqueda, sí puede pasar el valor encontrado
El End If vá antes del Loop
Hola Elsa,
Colocando el Nothing no muestra el error pero no finaliza la macro. Atraves de F8 me di cuenta que en la celda donde no existe lo que esta buscando repite el bucle. Es posible evitar esto?.
Gracias y saludos.
Si, disculpa, el end if va antes del i= i+1 para que pueda avanzar a celda sgte.
Sdos
Elsa

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas