Een gekleurde cel, een vaste tekst geven

Status
Niet open voor verdere reacties.

Offthefield

Gebruiker
Lid geworden
27 apr 2005
Berichten
369
Beste VBA-ers,

Ik wil een gekleurde cel een tekst geven b.v. de geelachtige cel moet een B worden, de groenachtige cel moet X worden
en de roodachtige cel moet N worden.

Ook wil ik weten, hoe kom ik aan de kleurcode van de cellen?

Is er iemand die een idee heeft.

Alvast hartelijk dank

Offthefield
 

Bijlagen

Bijvoorbeeld zo:
Code:
CelKleur = Range("A1").Interior.Color
Je kleuren in datatype Long:
Groen = 6339424
Geel = 4046836
Rood = 5276658

En hoe komen die cellen aan hun kleur?
 
Laatst bewerkt:
Meestal moeten cellen met een bepaalde waarde een kleur krijgen, maar andersom kan natuurlijk ook:

Code:
Sub KleurNaarTekst()
    For Each cel In UsedRange
        Select Case cel.Interior.Color
            Case 6339424
                cel.Value = "X"
            Case 4046836
                cel.Value = "B"
            Case 5276658
                cel.Value = "N"
        End Select
    Next
End Sub

Maar vraag mij met edmoor af hoe die cellen aan een kleur komen, bij het toekennen van die kleur kun je natuurlijk ook direct de bijbehorende letter toekennen.
 
edmoor,

Hartelijk dank!

Dit is een programma van school (incl. vinkvakken),
deze heb ik met knippen en plakken naar een excelveld gekopieerd,
vervolgens heb ik eerst de vinkvakken moeten verwijderen (met tips van jullie) ,
en nu wil ipv een kleur er een tekst inzetten.

Groen = gecontroleerd
Rood = niet gecontroleerd of akkoord
Geel = moet nog een keer gecontroleerd worden.

Dus nu alleen nog de teksten in het veld krijgen

Offthefield
 
AHulpje hartelijk dank voor de reactie.

Ik heb de macro ingevoerd, alleen hij geeft de volgende foutmelding:

Fout13 tijdens uitvoering
Typen komen niet met elkaar overeen

Weet je waar dat door komt?

Offthefield
 
De macro van AHulpje werkt prima, dus dan doe je iets niet goed.
KL.png

En waarom een .xls bestand?
Werk je nog met Office 2003?
 
Laatst bewerkt:
Edmoor,

Nee, ik werk met Excel2007, maar ik save ze meestal in .xls zodat ik ze dan altijd kan gebruiken, ook in oudere versies.

Ik zal ze saven in .xlsx en .xlsb en daarmee proberen.

Offthefield
 
Bij een .xls bestand zal je in Office 2007 en hoger altijd zien staan dat het document in compatibiliteit modus draait.
Niet meer gebruiken. Ik kan me niet voorstellen dat je nog Office 2003 of ouder tegen komt.
 
edmoor,

Hij werkt ook niet met .xlsb en .xlsm en .xlsx geeft een foutmelding, dat er een macro ontbreekt
en wordt hij alleen opgeslagen zonder de macro

Offthefield
 
Er is niks mis met die macro.
Plaats dan het bestand waarin je dat test eens hier.
 
Of met een knop.
Voor Offthefield UsedRange gewijzigd in ActiveSheet.UsedRange.
 

Bijlagen

Laatst bewerkt:
edmoor, wederom bedankt.

Met button werkt de andere niet, dus het heeft met ActiveSheet.UsedRange.

Maar ik snap nog niet hoe je aan de kleurnummers komt, je hebt de code CelKleur = Range("A1").Interior.Color geven
maken hoe kan ik dan de kleurnummers te weten komen?

Offthefield
 
Door de waarde van de variabele Kleur te bekijken.
 
Bijvoorbeeld zo:
Code:
MsgBox Range("A1").Interior.Color
Of dit in het Direct venster:
Code:
?[A1].Interior.Color
 
Code:
Sub ToonKleur()
    For Each cel In Sheets("Kleur").Range("E7:G7")
        MsgBox "De kleur van cel " & cel.Address & " is: " & cel.Interior.Color
    Next
End Sub
 
Laatst bewerkt:
Kun je ons de vervolgstappen verklappen?
Wat ga je doen als in de cellen de letters X, B, N staan ?
Wat ga je doen met de nummers van de kleuren van de cellen ?
Hoe beter je vertelt wat je uiteindelijke doel is, hoe beter je geholpen kunt worden.
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan