Error definido por aplicación u objeto
Saludos, tengo un problema bien extraño con una macro que trabaja con diferentes registros, lo extraño es que la macro funciona, me lanza este error después de haber realizado todo lo que le pido, pues bueno explico un poco el código que se realiza al hacer click en una combobox:
Sheets("Registro").Activate
dato = Entrega2.Value
rango = "NEntrega"
Set midato = ActiveSheet.Range(rango).Find(dato, LookIn:=xlValues, LookAt:=xlWhole)
If Not (midato) Is Nothing Then
ubica = midato.Address(False, False)
Pedido2.Value = Range(ubica).Offset(0, -1).Value
Destino.Value = Range(ubica).Offset(0, -2).Value
PaletPedido.Value = Range(ubica).Offset(0, 3).Value
If Range(ubica).Offset(0, 10).Value = "SI" Then
UserForm3.Show
Else
Ruta.Value = Range(ubica).Offset(0, 7).Value
End If
End If
Set midato = Nothing
End Sub
Esta macro la utilizo para identificar los datos correspondiente a una entrega que se ingresa mediante una combobox, funciona estupendamente, el problema es que como es un planilla de despacho una vez que se selecciona la entrega al darle click en aceptar tengo la instrucción
Range(ubica).EntireRow.Delete
Esto elimina la celda (lo que quiero que haga), pero (y estimo que el error es este) que al eliminar la celda elimino la referencia para "dato" afectando el valor asignado a "midato" por lo que en el código anterior me lanza error en la linea:
Set midato = ActiveSheet.Range(rango).Find(dato, LookIn:=xlValues, LookAt:=xlWhole)
Esto lo comprobé eliminando la instrucción de borrar la fila del código y este funciona solo que no borra la fila
Sheets("Registro").Activate
dato = Entrega2.Value
rango = "NEntrega"
Set midato = ActiveSheet.Range(rango).Find(dato, LookIn:=xlValues, LookAt:=xlWhole)
If Not (midato) Is Nothing Then
ubica = midato.Address(False, False)
Pedido2.Value = Range(ubica).Offset(0, -1).Value
Destino.Value = Range(ubica).Offset(0, -2).Value
PaletPedido.Value = Range(ubica).Offset(0, 3).Value
If Range(ubica).Offset(0, 10).Value = "SI" Then
UserForm3.Show
Else
Ruta.Value = Range(ubica).Offset(0, 7).Value
End If
End If
Set midato = Nothing
End Sub
Esta macro la utilizo para identificar los datos correspondiente a una entrega que se ingresa mediante una combobox, funciona estupendamente, el problema es que como es un planilla de despacho una vez que se selecciona la entrega al darle click en aceptar tengo la instrucción
Range(ubica).EntireRow.Delete
Esto elimina la celda (lo que quiero que haga), pero (y estimo que el error es este) que al eliminar la celda elimino la referencia para "dato" afectando el valor asignado a "midato" por lo que en el código anterior me lanza error en la linea:
Set midato = ActiveSheet.Range(rango).Find(dato, LookIn:=xlValues, LookAt:=xlWhole)
Esto lo comprobé eliminando la instrucción de borrar la fila del código y este funciona solo que no borra la fila
1 Respuesta
Respuesta de Juan Carlos González Chavarría
1