Problema formato moneda de más de 1000€ en textbox (vba excel)

Tengo un textbox (txt_importe) donde me calcula el importe de dos textbox ( txt_cantidad.Value * txt_compra. Value).

El problema viene cuando el importe supera los 1000€. Me coloca un numero solo y sin formato moneda.

Dejo el código que tengo en el txt_cantidad:

Private Sub txt_cantidad_Change()
If txt_cantidad = "" Then
txt_importe = ""
txt_stock_final = ""
    Exit Sub
Else
    importe = txt_cantidad.Value * txt_compra.Value
    stock_final = txt_stock_inicial.Value + txt_cantidad.Value
    txt_importe.Value = importe
    txt_importe = Format(txt_importe, "currency")
    txt_stock_final = stock_final
    txt_stock_final = Format(txt_stock_final, "0")
End If
End Sub

Y aqui la imagen de lo que pasa

Si os dais cuenta, en el txt_cantidad con 83 todo funciona bien, pero con 84 (al pasar de los 1000€) ya coloca el numero.

¿Sabéis qué puede pasar?

1 respuesta

Respuesta
2

Intenta así:

Private Sub txt_cantidad_Change()
If txt_cantidad = "" Then
txt_importe = ""
txt_stock_final = ""
Else
    importe = txt_cantidad.Value * txt_compra.Value
    stock_final = txt_stock_inicial.Value + txt_cantidad.Value
    txt_importe = Format(importe, "currency")
    txt_stock_final = Format(stock_final, "0")
End If
End Sub

¡Gracias! 

Nada, hace lo mismo. Coloca el numero solo al pasar de 1000€

¿Esta muy raro cuando pasa de los 2000 también te coloca el 2 o se queda en 1?

¡Gracias!

Si, también me coloca el 2 si pasa de 2000, el 3 si pasa de 3000y así sucesivamente.

He encontrado el error:

Private Sub txt_cantidad_Change()
If txt_cantidad = "" Then
txt_importe = ""
txt_stock_final = ""
Else
    importe = txt_cantidad.Value * txt_compra.Value
    stock_final = txt_stock_inicial.Value + txt_cantidad.Value
    txt_importe = importe
'quitando esta linea de codigo funciona perfecto pero no puedo colocar el formato moneda en el textbox.
'    txt_importe = Format(txt_importe, "currency") 
    txt_stock_final = stock_final
    txt_stock_final = Format(stock_final, "0")
End If
End Sub

Supongo que tendra que ver con la configuracion del pc. Pero he mirado no he encontrado algo anomalo!!!

Bueno, pues si. Volví a resetear la configuración de moneda del pc y ahora si funciona.

La cuestión es que yo no toque nada de la confuiguracion!

Ya decía yo, en mi computadora, corría perfecto.

Añade tu respuesta

Haz clic para o

Más respuestas relacionadas