• 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 meer dan 3 kleuren?

  • Onderwerp starter Onderwerp starter VBL
  • Startdatum Startdatum
Status
Niet open voor verdere reacties.
@efsix:
Waarom gebruik je een elseif-constuctie en geen Select Case?

En nog iets; spaties en inspringingen doen wonderen voor de overzichtelijkheid van code:

Vergelijk de volgende blokken code maar eens:

Code:
Private Sub CommandButton1_Click()
Dim c As Range, myrng As Range
Set myrng = Range("A1:A20")
For Each c In myrng
If c.Value = Range("D1") Then
c.Interior.Color = vbRed
ElseIf c.Value = Range("D2") Then
c.Interior.Color = vbGreen
ElseIf c.Value = Range("D3") Then
c.Interior.Color = vbBlue
ElseIf c.Value = Range("D4") Then
c.Interior.ColorIndex = 15
ElseIf c.Value = Range("D5") Then
c.Interior.Color = vbMagenta
ElseIf c.Value = Range("D6") Then
c.Interior.Color = vbYellow
Else
c.Interior.ColorIndex = none
End If
Next c
End Sub

met

Code:
Private Sub cmdZinnigeNaam_Click()

    Dim c As Range
    Dim myrng As Range
    
    Set myrng = Range("A1:A20")
    
    For Each c In myrng
        If c.Value = Range("D1") Then
            c.Interior.Color = vbRed
        ElseIf c.Value = Range("D2") Then
            c.Interior.Color = vbGreen
        ElseIf c.Value = Range("D3") Then
            c.Interior.Color = vbBlue
        ElseIf c.Value = Range("D4") Then
            c.Interior.ColorIndex = 15
        ElseIf c.Value = Range("D5") Then
            c.Interior.Color = vbMagenta
        ElseIf c.Value = Range("D6") Then
            c.Interior.Color = vbYellow
        Else
            c.Interior.ColorIndex = none
        End If
    Next c
    
End Sub
 
Laatst bewerkt:
@efsix:
Waarom gebruik je een elseif-constuctie en geen Select Case?
Er zijn altijd meerdere wegen naar Rome. welke de beste is. . ik heb geen idee. het werkte, en daarna ben ik gestopt met nadenken over dit specifieke onderwerp.

:shocked:
 
=EN(C4>=4;C4<7)
met het gelijk aan teken erachter krijg ik nog steeds een foutmelding!

Iemand een oplossing?
 
VBL.

In mijn excel 2007 doet deze code het gewoon:
Code:
=EN(C4>=4;C4<7)
Dus hier zal het niet aanliggen.

welke seperatie symbool gebruik je als je een formule in een cel invoert?
 
punt komma
Ik werk wel met de engelstalige office, ik heb de EN al vervangen door AND, maar zelfs dan lukt het nog niet. Misschien interpreteert de engelstalige de hele formule anders?
 
al eens geprobeerd met de komma als scheidingsteken ?

Mvg

Rudi
 
kijk ook eens in windows bij:
control panel
regional and language options
onder het tabblad regional options klik je op customize

wat staat er bij list seperator?
dit zou bij jou misschien veranderd zijn in een ander sysmbbol dan ;
 
Hoi VBL
Ooit had ik dezefde vraag en heb ik ook een antwoord gevonden.
Niet dat ik nu zo'n kei ben in VBA, maar ik heb een voorbeeldbestandje waaruit je misschien kunt leren.
groeten, Romé


Hoi allemaal,

Ik had hetzelfde probleem als VBL. Met het voorbeeldbestandje van Efsix ben ik al een heel eind op weg, maar toch heb ik nog 1 probleempje. In dat bestand waren de voorwaarden specifiek. Ik wil echter ook voorwaarden als <75% en "tussen 75 en 90%". Kan iemand mij daar bij helpen?
Zie bestandje hier onder. Ik heb mijn probleem duidelijk gemaakt aan de hand van het bestandje van Efsix.

Alvast super bedankt!

Gr. Bart
 

Bijlagen

Beste Bart, aan te raden is zelf een vraag te starten aangezien deze op opgelost staat. Daardoor ga je ook minder respons krijgen. Test alvast onderstaande code. Is dit niet wat je zoekt begin dan je eigen vraag.

Code:
Private Sub CommandButton1_Click()
Dim c As Range
For Each c In Range("A1:A17")
Select Case c.Value
    Case Is = "ROOD"
        c.Interior.ColorIndex = 3
    Case Is = "NVT"
        c.Interior.ColorIndex = 10
    Case Is = "Product"
        c.Interior.ColorIndex = 5
    Case Is < 0.75
        c.Interior.ColorIndex = 15
    Case 0.75 To 0.89
        c.Interior.ColorIndex = 9
    Case Is >= 0.9
        c.Interior.ColorIndex = 6
    Case Else
        c.Interior.ColorIndex = xlNone
End Select
Next c
End Sub

Mvg

Rudi
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan