Saltar al contenido

Formato de TextBox con decimales


Recommended Posts

publicado

Hola de nuevo amigos, hacía tiempo que no estaba en el foro y veo que ha habido cambios.

Sé que el tema de mi consulta no es nuevo, pero no encuentro una solución adecuada a mis necesidades.

Se trata de que un textbox ingrese datos con formato de decimales con 'coma' aunque la carga se haga con formato de 'punto'.

Es decir, reemplazar (".") por (",").

Gracias.

ejemplo.xlsm

publicado

Hola amigo home can, prueba con esto

TextBox5.Text = Val(Replace(TextBox5.Text, ",", "."))

TextBox5.Text = Format(TextBox5.Text, "##.00")

Saludos

publicado

No hay que confundir formato con tipo de dato.  

Un texto solo puede convertirse a numérico si contiene números y el separador decimal de acuerdo con la configuración. De lo expuesto por home can, deduzco que su separador es la coma, pero también quiere dar por válido el punto como separador decimal.

Tal como he dejado el procedimiento del botón Registrar, se admiten la coma y el punto como separador decimal en los TextBox4-9, de paso, he validado los datos de entrada.

 

Dim Fila As Long
'--
Private Sub Registrar_Click()
Dim EsError As Boolean
'--
TextBox1.BackColor = vbWhite
If Not IsDate(TextBox1) Then
   EsError = True
   TextBox1.BackColor = vbYellow
End If

TextBox3.BackColor = vbWhite
If Trim(TextBox3) = "" Then
   EsError = True
   TextBox3.BackColor = vbYellow
End If

For x = 4 To 9
   Controls("TextBox" & x).BackColor = vbWhite
   Controls("TextBox" & x) = Replace(Controls("TextBox" & x), ".", ",")
   If IsNumeric(Controls("TextBox" & x)) = False And _
      Not Trim(Controls("TextBox" & x)) = Empty Then
      Controls("TextBox" & x).BackColor = vbYellow
      EsError = True
   End If
Next
'--
If EsError = True Then Exit Sub
Fila = Hoja1.Range("A" & Rows.Count).End(xlUp).Row + 1
      Range("A" & Fila) = CDate(TextBox1)
      Range("B" & Fila) = TextBox2
      Range("C" & Fila) = TextBox3
      For x = 4 To 9
         If IsNumeric(Controls("TextBox" & x)) And _
            Not Trim(Controls("TextBox" & x)) = Empty Then
            Cells(Fila, x) = CCur(Controls("TextBox" & x))
         End If
      Next
End Sub

 

  • Silvia bloqueó este tema

Archivado

Este tema está ahora archivado y está cerrado a más respuestas.

×
×
  • Crear nuevo...

Información importante

Echa un vistazo a nuestra política de cookies para ayudarte a tener una mejor experiencia de navegación. Puedes ajustar aquí la configuración. Pulsa el botón Aceptar, si estás de acuerdo.