Voorwaardelijke opmaak in een UserForm

Status
Niet open voor verdere reacties.

ExelHenk

Gebruiker
Lid geworden
22 mrt 2011
Berichten
74
Beste kenners,

Is het mogelijk om in een UserForm een voorwaardelijke opmaak toe te passen? Bijvoorbeeld dat TextBox 1 rood kleurt als de gebruiker een te hoog of te laag getal invoert. Of dat de TextBox waarin de datum staat rood kleurt als deze datum in de toekomst ligt? Alvast bedankt!

Groetjes,
ExelHenk
 
ExelHenk

Zo iets voor de Datum?
Code:
Private Sub TextBox1_AfterUpdate()
  If TextBox1.Text >= Date Then
    TextBox1.BackColor = vbRed
  Else
    TextBox1.BackColor = vbWhite
  End If
End Sub
Zo iets voor een getal?
Code:
Private Sub TextBox2_AfterUpdate()
  If TextBox2.Value <= 6 Or TextBox2.Value >= 10 Then
    TextBox2.BackColor = vbRed
  Else
    TextBox2.BackColor = vbWhite
  End If
End Sub
 
Laatst bewerkt:
Beste ExcelAmateur,

Het werkt op de een of andere manier niet. Met de fout opsporing vind ik niks maar als je met de muis over TextBox1 gaat geeft hij de ingevoerde datum en bij Date geeft hij de datum van vandaag. Daar kan het dus niet aanliggen. Kan het liggen aan de instellingen van de TextBox? De TextBox is geen invoer box maar wordt automatisch ingevuld vanuit een Blad2.

Edit:
De update voor het getal werkt trouwens prima!! Tnx

Groetjes,
ExelHenk
 
Laatst bewerkt:
ExelHenk,

De TextBox is geen invoer box maar wordt automatisch ingevuld vanuit een Blad2.

Daarom zijn de voorbeeld bestanden met daarin de uitleg wat er moet gebeuren zo handig.
 
Een voorbeeldbestandje is helaas niet mogelijk. Het is onderdeel van een groot Excel bestand met veel gevoelige informatie..
Ik hoop dat u met deze uitleg wat kan:

De datum wordt bepaald door een jaar en een week te selecteren in ComboBox1(jaar) en ComboBox2(weeknr). De gezochte week kan in de toekomst liggen... Als er een week en een datum zijn geselecteerd zoekt Excel in blad2 naar de einddatum van de opgegeven week. Dit wordt naar TextBox1 getransporteerd. Nu wil ik graag dat als dit boven de datum van vandaag ligt, TextBox1 rood wordt.

Ik hoop dat u hier wat mee kunt. Als u meer nodig heeft, hoor ik het graag!

Met vriendelijke groet,
ExelHenk
 
Misschien kan u hier wat mee. Tijdens het proberen kwam ik erachter dat het waarschijnlijk door de formule komt. Hier heb ik een simpel formuliertje zonder datums maar met getallen. Ik denk dat het idee hetzelfde is.

Groetjes
 

Bijlagen

ExelHenk,

Als er in het bestandje wat je geplaast heb een macro zat, is deze nu weg.
Om een bestandje met een macro hier te plaatsen, moet je het volgende doen.

Een bestandje .xlsm wordt kun je hier niet zo uploaden.

Pak het bestandje in - Winzip of Winrar.
 
Sorry, ik hoop dat het nu beter gelukt is.
Klopt de aanname die ik maakte trouwens, dat het door de formule komt?

Groetjes
 

Bijlagen

Code:
Private Sub TextBox3_Change()
    TextBox3.BackColor = IIf(DateValue(TextBox3.Value) > Date, vbRed, vbWhite)
End Sub
 
Hee, bedankt voor de antwoorden. Ze werken beide! Maar misschien nog een rare vraag. Als ik het oranje wil maken wordt het zwart.. Ik pas de code dan aan naar vbOrange.. Alle andere kleuren werken wel..
 
Code:
Private Sub TextBox3_Change()
  TextBox3.BackColor = IIf(DateValue(TextBox3.Value) > Date, &H80FF&, &HFFFFFF)
End Sub
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan