Formato numérico Form varios TexBox´s

Te molesto nuevamente. He tratado de adaptar tus recomendaciones anteriores a otro formulario en el que tengo 10 TexBox´s, a los cuales les quiero dar el mismo formato numérico que el anterior formulario. Entonces hago lo siguiente:
Para cada TexBox:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
TextBox1.Value = Format(Val(TextBox1), " #,##0.## ")
End Sub
Luego en el CommandButton que lleva los números a la hoja de cálculo:
Private Sub CommandButton2_Click()
Range("c56").Select
Selection.NumberFormat = " #,##0.## "
Sheets("Informe Final").Range("c56") = CDbl(UserForm2.TextBox1.Value)
Y repito las 3 líneas anteriores para cada TexBox
...
End Sub
No creo que sea lo más práctico pero mis limitados conocimientos de VBA hace que encuentre estas soluciones.
El problema está en que si yo no completo los 10 TexBox´s con números me da un error del tipo: "Se ha producido el error 13 en tiempo de ejecución. El tipo no coincide." Sin embargo, si completo todos los TexBox´s no tengo problema.
¿Sabes qué puede estar pasando?
Gracias de antemano

1 respuesta

Respuesta
1
Para el Error 13 puedes Validar que el Texbox1 traiga un numero:
If IsNumeric(UserForm2.TextBox1.Value) = True Then Sheets("Informe Final").Range("C56") = CDbl(UserForm2.TextBox1.Value)
Con respecto a repetir las lineas de código para pegar en otras celdas esta bien, no son muchas. Si son demasiadas buscaremos la manera de realizar un ciclo para ejecutar esta acción.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas