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

getalnotatie in een textbox userform

Status
Niet open voor verdere reacties.
HSV,

Er komt schot in de zaak... :thumb:

De formule werkt maar enkel als de ingegeven tijd 50:00 (€2.500,00) of 50:30 (€2.525,00) is dan is het resultaat 100% juist.

Van zodra een andere tijd word ingegeven krijg ik een uitkomst waar de coma verkeerd staat :

vb 50:15 = € 25.125,00 ipv € 2512,50

vb 50:05 = € € 250.416.666.666.667,00 ipv € 2.504,16

Zoveel krijgen die nie zenne... :shocked::P


Waarom day & hr? (terwijl wij rekenen met uren en minuten)


Huidige formule is nu : (Ik heb nog even de oude formule laten staan met een '

Code:
Private Sub txtJanuari_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    With Me
        If IsEmpty(.txtJanuari) Then Exit Sub
[COLOR="#FF0000"]        txtJan = Application.Convert(txtJanuari.Value, "day", "hr") * txtTarTC.Value[/COLOR]
'        .txtJan.Value = (CDate(.txtJanuari.Value) * Val(.txtTarTC.Value))
        Me.txtJan = Format(Me.txtJan, "Currency")
    End With
End Sub

Greetz

Pascal
 
Laatst bewerkt:
Als ik het zo zie zit er helemaal geen schot in. Geen van de adviezen volg je op.
 
snb,

Sorry, maar ik weet niet wat je bedoeld, ik heb de formule van HSV er toch in geplaatst?

Ok, die ene regel mag weggelaten worden * ' .txtJan.Value = (CDate(.txtJanuari.Value) * Val(.txtTarTC.Value)) *

En ik heb _Change vervangen door _Exit op advies van edmoor. * (ByVal Cancel As MSForms.ReturnBoolean) * had ik eerst weggelaten maar dat werkte niet.



Code:
Private Sub txtJanuari_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    With Me
        If IsEmpty(.txtJanuari) Then Exit Sub
[COLOR="#FF0000"]        txtJan = Application.Convert(txtJanuari.Value, "day", "hr") * txtTarTC.Value[/COLOR]
        Me.txtJan = Format(Me.txtJan, "Currency")
    End With
End Sub
 
Laatst bewerkt:
snb

Ik heb ook jouw oplossing uitgetest en dan vermeld wat er fout ging in #17... :confused:

Ik heb het grootste respect voor alle mensen hier die er alles aan doen om een problem opgelost te krijgen.

Mijn uitleg is inderdaad niet altijd volledig of duidelijk... mijn excuses daarvoor...

Ik heb alle aangereikte oplossingen uitgeprobeerd en die resulteren nu in deze formule :

Code:
Private Sub txtJanuari_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    With Me
        If IsEmpty(.txtJanuari) Then Exit Sub
        txtJan = Application.Convert(txtJanuari.Value, "day", "hr") * txtTarTC.Value
        Me.txtJan = Format(Me.txtJan, "Currency")
    End With
End Sub

Met als enig problem nog alle minuten behalve :00 en :30 zoals beschreven in #21

Greetz

Pascal
 
Ik krijg bij invoer 50:15 → 2512,5
bij 50:05 → 2504,166666667

En dan zet je de 'formatcurrency' ervoor om het af te ronden.
Code:
 txtJan = FormatCurrency(Application.Convert(txtJanuari.Value, "day", "hr") * txtTarTC.Value)
 
Laatst bewerkt:
Harry,

Dat is em.:thumb::thumb:



Bedankt, ook aan de andere specialisten voor de aangeboden oplossingen.


Tot later :D


Greetz

Pascal
 
Ik neem aan dat de rode lijn in de code dan overbodig is?

Code:
Private Sub PrestatiesBerekenen_Exit(ByVal Cancel As MSForms.ReturnBoolean)
    With Me
        If IsEmpty(.txtJanuari) Then Exit Sub
        txtJan = FormatCurrency(Application.Convert(txtJanuari.Value, "day", "hr") * txtTarTC.Value)
        [COLOR="#FF0000"]Me.txtJan = Format(Me.txtJan, "Currency")[/COLOR]
    End With
End Sub
 
Dit zou genoeg moeten zijn toch?

Code:
Private Sub PrestatiesBerekenen_Exit(ByVal Cancel As MSForms.ReturnBoolean)
 If not IsEmpty(txtJanuari) Then txtJan = FormatCurrency(Application.Convert(txtJanuari.Value, "day", "hr") * txtTarTC.Value)
End Sub
 
Harry,

Jep dit werkt ook, dit is dus mijn onwetendheid dat verschillende comanndo's in een enkele regel kunnen opgebouwd worden. :thumb:

Maar met deze formule ben ik altijd verplicht iets in te vullen of ik krijg de error : Fout 13 tijdens uitvoering - Typen komt niet met elkaar overeen

En de txtboxen in mijnformulier (linkse textboxen bij iedere maand) voor de prestaties kunnen leeg zijn. (Zie formulier in bestand in bijlage)


Ik probeer voor mezelf stap voor stap iets te leren en hoe je iets kan opbouwen. Ik kan natuurlijk ook de eindvraag onmiddellijk stellen maar dan leer ik minder bij... :rolleyes:



Mijn formulier is opgebouwd met onder andere 2 textboxen per maand. De linkse voor de prestatie, de rechtse voor de €. Vandaar mijn vraag voor de formule voor berekening. (1e stap)

Moet ik deze formule voor iedere maand herhalen met hun respectievelijke txtboxen?


De bedoeling later is om dit formulier te gaan gebruiken om een geselecteerde rij in de sheet up-to-daten.

Ik heb ondertussen al geleerd hoe ik het formulier kan opbouwen met de nodige gegevens uit de geselecteerde rij met LoadTextBoxes().....

Ik zou dit formulier later ook willen gebruiken om de maandelijkse prestaties in te voeren (Met het resultaat reeds zichtbaar in het formulier dank zij jullie/jouw formule)

en dan de rij updaten met die invoer.

Het internet biedt verschillende mogelijkheden aan maar toch niet voor mijn specifieke situatie... Ik probeer er dan iets uit te halen dat voor mij van toepassing zou kunnen zijn maar niets lukt... :o

In bijlage de laatste versie van mijn bestand

in de Tab Apothekers heb ik een button geplaatst om het form te laden


Bekijk bijlage Prestaties CCF Test.xlsb

Greetz
 
Laatst bewerkt:
Code:
If txtJanuari <> "" Then txtJan = FormatCurrency(Application.Convert(txtJanuari.Value, "day", "hr") * txtTarTC.Value)
 
Bedankt...

Moet ik deze code voor iedere maand apart toepassen met hun respectievelijke textboxen?

Greetz
 
Wat zou je denken?
 
Ja dus... :D:D:D

Ik heb namelijk ook al gezien dat 1 bepaalde code kan opgebouwd worden dat van toepassing is voor verschillende sheets i.p.v. die code in iedere sheet te opnieuw te schrijven.

vandaar de vraag.

Ik weet wat mij te doen staat.

Bedankt voor jullie geduld en oplossingen. :confused:


Greetz
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan