• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

VBA textbox bedraginvoer

Status
Niet open voor verdere reacties.

Vessie87

Gebruiker
Lid geworden
16 sep 2009
Berichten
5
Ik heb textbox waar een bedrag ingevoerd moet worden en bij het verlaten van de textbox moet het eruit zien als € 1.223,65 (voorbeeldje).

Met onderstaande code krijg ik het voor elkaar om het bedrag te laten zien. Maar nu komt het probleem:

Als ik een bedrag invoer via numpad en gebruik de "." als komma zijnde dan maakt ie er een ander getal van, bijvoorbeeld:

546.12 ---> 54.612,00

Dit is niet de bedoeling. Hoe is dit op te lossen? De bedragen worden ingevoerd via numpad. Bedankt alvast!!!

Code:
Private Sub TXbedrag_Exit(ByVal Cancel As MSForms.ReturnBoolean)

If IsNumeric(TXbedrag.Value) Then
TXbedrag.Value = Format(TXbedrag, "€ #,##0.00")
Exit Sub
Else
MsgBox ("Voer een bedrag in!")
TXbedrag.Value = ("")
End If

End Sub
 
Dit kan je volgens mij bij landinstellingen instellen in configuratiescherm van je computer zelf.
Daar druk je op knop deze indeling aanpassen.
Bij dit pop up scherm wijzig je volgend gegevens:
Decimaalteken veranderen in .
en Cijfergroeperingssymbool in "Spatïe" (dus een spatie neerzetten met de spatiebalk

Dan is volgens mij je probleem opgelost.
Hoor wel of het gelukt is
 
Op deze manier is het inderdaad zo dat de punt al comma wordt gezien. Echter wil ik wel een comma zien en tussen duizendtallen een punt. (bv: € 4.652,23). Als ik gewoon in excel de numpad punt gebruik wordt het gezien als comma, zou toch ook in een textbox moeten kunnen.

Is er een stukje code dat de numpad punt ingevoerd wordt als een comma?

Bedankt alvast!
 
Laatst bewerkt:
met zoiets?
Code:
TXbedrag.Value= Replace(TXbedrag.Value, ".", Application.DecimalSeparator)
    If IsNumeric(TXbedrag.Value) Then TXbedrag.Value = Format(TXbedrag.Value, "€ #,##0.00")
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan