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

Bij 0 tekstkleur wit, anders zwart.

Status
Niet open voor verdere reacties.

weusty

Gebruiker
Lid geworden
23 feb 2007
Berichten
133
Als er 0 word ingevuld in textbox1 dan moet de tekst kleur grijs zijn. Als dit 0,1 of hoger is dan moet dit gewoon zwart zijn.

Ik gebruik nu deze code:

Code:
With UserForm1
    If UserForm1.TextBox1.Value = "0" Then UserForm1.TextBox1.ForeColor = &H80000001
    End If
End With

Maar de tekst blijft grijs. Ook als ik er wat anders van maak.:confused:

Hoe los ik dit op?!

Groet weust
 
Weusty, Bij welk event plaats je dan je code? En... Je moet dan natuurlijk ook werken met de kleur die het anders moet worden... (voorbeeld in grijs/zwart)
Code:
Private Sub TextBox1_Change()
    
    If TextBox1.Value = 0 Then
        TextBox1.ForeColor = &H80000001 'grijs
    Else:
        TextBox1.ForeColor = &H80000008 'zwart
    End If
    
End Sub

Groet, Leo
 
Ik heb nu een Module aangemaakt die wordt geopent onder Userform1

Private Sub Textbox1_Click()
Call modClick.Click
End Sub

Dit staat in die module:

Sub Click()
With UserForm1
If TextBox1.Value = 0 Then
TextBox1.ForeColor = &H80000001 'grijs
Else:
TextBox1.ForeColor = &H80000008 'zwart
End If

End With
End Sub

Op een of andere manier zie ik wat over het hoofd maar ik weet niet wat?:mad:
 
Weusty, Ik snap je ff niet. Ik denk dat je 't beste mijn voorgestelde event kan aanhouden (change). Je wilt - neem ik zo aan - de kleur van de tekst in TextBox1 van kleur zien verspringen op het moment dat je die textbox verlaat. Je hoeft verder dus niets aan te roepen met Call.
Maak inderdaad gebruik van de module die gekoppeld zit aan je Userform1. Als je hier je TextBox1 ziet en er op dubbelklikt, word je vanzelf doorgezet naar de module. Plaats daar mijn codeblokje en run het form een keertje om te testen.

Groet, Leo
 
Laatst bewerkt:
Leo,

je hebt helemaal gelijk!

Hij werkt nu perfect alleen even de 0 tussen " gezet.

Hoe geef je aan als het getal 10 of hoger moet zijn dan?

iets van "10>" ??

groet Weusty
 
ben er al uit:

If TextBox1.Value >= "8.1" Then
TextBoxT9.ForeColor = &HFF& 'rood
Else:
TextBoxT9.ForeColor = &HEF9B6D 'blauw
End If

alleen als het getal nu hoger is als 9.9 wordt het weer blauw?!:confused:
 
Weusty,
Hij werkt nu perfect
...da's prettig om te horen!:thumb:

alleen even de 0 tussen " gezet
...ehhhh... die begrijp ik niet!:eek: Je bent toch met GETALLEN aan het werk? Dan moet je vooral géén quotes gebruiken.

Hoe geef je aan als het getal 10 of hoger moet zijn dan?
iets van "10>" ??
...Bijna goed!:D
Code:
If TextBox1.Value >= 10 Then
Dmv het 'groter dan'-teken (>) geef je aan dat je vanaf 11 wilt starten. Met het 'is'-teken (=) zeg je dat 10 toch stiekem óók mee mag doen...:D:D

Groet, Leo
 
Hmmm... tijdens het formuleren van mijn antwoord was jij ook al weer aan't reageren...:D
alleen als het getal nu hoger is als 9.9 wordt het weer blauw?!:confused:
Gewoon de quotes verwijderen! Dan gaat alles goed!

Trouwens... Ipv de gebruikte (onleesbare) kleurcodes kan je ook gebruik maken van VBA constanten. Blauw is vbBlue en rood is vbRed

Groet, Leo
 
ja klopt werkt een stuk makkelijker zonder al die quotes, en dat gaat uitstekend!!

De vraag is hier bij opgelost!!

Bedankt weust:thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan