tellen binnen een userform

Status
Niet open voor verdere reacties.

boule

Gebruiker
Lid geworden
20 jan 2011
Berichten
42
Toepassing :

In de userform moeten in textboxen getallen worden ingevuld.
Deze getallen zijn een aantal inschrijvingen per club.
Ik zou graag tijdens het inbrengen van de getallen in dezelfde in een textbox met daarbij de omschrijving "totaal tot nu : " het totaal van de textbox invoer willen laten zien.

In de sub van de textbox kan ik de gegevens uit de textbox in een dimveld zetten,

Code:
Private Sub TextBox11_Change()
tel11 = TextBox11 + 0
Call teltotaal
End Sub

in

Code:
sub teltotaal() 


Dim Totaal As Double
Dim tel11 As Double
Dim tel12 As Double

tel11 = TextBox11 + 0
tel12 = TextBox12 + 0

totaal1 = tel11 + tel12

TextBox47 = totaal1
End Sub
Uiteraard staan er veel meer textboxen die geteld moeten worden.
In de private sub staan wel de waardes maar na de call zijn die weg.

Heeft iemand een idee om dit op te lossen

bij voorbaat dank
 
Laatst bewerkt door een moderator:
Gebruik svp codetags !

Code:
Private Sub TextBox11_Change()
   textbox11.tag=val(textbox11.tag)+Val(textbox11.Text)
End Sub

Private Sub TextBox12_Change()
   textbox11.tag=val(textbox11.tag)+Val(textbox12.Text)
End Sub
 
Bedankt SNB

Beste SNB bedankt voor je reactie.

Ik heb geprobeerd de instructies die je hebt getoond te gebruiken maar kreeg geen resultaat. Is het mogelijk wat uitgebreider te antwoorden.

Er zijn dus in totaal 20 textboxen ( Textbox20 t/m 40) van waaruit de ingebrachte waardes in textbox47 zouden moeten worden getoond.
De telling van de velden zou moeten gebeuren nadat een waarde in een textbox wordt gedaan en met tab naar de volgende textbox wordt gegaan.

Gebruiker weet het totaal van de waardes en kan dan steeds controleren of de waarde al is bereikt of overschreden is.

Bij voorbaat dank

Boule
 
Tellen in Userform oplossing (deels) gevonden ?

Beste SNB,

Je antwoord heeft me op de geode weg gezet (denk ik).
Ik wist nu in welke richting er gezocht moest worden.
De oplossing (gedeeltelijk) voor mij was de volgende :
Code:
            Private Sub TextBox11_Change()
            Dim NewVal As Integer
            NewVal = Val(TextBox11.text)
            TextBox45 = NewVal
            End Sub
            Private Sub TextBox12_Change()
            Dim NewVal As Integer
            NewVal = Val(TextBox45.text) + Val(TextBox12.text)
            TextBox45 = NewVal
            End Sub
            Private Sub TextBox13_Change()
            Dim NewVal As Integer
            NewVal = Val(TextBox45.text) + Val(TextBox13.text)
            TextBox45 = NewVal
            End Sub
 [end code]

Zo gaat het nog even door.
Ik heb voor deze wijze gekozen omdat er geen _ als continuation teken werd geaccepteerd.
Er is nog een probleem.
Wanneer er een getal boven de 10 wordt ingetikt (bv 12) , dan wordt eerst een 1 geteld en daarna het hele getal.
Is dit te voorkomen ?
Nu kan ik me alleen voorstel het getal in een extra veld op te bergen en daarna de waarde van het 10 tal er weer af te trekken.
Vergt, denk ik, aardig wat coding

In ieder geval bedankt

Boule
 
Gebruik svp code tags.

Omdat jij het bent: zie de bijlage
 

Bijlagen

Gebruik dan het _AfterUpdate-event ipv het _Change-event. Dan start de code pas bij het verlaten v/h object.(Enter of Tab)
 
dank, dank

Beste snb,

hartelijk dank voor je reactie.
Je voorbeeld was prima,
Omdat ik het totaal in de userform zelf wilde hebben had ik het antwoord weer in een textbox gezet.
Ging dus prompt fout. Uitkomst daarna in een Label gezet. Resultaat precies wat ik nodig had en eigenlijk eenvoudig.
Maar dat is alles als je weet hoe.

nogmaals hartelijke dank, ook aan anderen die gereageerd hebben

Boule totaal.jpg
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan