• 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.

Opmaak "financieel" overbrengen van textbox naar werkblad?

Status
Niet open voor verdere reacties.

Gielleke

Gebruiker
Lid geworden
9 feb 2009
Berichten
110
Beste leden,

Graag wou ik beroep doen op jullie kennis.:eek:

In mijn voorbeeld, zie je 2 textboxen staan naast "inkomsten" en "uitgaven". Daar komen dus geld bedragen in te staan. Deze breng ik over naar mijn werkblad naar kolom C en D waar de opmaak is ingesteld op "financieel" voor gans de kolomen.

Wat is nu mijn probleem: Als ik een getal in mijn textbox invul (vb 230,00) dan komt deze op mijn werkblad als een gewoon getal en dan nog eens met een foutmelding.

Ik zou graag hebben dat deze wordt weergegeven als een financieel notatie.:)

Kunnen jullie mij soms iets meer vertellen of helpen?
Hartelijk Dank!!

Mvg,
 

Bijlagen

  • Test formulier.xls
    46,5 KB · Weergaven: 40
Het enige wat je hoeft te doen is .Value toevoegen aan de code.
Zie hieronder:

Code:
Private Sub cmdInvoeren_Click()
x = Cells(Rows.Count, "A").End(xlUp).Row + 1
Range("A" & x) = txtDatum
Range("B" & x) = cboBetalingsmethode
Range("C" & x) = txtInkomsten[B].Value[/B]
Range("D" & x) = txtUitgaven[B].Value[/B]
End Sub

Met vriendelijke groet,


Roncancio
 
Beste Roncancio,

Bedankt voor jou snelle reactie.
De oplossing zoals u vertelde werkt.

Maar zie wel dat excel nog een foutmelding geeft op de waarden die men ingeeft met een ","

vb: als je in een textbox 260 of 260.20 dan geeft hij wel een goed resultaat.
Enkel als men in het textbox 260,50 ingeeft met een komma dan werkt hij niet meer.

Is er daar nog een oplossing voor?

Alvast bedankt!!:)
Mvg,
 

Bijlagen

  • Test formulier.xls
    46 KB · Weergaven: 26
Tuurlijk.
Code:
Private Sub cmdInvoeren_Click()
x = Cells(Rows.Count, "A").End(xlUp).Row + 1
Range("A" & x) = txtDatum
Range("B" & x) = cboBetalingsmethode
Range("C" & x) = CDbl(txtInkomsten.Value)
Range("D" & x) = CDbl(txtUitgaven.Value)

End Sub

CDbl converteert de waarde naar een Double variabele.


Met vriendelijke groet,


Roncancio
 
Beste Roncancio,

Heb even de code aangepast.:)
Zoals u merkt werkt deze stukje voor stukje beter.:D

Maar nu krijg ik nog enkel een foutmelding na het plaatsen.
"Fout type 13" in vba

Alvast bedankt!!
Mvg,
 

Bijlagen

  • Test formulier.xls
    46,5 KB · Weergaven: 24
:shocked::shocked:
Op welke regel krijg je de foutmelding?

Ik krijg namelijk helemaal geen foutmelding.

Met vriendelijke groet,


Roncancio
 
Beste Roncancio,

Gebruikt u ook excel 2007? Misschien ligt het daar aan?

Alles werkt goed, maar als ik een bedrag vb: 260,25 intyp en op invoer druk.
Plaatst hij het bedrag eigenlijk wel mar krijg ook op het zelfde moment een foutmelding van visual basic "dat de typen niet overeen komen"

Ken er niet zo veel van maar, kanhet niet zijn dat ik mijn textboxen nog als variable moet benoemen? Zo iets als "Dim txtInkomsten As Double" ??:eek:

Misschien is dat de fout.
Hartelijk dank!!

Mvg,
 
Bij mij in Excel 2007 werkt het perfect zonder foutmelding. Naar de oorzaak van de foutmelding bij jou kan ik slechts raden. Heb je misschien nog een bestand openstaan wanneer je dit bestand gebruikt?
 
Hey mensen,

Nu val ik zelf van mijn stoel!!:shocked:

Als ik bij mijn inkomsten 260,10 vb in typ en bij uitgaven tegelijk 260,10 dan krijg ik geen foutmelding en is het zoals het moet zijn.:D

Maar als er maar één textbox is ingevuld met een bedrag krijg ik de foutmelding.

Raar maar waar.:D

Mvg,
 
Voor het geval je niet naar de foutmelding heb gekeken:
Code:
Range("D" & x) = CDbl(txtUitgaven.Value)
of wanneer je het andere tekstvak leeg laat ("C" & x)
Nu heb ik weinig verstand van VBA maar je zult of een nul in moeten geven of de code aanpassen. Overigens als je een nul ingeeft komt er in de cel (vanwege de opmaak Financieel): € - te staan. Als je dat niet hinderlijk vindt kun je het zo laten.
 
Laatst bewerkt:
Gielleke,

Hij schrijft de getallen nu wel normaal weg als je het Num.Toetsenbord gebruikt.
Ik heb dit weggehaald.
Code:
Range("D" & x) = [COLOR="Red"]CDbl([/COLOR]txtUitgaven.Value[COLOR="red"])[/COLOR]
Range("D" & x) = txtUitgaven.Value
 

Bijlagen

  • Test formulier-1.xls
    48,5 KB · Weergaven: 34
Laatst bewerkt:
Hey Hoornvan,

Tis allemaal raar.:D

Werkt het ééne niet dan wel het andere weer.:p

Ik wacht nog even af misschien komt er nog wel iemand met een oplossing en nog iets anders als de vorige.

Wat niet wil zeggen dat de laaste oplossingen al goed zijn!!

Alvast bedankt.
Mvg,
 
Beste Hoornvan,

Het zou logischer geweest zijn dat men een komma in geeft in de textbox.
Maar misschien heeft het ook zijn voordeel om alleen te kunnen werken met het numeriek klavier doormiddel van het punt.:)

Alvast bedankt!!
Mvg,
 
Gielleke,

Het zou logischer geweest zijn dat men een komma in geeft in de textbox.
Met getallen werk ik altijd met het Num.Toesenbord en word de punt altijd een , ook als je dat in een cel doet.
Met het normale toetsenbord moet je wel de , gebruiken anders komt er een punt te staan.
Ik denk dat dit het probleem is bij je.
 
Ik heb het even geprobeerd en als je met het gewone toetsenbord een punt zet word het ook een komma bij het wegschrijven.
Doe je de komma dan schrijft hij het als text weg en komt het euro teken er niet voor.
 
Beste,

Zoals u zegt is het gebruik van het . op het numeriek klavier echt wel beter!!:thumb:

Dan rest er mij nog alleen iedereen van harte te bedanken!!

Bedankt.:p

Mvg,
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan