Als cel heeft kleur dan

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

samui

Verenigingslid
Lid geworden
26 mei 2012
Berichten
207
Ik zou graag de tekst UZK in kolom J zien als een cel een kleur heeft
en de tekst Vast als de cel geen kleur heeft.

Dit in een macro, niet als VO.

De rij met namen is niet altijd hetzelfde kan meer maar ook minder zijn. Dit is enkel een voorbeeld.
Begin cel G1 is wel altijd uitgangspositie.

Wie heeft de oplossing. Krijg het niet voor elkaar om op kleur iets te laten uitvoeren.

alvast bedankt.

Frank
 

Bijlagen

Er wordt geen event getriggerd bij het wijzigen van een celkleur.
Dan kun je dus niets laten uitvoeren.

Je kan wel op kleur controleren:
Code:
If Range("G1").Interior.Color <> 16777215 Then
 
Laatst bewerkt:
Maak zelf een functie aan:

Code:
Function Kleur(Adres As Range) As String
    Application.Volatile
    If Adres.Interior.ColorIndex = -4142 Then
        Kleur = "Vast"
    Else
        Kleur = "UZK"
    End If
End Function

Vervolgens zet je in cel J1 volgende formule : =Kleur(G1) en deze formule trek je door.
De functie wordt herberekend telkens je een waarde in je werkblad wijzigt. Maar niet als je enkel de kleur aanpast.

Succes
Luc
 
Kan uiteraard ook met de eigenschap Color (en niet ColorIndex) zoals in het voorbeeld van Edmoor. Maar dan moet je ook het getal van Edmoor gebruiken.
 
En dan wordt het dus zoiets:
Code:
Function Kleur(Adres As Range) As String
    Application.Volatile
    Kleur = IIf(Adres.Interior.Color = 16777215, "Vast", "UZK")
End Function
 
Laatst bewerkt:
De 2 macrootjes van kleur en wit had ik effe moeten verwijderen in de bijlage.
Heb het nu zo opgelost.
Of is dit teveel tekst?
Hij doet nu wel wat ik wil.

Thanks voor de hulp.

Case closed. :-)


Code:
Sub test()
For x = 1 To 250
If ActiveSheet.Cells(x, 7).Interior.Color <> 16777215 And ActiveSheet.Cells(x, 7).Value <> "" Then
ActiveSheet.Cells(x, 10).Value = "UZK"
ElseIf ActiveSheet.Cells(x, 7).Interior.Color = 16777215 And ActiveSheet.Cells(x, 7).Value <> "" Then
ActiveSheet.Cells(x, 10).Value = "Vast"
End If
Next x
End Sub
 
Code:
Sub VenA()
  For Each cl In Columns(7).SpecialCells(2)
    cl.Offset(, 3) = IIf(cl.Interior.Color = 16777215, "Vast", "UZK")
  Next cl
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan