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

Voorwaardelijke opmaak met een datum

Status
Niet open voor verdere reacties.

ChiaraFavaron

Gebruiker
Lid geworden
13 feb 2011
Berichten
114
Hoi allemaal,

Nu ik toch met voorwaardelijke opmaak aan het stoeien ben, heb ik weer een vraagje. Heb al giga veel topics gezien, maar niet wat ik zoek.

Stel, ik heb in A1 een datum, bijvoorbeeld 30-04-2011. Hoe krijg ik die cel gekleurd als we 30 dagen vóór die datum zijn?

Chiara
 
Zet deze formule in je voorwaardelijke opmaak, in dit geval staat de datum waar naar gekeken wordt in A1
Code:
=A1<=VANDAAG()+30
Succes,
 
1, voor de bovenste cel geld de opmaak al: trek door naar beneden met de vulgreep.
2, voor de bovenste cel geld de opmaak nog niet - of er staan al gegevens in de kolom: Maak de voorwaardelijke opmaak voor de bovenste cel, hierna kan je het bereik van de opmaak veranderen naar het bereik wat jij wilt.

Succes,
 
1, voor de bovenste cel geld de opmaak al: trek door naar beneden met de vulgreep.
2, voor de bovenste cel geld de opmaak nog niet - of er staan al gegevens in de kolom: Maak de voorwaardelijke opmaak voor de bovenste cel, hierna kan je het bereik van de opmaak veranderen naar het bereik wat jij wilt.

Succes,

Ik ben een beginnertje hoor :o

Er staan al heel veel datums in de kolom en er komen er steeds bij. Hoe verander ik dan een bereik?

Heb een beetje gestoeid met jouw oplossing, maar als er geen datum staat, wordt de cel ook rood. Die moet dan gewoon kleurloos blijven.

Chiara
 
Laatst bewerkt:
Heb een beetje gestoeid met jouw oplossing, maar als er geen datum staat, wordt de cel ook rood. Die moet dan gewoon kleurloos blijven.

Ik ga nu mezelf op de proef stellen geloof ik. Na veel zoeken ben ik tot deze formule gekomen in combinatie met de bovenstaande oplossing:

=ALS(A1="";"";A1<=VANDAAG()+30)

Ik hoop dat ik op de goede weg ben. Nu nog het bereik. :-)

Chiara
 
Laatst bewerkt:
Plak onderstaande in de bladmodule van je werkblad (=rechtsklik op de tab van je werkblad >> selecteer Programmacode weergeven >> code plakken). Voor elke nieuwe datum die je nu inbrengt word de VO automatisch geplaatst.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        With Target
            .FormatConditions.Delete
            .FormatConditions.Add xlExpression, , _
                "=ALS(" & Target.Address & "="""";"""";" & Target.Address & "<=VANDAAG()+30)"
            .FormatConditions(1).Interior.ColorIndex = 3
        End With
    End If
End Sub

Voor de datums die je nu reeds hebt staan zal je de VO wel handmatig moeten plakken.
Zet daartoe de VO in je bovenste cel >> Selecteer deze cel en kopieër >> Selecteer alle andere cellen met datums, rechtsklik en kies Plakken Speciaal >> Plakken Opmaak.
 
Plak onderstaande in de bladmodule van je werkblad (=rechtsklik op de tab van je werkblad >> selecteer Programmacode weergeven >> code plakken). Voor elke nieuwe datum die je nu inbrengt word de VO automatisch geplaatst.
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        With Target
            .FormatConditions.Delete
            .FormatConditions.Add xlExpression, , _
                "=ALS(" & Target.Address & "="""";"""";" & Target.Address & "<=VANDAAG()+30)"
            .FormatConditions(1).Interior.ColorIndex = 3
        End With
    End If
End Sub

Voor de datums die je nu reeds hebt staan zal je de VO wel handmatig moeten plakken.
Zet daartoe de VO in je bovenste cel >> Selecteer deze cel en kopieër >> Selecteer alle andere cellen met datums, rechtsklik en kies Plakken Speciaal >> Plakken Opmaak.

Dank je wel, warme bakkertje! Super!

Van al die codes snap ik niets, maar met wat zoekwerk en bovenstaande voorbeeld ben ik met mijn simpele blik tot het volgende gekomen als ik dan de tekst wit en vet wil hebben:

Code:
.FormatConditions(1).Interior.TextColor = "white"
.FormatConditions(1).Interior.TextStyle = "bold"

Helaas werkt het niet en heb ik dus weer wat hulp nodig hierbij. :confused:

Wie niets probeert, leert ook niets he :D

Chiara
 
Laatst bewerkt:
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        With Target
            .FormatConditions.Delete
            .FormatConditions.Add xlExpression, , _
                "=ALS(" & Target.Address & "="""";"""";" & Target.Address & "<=VANDAAG()+30)"
            .FormatConditions(1).Interior.ColorIndex = 3
        End With
    End If
End Sub

Volgens mij moet ik het zo lezen dat de Target.Column = 1 betekent dat het gaat om kolom A. Dus als ik de datums bijvoorbeeld in kolom F heb staan, moet ik daar 6 van maken.

Chiara
 
:thumb::thumb:
Als je over het celoppervlak spreekt gebruik je Interior, spreek je over de characters in een cel gebruik je Font
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        With Target
            .FormatConditions.Delete
            .FormatConditions.Add xlExpression, , _
                "=ALS(" & Target.Address & "="""";"""";" & Target.Address & "<=VANDAAG()+30)"
            [COLOR="red"]With .FormatConditions(1)
                .Interior.ColorIndex = 3
                .Font.ColorIndex = 2
                .Font.Bold = True
            End With[/COLOR]        
       End With
    End If
End Sub
 
Laatst bewerkt:
:thumb::thumb:
Als je over het celoppervlak spreekt gebruik je Interior, spreek je over de characters in een cel gebruik je Font
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Column = 1 Then
        With Target
            .FormatConditions.Delete
            .FormatConditions.Add xlExpression, , _
                "=ALS(" & Target.Address & "="""";"""";" & Target.Address & "<=VANDAAG()+30)"
            [COLOR="red"]With .FormatConditions(1)
                .Interior.ColorIndex = 3
                .Font.ColorIndex = 2
                .Font.Bold = True
            End With[/COLOR]        
       End With
    End If
End Sub

Hartstikke bedankt! :thumb:

Ik was een nieuw bericht begonnen over een messagebox, maar ik moest daarover hier verder gaan. Volgens mij een heel ander onderwerp, maar goed! :confused:

Stel, dat ik in kolom A een heleboel datums heb staan. Met voorwaardelijke opmaak kleuren ze nu als we 30 dagen vóór die datum zijn. Maar, de lijst is dusdanig lang dat de opmaak niet altijd opvalt en moet je dus de hele lijst door scrollen.

Is het ook mogelijk om een melding te laten verschijnen als die datum wordt bereikt? Bijvoorbeeld een venstertje dat verschijnt. Heb iets gelezen over een messagebox, maar daar heb je weer kennis van code voor nodig.

Groetjes, Chiara.
 
Chiara, je hoeft niet altijd te quoten als je een antwoord plaatst op een vraag (de mods zijn daar nogal gevoelig voor :p)
Voor wat betreft je 2de vraag zou ik eerder gaan voor een listbox die alle data die voldoen aan de voorwaarde onder elkaar in een scherm plaatst tezamen met nog eventueel andere relevante informatie betreffende die dag. Dit scherm kan je dan automatisch laten verschijnen telkens je het bestand opent. Als je dit wat lijkt plaats dan even een voorbeeldbestandje met wat data in zodat we iets hebben om mee te spelen. :D
Dit is echter inderdaad een ander onderwerp. Zet deze op opgelost en we gaan dan verder in je andere vraag. (Plaats het vb dan ook maar daar)
 
Laatst bewerkt:
Sorry :o:o

Hierbij een bestandje. Misschien dat het mogelijk is een melding te laten verschijnen met de datum, naam van de persoon en een stukje tekstmogelijkheid wat er te gebeuren staat.

Dank je, Chiara
 

Bijlagen

ChiaraFavaron,

Zo iets?
Zie bestandje.

Heb je nog een slaapplaats voor me als ik met vakantie naar Italie ga?
 

Bijlagen

Laatst bewerkt:
Hoi ExcelAmateur,

Bedankt voor het meedenken, maar een knop die de datum toont, is niet wat ik bedoel.

Ik wacht even op warme bakkertje, die had het over een listbox. Wat dat ook mag zijn :o

Groetjes, Chiara
 
Chiara, aangezien het een ander onderwerp betreft gelieve deze op opgelost te zetten en verder te gaan in je andere vraag, daar heb ik al een voorbeeldbestandje gepost :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan