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

getal in tekstbox 1 evrgelijken met getal in tekstbox 2 in userform

Status
Niet open voor verdere reacties.

langenr8

Gebruiker
Lid geworden
13 sep 2010
Berichten
7
Goedemiddag

ik heb een lastige vraag waar ik niet uit kom. Ik gebruik en schrijf macro's al een lange tijd in excel maar sinds kort me verdiept in VBA.
Ik heb een userform gemaakt waar een aantal velden ingevuld moeten worden en daarna opgeslagen.
Ik wil deze userform verbeteren en makkelijker te gebruiken voor een aantal mensen.

Ik wil graag de input in tekst box 1 vergelijken met de input in tekst box 2, dit zijn getallen.
Ik tekst box 1 staat de een prestatie indicator, als voorbeeld 10 en in tekst box 2 staat het gerealiseerde getal bijvoorbeeld 8.
Als het getal in tekst box 2 lager is dan getal in tekst box 1 dan moet het groen worden en als het hoger is rood.
 
Iets als dit:
Code:
If Int(TextBox2.Text) < Int(TextBox1.Text) Then
    TextBox2.BackColor = vbGreen
Else
    TextBox2.BackColor = vbRed
End If

En wat als ze gelijk of leeg zijn?
 
Laatst bewerkt:
En wat als ze gelijk of leeg zijn?
Lijkt mij een zinloze en overbodige vraag die je niet hoeft op te lossen in VBA. Immers: als twee waarden gelijk zijn is elke kleur voor de twee tekstvakken goed, dus óók géén kleur. Je haalt dan namelijk geen enkele informatie uit de kleuren. Of twee vakken met een gelijkewaarde een kleur hebben of niet, voegt dus niets toe aan de informatiewaarde. In formule: <Geen Kleur> = <wél Kleur>. :). Hooguit kun je de opmaak pas toepassen als beide tekstvakken gevuld zijn, zodat je een reële vergelijking hebt.
 
Ik loop nu tegen het volgende probleem aan


De code werkt

If Int(TextBox2.Text) < Int(TextBox1.Text) Then
TextBox2.BackColor = vbGreen
Else
TextBox2.BackColor = vbRed
End If

Ik laat via een commandbutton de data in de textboxen verversen aleen het kan ook voorkomen dat een bepaalde textbox leeg is en dan loop de code vast.
Wat moet ik in de code extra oplaatsen zodat deze verder gaat zonder fout melding
 
Controleer dan eerst of beide textboxes wel gevuld zijn en of dat getallen zijn.
Ook kan je het zo maken dat in die textboxes alleen maar cijfers kunnen worden ingegeven.
Rigoreus zou je On Error Resume Next kunnen gebruiken.

Zie voorbeeld zonder On Error Resume Next:
 

Bijlagen

Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan