Textboxen van tot en met optellen

Status
Niet open voor verdere reacties.

jacobusm

Gebruiker
Lid geworden
19 aug 2007
Berichten
20
Aan de hand van een userform probeer ik wat textboxen op te tellen, echter de code die ik daarvoor gebruikt kan volgens mij vereenvoudigd worden, maak nu een voorwaarde per textbox en ik denk dat dit ook een code kan zijn die de voorwaarde bekijkt van textbox 1 t/m textbox5 maar weet alleen niet hoe.

Alvast bedankt voor het meedenken.
zie bijlage voor voorbeeld bestand.
 

Bijlagen

Leeg eens uit wat je precies wilt.
Je selecteert de cellen A1 en A2 maar doet er niets mee.
Je gebruikt een variabele x die niet is gedeclareerd en dus ook geen waar de heeft. Als je dus Option Explicit aan zet dan zegt de compiler dat het niet goed is.

De structuur moet in ieder geval helemaal anders, al was het alleen maar voor de leesbaarheid.
(Positieve kritiek)
 
Laatst bewerkt:
Ik probeer een aantal waardes op te tellen doormiddel van invoer in een textbox, met als voorwaarde dat als een van de textboxen ingevuld is alles bij elkaar opgeteld wordt en geplaats in een vooraf bepaalde cel.

Hoop dat dit duidelijk is.
 
Ok.
Probeer het eens zo met de code achter de Ok knop:

Code:
Private Sub CommandButton1_Click()

    Dim i As Integer, ValTB(10) As String

    ValTB(1) = TextBox1.Value
    ValTB(2) = TextBox2.Value
    ValTB(3) = TextBox3.Value
    ValTB(4) = TextBox4.Value
    ValTB(5) = TextBox5.Value
    ValTB(6) = TextBox6.Value
    ValTB(7) = TextBox7.Value
    ValTB(8) = TextBox8.Value
    ValTB(9) = TextBox9.Value
    ValTB(10) = TextBox10.Value
    
    Range("A1").Select
    
    For i = 1 To 10
        If i = 6 Then
            Range("A2").Select
        End If
        
        Select Case i
        Case Is < 6
        If ValTB(i) > "" Then
            Selection(x + 2, 1) = [a2] + Format(ValTB(1) + ValTB(2) + ValTB(3) + ValTB(4) + ValTB(5))
            Selection(x + 2, 2) = Date
        End If

        Case Else
        If ValTB(i) > "" Then
            Selection(x + 3, 1) = [A3] + Format(ValTB(6) + ValTB(7) + ValTB(8) + ValTB(9) + ValTB(10))
            Selection(x + 3, 2) = Date
        End If
        End Select
        
        Me("TextBox" & i).Value = ""
    Next i
    
End Sub
 
Laatst bewerkt:
Het kan heel simpel op deze manier:
Code:
Dim i As Integer, iVal As Double

For i = 1 To 5
    If Me("TextBox" & i) <> "" And IsNumeric(Me("TextBox" & i)) Then
        iVal = iVal + Me("TextBox" & i)
    End If
Next i
Range("A1").Value = iVal

iVal = 0
For i = 1 To 5
    If Me("TextBox" & i) <> "" And IsNumeric(Me("TextBox" & i)) Then
        iVal = iVal + Me("TextBox" & i)
    End If
Next i
Range("A2").Value = iVal


For i = 1 To 10
    Me("TextBox" & i).Value = ""
Next i
Unload Me
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan