Formulario para macro a la espera de pulsar el botón aceptar

Buenas. Veréis estoy intentando realizar una macro que, si detecta algún fallo, muestre por pantalla un mensaje de error y quede a la espera de que el usuario lo resuelva.
Por ejemplo, si en la celda... C1 se encontrara un dato que no debiera estar ahi, quisiera que mostrar un mensaje del tipo "Dato erróneo". Entonces la macro estaría a la espera de que el usuario cambiara el dato y diera a aceptar al mensaje. Después de aceptar, la macro seguiría la ejecución dónde lo dejó.
Tengo claro que no puedo hacerlo por un msgbox ni inputbox (puesto que no dejan editar nada antes de darle a aceptar, y aunque el inputbox pida un dato, tal vez el cambio a realizar sea borrar el valor de unas celdas concretas distintas a dónde se produjo el error) así que lo he estado realizando con un formulario. El problema es que, al desabilitarle el showmodal para poder editar el contenido de las sheets, la macro sigue ejecutándose aunque no le de a aceptar (produciéndose de esta manera fallos)
Así que, ahí me he quedado. Alguna idea de como solucionar esto? Empiezo a tener dudas de que sea posible hacerlo de alguna manera. Y sé que debe haber mil maneras para hacerlo sin parar la ejecución de la macro... Pero, si la hubiera me serviría después para otra aplicación que tengo en mente.
Bueno, a ver si entre todos le damos forma je je.

Muchas gracias de antemano!!

1

1 respuesta

Respuesta
1

No se si he captado bien lo que necesitas, pero a mi me ayudó mucho un trocito de código que me dieron y que en un TEXTBOX donde se introducen minutos, cuando se introduce un valor mayor que 59, nos da un error y no deja seguir hasta que el usuario rectifica dicho valor...

Espero que te pueda ayudar este código que a mi me ayudó bastante.

Un cordial saludo.

Koldo Ugarte.

P.D. Sustituye TextBox(N) por el valor de tu TextBox y las condición de error...

Private Sub TextBox(N)_Change()
If TextBox(N).Value > 59 Then
MsgBox "REVISE EL VALOR INTRODUCIDO ! ! !", vbCritical, "Error"
Else
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas