On error goto

Hola expertos: ¿Me podrían modificar este código para que no salga error cuando no existe el dato? Podría ser con on error goto pero no le encuentro la vuelta o de lo contrario como sea más conveniente.
x = 5
Do While Cells(x, 1).Activate <> ""
If Cells(x, 1).Value = Range("D1").Value Then
ActiveCell.Select
UserForm1.Show
Else: x = x + 1
End If
Loop
Desde ya muchas gracias

1 respuesta

Respuesta
1
Como esto parece ser solo una parte de la rutina, quizás lo que te dejo a continuación no responda del todo al problema, si es así escribime nuevamente explicando o agregando el resto del código.
Lo que hace esta parte de la rutina ajustada, es comparar datos de 1 col con celda D1. Si es = llama al UF finalizando la búsqueda.
Si no encuentra el dato el bucle termina sin problemas enviándote un mensaje de lo sucedido, es decir que no necesitas el control de error.
Pruébala y sino me explicás un poco más la idea del proceso.
Sub rutin()
x = 5
Do While Cells(x, 1) <> ""
If Cells(x, 1).Value = Range("D5").Value Then
ActiveCell.Select
UserForm1.Show
Exit Sub
Else: x = x + 1
End If
Loop
MsgBox "El dato no fue encontrado"
End Sub
PD) Para que una macro se ejecute en otra hoja distinta a la activa, las instrucciones tienen que hacer referencia al nbre de hoja, por ej;
Sheets("Hoja1").Range("A2:D5").Clear
Saludos ;)
Hola Elsa: Te cuento que si dejo el código como me lo diste, al mostrar el form me lo muestra vacío y si le agrego "activate" a estas líneas (Do While cells(x, 1).activate <> ""), me muestra los datos pero cuando este no existe busca hacia abajo sin detenerse. El código del form es
Private Sub UserForm_Initialize()
TextBox1 = ActiveCell
TextBox2 = ActiveCell.Offset(0, 1)
TextBox3 = ActiveCell.Offset(0, 2)
End Sub
Te agradezco tu tiempo
Te dejo marcadas en negrita las líneas a ajustar y agregar, que son las que seleccionan la celda.
Sub rutin()
x = 5
Cells(x, 1).Select
Do While Cells(x, 1) <> ""
If Cells(x, 1).Value = Range("D1").Value Then
Cells(x, 1).Select
UserForm1.Show
Exit Sub
Else: x = x + 1
End If
Loop
MsgBox "El dato no fue encontrado"
Perdón. Olvidé puntuar
Hola Elsa: realmente estoy impresionada por tus respuestas, no solo las dudas mías, sino todas las respuestas que has contestado en este foro. Soy una fanática de excel y VBA, el cual he aprendido sola. Te admiro y envidio tus conocimientos en el tema. Te deseo lo mejor.
En cuanto a la variante a mi código, está de diez, Gracias por tu pronta respuesta y tu dedicación.
Saludos
Angela

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas