Voorwaardelijke opmaak obv VANDAAG()

  • Onderwerp starter Onderwerp starter ML71
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.

ML71

Gebruiker
Lid geworden
10 mrt 2006
Berichten
70
Ik heb een aktiviteitenkalender waarin naar behoefte items kunnen worden toegevoegd. Bij het openen zet hij de items voor vandaag bovenaan en ik wil de betreffende regels rood kleuren. Ik wil echter niet al een hele rits rijen voorzien van voorwaardelijke opmaak terwijl er verder niets in zit en dit wil ik oplossen met VBA. Maar, als ik de formule "=A1=VANDAAG()" als voorwaarde wil toevoegen, gaat VBA hikken en geeft ie aan dat de function niet is gedefinieerd.

Weet iemand hoe ik dit wel voor elkaar krijg?
 
Vba spreekt alleen 'Engels'

If [A1].Value =Date then .........
 
Ik heb inmiddels wel e.e.a. werkend gekregen maar nog niet helemaal. De bedoeling is het volgende: na het toevoegen van een nieuwe regel in het bestand start de gebruiker de macro, hiermee wordt de laatste rij bepaald, wordt de afgekorte dagnaam in de eerste kolom gezet en vervolgens zou er voorwaardelijke opmaak aan de cel moeten worden toegevoegd. De belijning lukt, alleen de test of de datum in cel Bxx gelijk is aan de datum van vandaag gaat mis, want hij vult hier steeds een heel hoog rijnummer in. Hoe krijg ik het voor elkaar dat hij het juiste rijnummer er in zet??

Code:
    'Laatste rij bepalen
    nRow = Cells(6, 2).End(xlDown).Row
    nCol = Cells(2, 1).End(xlToRight).Column
    
    For r = nRow To 6 Step -1
        If IsEmpty(Cells(r, 1)) Then
            MijnDate = Cells(r, 2)
            Cells(r, 1) = DagNaam(MijnDate)
            'voorwaardelijke opmaak toevoegen
            Range(Cells(r, 1), Cells(r, 10)).FormatConditions.Delete
            Range(Cells(r, 1), Cells(r, 10)).FormatConditions.Add Type:=xlExpression, Formula1:= _
                "=$B1=vandaag()"
            Range(Cells(r, 1), Cells(r, 10)).FormatConditions(1).Interior.ColorIndex = 3
            Range(Cells(r, 1), Cells(r, 10)).FormatConditions.Add Type:=xlExpression, Formula1:="=$B1<>"""""
            With Range(Cells(r, 1), Cells(r, 10)).FormatConditions(2).Borders(xlLeft)
                .LineStyle = xlContinuous
                .Weight = xlThin
                .ColorIndex = xlAutomatic
            End With
            With Range(Cells(r, 1), Cells(r, 10)).FormatConditions(2).Borders(xlRight)
                .LineStyle = xlContinuous
                .Weight = xlThin
                .ColorIndex = xlAutomatic
            End With
            With Range(Cells(r, 1), Cells(r, 10)).FormatConditions(2).Borders(xlTop)
                .LineStyle = xlContinuous
                .Weight = xlThin
                .ColorIndex = xlAutomatic
            End With
            With Range(Cells(r, 1), Cells(r, 10)).FormatConditions(2).Borders(xlBottom)
                .LineStyle = xlContinuous
                .Weight = xlThin
                .ColorIndex = xlAutomatic
            End With
       End If
    Next
 
En je hebt zeker gezien dat er iemand een tip postte als antwoord op jouw vraag?
 
dat heb ik inderdaad gezien ja... vreemde is dat hij het wel doet, maar dat de regelnummers bij het invoegen van de voorwaardelijke opmaak in de formule ergens in de 65000 begint bij het invoegen in plaats van het regelnummer van de rij waar de voorwaardelijke opmaak wordt ingezet.
 
dat heb ik inderdaad gezien ja... vreemde is dat hij het wel doet, maar dat de regelnummers bij het invoegen van de voorwaardelijke opmaak in de formule ergens in de 65000 begint bij het invoegen in plaats van het regelnummer van de rij waar de voorwaardelijke opmaak wordt ingezet.

Maar je hebt wel een variabele r ter beschikking die je zegt om welke rij het gaat...
 
is t echt zo simpel dat in de code $Br neer kan zetten?

Ik heb overigens nu de code wel werkend, maar door het hele gebied te selecteren, cel B1 te activeren en dan de voorwaardelijke opmaak er in te gooien. Maar er zijn altijd meerdere wegen die naar Rome leiden he.

Iig bedankt voor de hulp!
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan