Poner decimales en textbox y usando , en lugar del .

Tengo el siguiente código y no consigo que sea formato decimal con la (,) en lugar del (.)

Lo que quiero es conseguir esto 10,32 y no 10.32

    With ThisWorkbook.Worksheets("MATERIALES")
        .Cells(NewRow, 1).Value = Me.txtDescripcion
        .Cells(NewRow, 2).Value = Me.txtCapitulo
        .Cells(NewRow, 3).Value = Me.txtUd
        .Cells(NewRow, 4).Value = CDbl(txtRdto)
        .Cells(NewRow, 5).Value = CDbl(txtTarifa)
    End With

1 respuesta

Respuesta
1

Prueba esto:

        .Cells(NewRow, 4).Value = Format(CDbl(txtRdto),"#.000")
        . Cells(NewRow, 5).Value = Format(CDbl(txtTarifa),"#.000")

Si esto no funciona, el problema es el formato en el que tienes configurado el Excel. Tienes que cambiarlo. Aqui te paso la guia para cambiarlo

Buenas Gomzky, he revisado la configuración y he probado tu código, pero nada de esto funciona, le he dado mil vueltas y no se que puede ser.

Este es todo el código

'Alta de un registro
Private Sub Alta_Material_Click()
'Declaración de variables
'
Dim strTitulo As String
Dim Continuar As String
Dim TransRowRng As Range
Dim NewRow As Integer
Dim Limpiar As String
'
strTitulo = "Nuevo Material"
'
Continuar = MsgBox("Dar de alta los datos?", vbYesNo + vbExclamation, strTitulo)
If Continuar = vbNo Then Exit Sub
'
Cuenta = Application.WorksheetFunction.CountIf(Range("A:A"), Me.txtDescripcion)
'
If Cuenta > 0 Then
    '
    MsgBox "Este material '" & Me.txtDescripcion & "' ya se encuentra registrado", vbExclamation, strTitulo
    '
Else
    '
    Set TransRowRng = ThisWorkbook.Worksheets("MATERIALES").Cells(1, 1).CurrentRegion
    NewRow = TransRowRng.Rows.Count + 1
    With ThisWorkbook.Worksheets("MATERIALES")
        .Cells(NewRow, 1).Value = Me.txtDescripcion
        .Cells(NewRow, 2).Value = Me.txtCapitulo
        .Cells(NewRow, 3).Value = Me.txtUd
        .Cells(NewRow, 4).Value = CDbl(txtRdto)
        .Cells(NewRow, 5).Value = CDbl(txtTarifa)
    End With
    '
    MsgBox "Alta exitosa.", vbInformation, strTitulo
    '
    Unload Me
End If
'
End Sub

Pásame la hoja de cálculo y le echaré un vistazo.

[email protected]

¡Gracias! 

He solucionado con lo siguiente:

Private Sub txtTarifa_Exit(ByVal Cancel As MSForms.ReturnBoolean)
If InStr(txtTarifa, ".") > 0 Then
nuevo = Replace(txtTarifa.Value, ".", ",")
txtTarifa.Value = nuevo
End If
End Sub

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas