• 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 mbv vba

Status
Niet open voor verdere reacties.

Artemiss

Gebruiker
Lid geworden
13 feb 2009
Berichten
130
Beste Excellers,

Aan de hand van eerdere vragen hier op het forum heb ik het volgende stukje code geschreven/aangepast om een kleur te geven aan iedere cel binnen een bepaald bereik obv van de waarde die in de betreffende cel staat.

Code:
Private Sub Statuskleuren_toevoegen()

'
' Statuskleuren_toevoegen Macro
'
    
Dim x As Range

For Each x In ActiveSheet.Range("CA5:CX493")
    With x
    Select Case .Value
      Case Is = "gepland"
          .Interior.ColorIndex = 3
      Case Is = "gefactureerd"
          .Interior.ColorIndex = 6
      Case Is = "betaald"
          .Interior.ColorIndex = 1
      Case Else
          .Interior.ColorIndex = xlNone
    End Select

   End With
   Next

  End Sub

Overal waar ik zoek kom ik eigenlijk deze oplossing tegen, en bij iederen lijkt het te werken, maar bij mij blijft hij steeds hangen op Case Is = "gepland" vanwege "Type mismatch".
En als ik mijn muis ergens boven x houd, dan zie ik "error 2042"

Graag uw hulp, wat doe ik anders dan in al die voorbeelden die ik vanmiddag al bekeken heb?

Groetjes
 
Laatst bewerkt door een moderator:
Artemiss,

Ik denk dat je bij het verkeerde forum zit, dit forum is voor Excel.

Je moet eigenlijk ook wel weten, dat je de code moet selecteren en dan op het # teken moet klikken, om de code in een apart vak te krijgen.
 
Sorry, ik heb mij vergist bij het stellen van mij vraag, inmiddels aangepast. De vraag heeft wel degelijk betrekking op Excel.

Code:
Private Sub Statuskleuren_toevoegen()

'
' Statuskleuren_toevoegen Macro
'
    
Dim x As Range
    For Each x In ActiveSheet.Range("CA5:CX493")
    With x
    Select Case .Value
      Case Is = "1"
          .Interior.ColorIndex = 3
      Case Is = "gefactureerd"
          .Interior.ColorIndex = 6
      Case Is = "betaald"
          .Interior.ColorIndex = 1
      Case Else
          .Interior.ColorIndex = xlNone
    End Select

   End With
   Next

  End Sub

Bij deze de code in een apart blok
 
Probeer eens met:
Code:
Case  "gepland"
in plaats van
Code:
Case Is = "gepland"
 
Ik heb gevonden waar het aan lag. In de range stonden een aantal lege cellen en toevallig ook meteen de eerste cel was leeg, waardoor hij dus meteen hierop vastliep en ik deze toch eigenlijk voor de hand liggende oorzaak niet meteen bedacht.
Ik heb dus in de lege cellen een waarde ingevuld en nu werkt het wel.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan