TextBoxen bij elkaar optellen

Status
Niet open voor verdere reacties.

ExelHenk

Gebruiker
Lid geworden
22 mrt 2011
Berichten
74
Beste VBA experts,

Ik ben bezig met een UserForm in VBA. In dit UserForm kan de gebruiker voor elke dag het gewerkte aantal uren invoeren in een TextBox. TextBox1 is maandag, TextBox7 is zondag. Graag wil ik dat er in TextBox 8 de som van het aantal gewerkte uren wordt weergegeven. Het is mogelijk dat een aantal TextBoxen niet ingevuld wordt (de mensen werken geen 7 dagen per week) en het zou helemaal mooi zijn dat er tijdens het invoeren al een som wordt weergegeven van de tot dan toe ingevulde uren.

Weet iemand hoe dit mogelijk is?

Alvast bedankt!
 
Laatst bewerkt:
Met de nz functie moet dat kunnen:

nz(Textbox1) + nz(Textbox2) etc.
 
Bedankt voor je snelle antwoord. Hoe moet ik dit invullen?
Als ik het op de volgende manier invul werkt het niet

Private Sub TextBox8_Change()
nz (TextBox1) + nz(TextBox2) etc.
End Sub

Groetjes
 
Als het een Excel formulier betreft, werkt het niet met NZ. Gebruik dan Val:

Code:
Private Sub TextBox1_Change()
    Me.TextBox4 = Val(Me.TextBox1) + Val(Me.TextBox2) + Val(Me.TextBox3)
End Sub
Code:
Private Sub TextBox2_Change()
    Me.TextBox4 = Val(Me.TextBox1) + Val(Me.TextBox2) + Val(Me.TextBox3)
End Sub
Code:
Private Sub TextBox3_Change()
    Me.TextBox4 = Val(Me.TextBox1) + Val(Me.TextBox2) + Val(Me.TextBox3)
End Sub
 
Dankje!
Deze codes werken perfect.
@ Bakk4318: ook bedankt voor de hulp. Volgende keer zal ik erbij zetten dat het Excel betreft. Wist niet dat er verschillen zitten in de VBA's. En mijn naam is ook niet helemaal duidelijk, de "c" van Excel ontbreekt :P

Groetjes ExelHenk
 
Is het trouwens ook mogelijk om de formule te veranderen is iets als : TextBox4 = Som TextBox1 tot en met TextBox3?
 
Nope... Althans: niet volgens mijn boekjes.
 
Je zou het eventueel zo kunnen oplossen
Code:
Private Sub TextBox1_Change()
  optellen
End Sub
Private Sub TextBox2_Change()
  optellen
End Sub
Private Sub TextBox3_Change()
  optellen
End Sub
Sub optellen()
dTotal = 0
For i = 1 To 3
    dTotal = dTotal + Val(Me("Textbox" & i))
 Next
 Me.TextBox4 = dTotal
End Sub
 
Bedankt. Ik denk dat mijn vraag bij deze helemaal opgelost is!

Groetjes,
ExelHenk
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan