Ayuda con Cells.Find ymensaje de "No se Encuentra"

Hola, soy nuevo en esto de las macros y estoy tratando de hacer un proceso de búsqueda con cells.find empleando un cmdbuttom en un formulario, hasta allí todo bien. El problema es cuando no encuentra el registro en la planilla y la macro arroja error provocando que la macro se caiga. La idea es que me de un mensaje con la posibilidad de continuar realizando la búsqueda o no, he tratado pero no se como podría ser esto. Desde ya agradezco la ayuda proporcionada.
Saludos

1 Respuesta

Respuesta
1
¿Puedes colocar el código que estas usando? O quizá subir el archivo para ver el ejemplo.
Gracias por responder y disculpas por tardar un poco en reenviarte el código, pero aquí va:
Para buscar uso lo siguiente
Private Sub Commandbutton2_click()
sheets("proveedores").Activate
Range("a5").Select
Cells.find(What:=TextBox1, After:=Activecell, LookIn:=xlFormula, LookAt:=xlWhole, SerchOrder:=xlbyRows, SearchDirection:=xlNext, MatchCase:=False).Activate
' aqui se va ubicando en las columnas de la planilla a partir de A5 y muestra el contenido de la celda activa en el textbox
Activecell.Offset(0,1).Select
TexBox2=Activecell
Activecell.Offset(0,1).Select
TextBox3=Activecell
Activecell.Offset(0,1).Select
TextBox4=Activecell
Activecell.Offset(0,1).Select
Agradezco desde ya tu ayuda
Saludos
Acá te envía un mensaje que cuando la búsqueda es vacía te de un mensaje. No veo necesario que te aparezca si deseas buscar nuevamente porque el registro no esta. A menos que sea con otro valor. En este caso este código esta ajustado para esta ultima consideración.
Private Sub Commandbutton2_click()
sheets("proveedores").Activate
Range("a5").Select
resp=Cells.find(What:=TextBox1, After:=Activecell, LookIn:=xlFormula, LookAt:=xlWhole, SerchOrder:=xlbyRows, SearchDirection:=xlNext, MatchCase:=False).Activate
If resp Is Nothing Then
MsgBox ("No se encontro registro " & TextBox1.Value)
userform1.show
else
resp.activate
Activecell.Offset(0,1).Select
TexBox2=Activecell
Activecell.Offset(0,1).Select
TextBox3=Activecell
Activecell.Offset(0,1).Select
TextBox4=Activecell
Activecell.Offset(0,1).Select
End If
End Sub
Si necesitas algo más o tienes algún duda no vaciles en consultar

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas