VBA opdrachten

Status
Niet open voor verdere reacties.

aonocster

Nieuwe gebruiker
Lid geworden
22 mei 2011
Berichten
4
Heey iedereen,
ik heb een paar opdrachten (4 hele korte) gemaakt voor informatica, 2 werken goed alleen de laatste 2 daar heb ik een gevoel dat iets niet klopt. Bij de eerste krijg je het antwoord en tegelijkertijd de som. (ik ken alleen de antwoorden de vragen niet) maar bij de vierde opdracht staat er vul antwoord in maar je krijgt de vraag niet te zien zodat je de antwoord kan invullen. Wat klopt er hier niet?
Ik heb er uren aan gezetten.
Alvast bedankt voor jullie mederwerking

Code opdracht 3:
Private Sub CommandButton1_Click()
Dim Invoer As Integer
Dim Invoer2 As Integer

'Willekeurig
Invoer = Int(Rnd * 10) + 1
Label1.Caption = Invoer

Invoer2 = Int(Rnd * 10) + 1
Label2.Caption = Invoer2

Label3.Caption = Invoer + Invoer2

End Sub


Code opdracht 4:

Private Sub CommandButton1_Click()
Dim Invoer As Integer
Dim Invoer2 As Integer

'Willekeurig
Invoer = Int(Rnd * 10) + 1
Label1.Caption = Invoer

Invoer2 = Int(Rnd * 10) + 1
Label2.Caption = Invoer2

Label3.Caption = Invoer + Invoer2

End Sub

Private Sub CommandButton2_Click()
Dim Invoer1 As Integer
Dim Invoer2 As Integer
Dim uitvoer As String

Invoer1 = Label3.Caption
Invoer2 = TextBox1.Text

If Invoer1 = Invoer2 Then
uitvoer = "Goed"
Label4.Caption = uitvoer
Else
uitvoer = "Fout"
Label4.Caption = uitvoer
End If

End Sub
 
Zou je je code willen opmaken met de CODE tag (knop #)? Dan is hij wat leesbaarder. Verder is je vraag niet helemaal duidelijk... Opdracht 3 en 4 zijn zo te zien hetzelfde... De code bij CommandButton2 gaat er vanuit dat je een waarde invult in een tekstvak. Dat zal, samen met de knop, ongetwijfeld op je formulier staan.... Zo niet, dan valt er uiteraard ook niks te berekenen. Wil je een vraag voor een getal, dan moet je Inputbox gebruiken:

Code:
Private Sub CommandButton2_Click()
Dim Invoer1 As Integer, Invoer2 As Integer

Invoer1 = Label3.Caption
Invoer2 = InputBox("Vul een getal in", "Getal 2")

If Invoer1 = Invoer2 Then
    Label4.Caption = "Goed"
Else
    Label4.Caption = "Fout"
End If

End Sub
 
Als eerste hartelijk dank voor je reactie. Ik heb opdracht 3 uitgevogeld, om de antwoord niet te geven haal je gewoon de laatste regel weg (van label3.caption= invoer + invoer2)

Code:
Private Sub CommandButton1_Click()
Dim Invoer As Integer
Dim Invoer2 As Integer
 
'Willekeurig
Invoer = Int(Rnd * 10) + 1
    Label1.Caption = Invoer
   
Invoer2 = Int(Rnd * 10) + 1
    Label2.Caption = Invoer2
   
Label3.Caption = Invoer + Invoer2
 
End Sub[QUOTE][/QUOTE][CODE]



opdracht 4 klopt niet echt ik denk dat je dus een som moet krijgen, dus 8 + 1, dan vul je zelf de antwoord in textbox1 en dan druk je op controleer antwoord (commandbutton2). als het goed is moet je in Label4 goed krijgen en anders fout.
Alleen weet ik niet of je dan als je op controleer antwoord drukt je de uitkomst te zien moet krijgen of niet. kun je mij vertellen wat je in allebei de gevallen moet invullen?




[QUOTE][/QUOTE][CODE]
Private Sub CommandButton1_Click()
Dim Invoer As Integer
Dim Invoer2 As Integer
 
'Willekeurig
Invoer = Int(Rnd * 10) + 1
    Label1.Caption = Invoer
   
Invoer2 = Int(Rnd * 10) + 1
    Label2.Caption = Invoer2
   
Label3.Caption = Invoer + Invoer2
End Sub


Private Sub CommandButton2_Click()
Dim Invoer1 As Integer
Dim Invoer2 As Integer
Dim uitvoer As String
 
Invoer1 = Label3.Caption
Invoer2 = TextBox1.Text
 
If Invoer1 = Invoer2 Then
uitvoer = "Goed"
Label4.Caption = uitvoer
Else
uitvoer = "Fout"
Label4.Caption = uitvoer
End If
End Sub
[QUOTE][/QUOTE][CODE]
 
Laatst bewerkt:
en nog iets als ik een getal invul in textbox1 dan krijg ik een bug en wordt de regel invoer= Label3.Caption geel gemarkeerd.
 
De foutmelding geeft waarschijnlijk aan dat je invoer niet klopt; zonder de beschrijving ervan weet ik uiteraard ook niet wat er fout is. Ik zou ook niet de Text property uitlezen, maar de Value. Text gebruik je meer bij de Change event van het tektsveld zelf, als je de ingetypte tekst (of waarden) wilt controleren tijdens de invoer. Check anders eens met een msgbox wat er in Label4.Caption staat. Goede kans dat je geen getal ziet... Of dat Invoer2 niet de juiste waarden bevat (ook checken met msgbox...)

oveigens, als je code als tekst intypt (prima, zo doe ik het ook....) dan moet je de sluitcode wel goed typen: [/ CODE]. (zonder spatie...)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan