Mensaje de "Error" al introducir dato erroneo en Useform
publicado
Muy buenas de nuevo foreros! De nuevo vuelvo a pedir consejo a vosotros, genios del excel!
Os explico un poco lo que me sucede. Tengo un Useform (funciona perfectamente), que por medio de cinco textbox me pide diferentes datos:
Textbox1 es de tipo numerico
Textobox2 y 3 de tipo texto
Textbox 5 y 5 de tipo fecha
Y ademas tengo 5 optionbutton.
Para completar el useform, tengo el boton de "aceptar", que lo valida todo y el de cancelar, que lo cancela (obvio, no?)jeje. Bueno, al grano. Todo me funciona a la perfeccion, pero, para mejoralo un poco, me gustaria que si se introdujese en un campo algo erroneo (por ejemplo, en el textbox1 texto), saliese un mensaje de error.
Me da igual que el mensaje salga al dar al boton de aceptar o nada mas introducirlo en el textobox, pero lo que si que quiero es que si hay varios campos metidos y se introduce uno erroneo, no borrase del useform los que estan bien introducidos. ¿Me explique con claridad?
Os dejo el codigo que tengo. ¡Y muchas gracias por vuestro tiempo!
Private Sub CommandButton1_Click()
Dim c As Range
Call visualizarplantilla
Application.ScreenUpdating = False
Fila2 = Cells(1000000, 2).End(xlUp).Row
Fila3 = Fila2 + 1
Range("A" & Fila3) = CCur(TextBox1)
Range("A" & Fila3).Select
Selection.NumberFormat = "General"
Range("B" & Fila3) = LTrim(TextBox2)
Range("B" & Fila3).Select
For Each c In Selection
c.Value = StrConv(c.Value, vbUpperCase)
Next c
Range("C" & Fila3) = LTrim(TextBox3)
Range("D" & Fila3) = CDate(TextBox4)
Range("D" & Fila3).NumberFormat = "dd/mm/yyyy"
Range("E" & Fila3) = CDate(TextBox5)
Range("E" & Fila3).NumberFormat = "dd/mm/yyyy"
Range("B" & Fila3).Select
For Each c In Selection
c.Value = StrConv(c.Value, vbUpperCase)
Next c
Call anadirfila
Call anadirpestana
Call hipervincular
Call actualizarpestana
Call copiarformato
Call ocultarplantilla
End
Fila3 = 0
Fila2 = 0
ActiveSheet.DisplayPageBreaks = True
End Sub
Featured Replies
Archivado
Este tema está ahora archivado y está cerrado a más respuestas.
Muy buenas de nuevo foreros! De nuevo vuelvo a pedir consejo a vosotros, genios del excel!
Os explico un poco lo que me sucede. Tengo un Useform (funciona perfectamente), que por medio de cinco textbox me pide diferentes datos:
Textbox1 es de tipo numerico
Textobox2 y 3 de tipo texto
Textbox 5 y 5 de tipo fecha
Y ademas tengo 5 optionbutton.
Para completar el useform, tengo el boton de "aceptar", que lo valida todo y el de cancelar, que lo cancela (obvio, no?)jeje. Bueno, al grano. Todo me funciona a la perfeccion, pero, para mejoralo un poco, me gustaria que si se introdujese en un campo algo erroneo (por ejemplo, en el textbox1 texto), saliese un mensaje de error.
Me da igual que el mensaje salga al dar al boton de aceptar o nada mas introducirlo en el textobox, pero lo que si que quiero es que si hay varios campos metidos y se introduce uno erroneo, no borrase del useform los que estan bien introducidos. ¿Me explique con claridad?
Os dejo el codigo que tengo. ¡Y muchas gracias por vuestro tiempo!
Private Sub CommandButton1_Click()
Dim c As Range
Call visualizarplantilla
Application.ScreenUpdating = False
Fila2 = Cells(1000000, 2).End(xlUp).Row
Fila3 = Fila2 + 1
Range("A" & Fila3) = CCur(TextBox1)
Range("A" & Fila3).Select
Selection.NumberFormat = "General"
Range("B" & Fila3) = LTrim(TextBox2)
Range("B" & Fila3).Select
For Each c In Selection
c.Value = StrConv(c.Value, vbUpperCase)
Next c
Range("C" & Fila3) = LTrim(TextBox3)
Range("D" & Fila3) = CDate(TextBox4)
Range("D" & Fila3).NumberFormat = "dd/mm/yyyy"
Range("E" & Fila3) = CDate(TextBox5)
Range("E" & Fila3).NumberFormat = "dd/mm/yyyy"
Range("B" & Fila3).Select
For Each c In Selection
c.Value = StrConv(c.Value, vbUpperCase)
Next c
Call anadirfila
Call anadirpestana
Call hipervincular
Call actualizarpestana
Call copiarformato
Call ocultarplantilla
End
Fila3 = 0
Fila2 = 0
ActiveSheet.DisplayPageBreaks = True
End Sub