• 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.

VBA code cellen zoeken met bepaalde kleur en wijzigen van kleur

Status
Niet open voor verdere reacties.

Daton

Gebruiker
Lid geworden
20 feb 2022
Berichten
10
Hallo, graag jullie hulp.
Ik zoek naar de juiste VBA code om binnen het actieve werkblad naar alle cellen te zoeken met een bepaalde RGB kleur en dan deze cellen te selecteren en te wijzigen naar een andere kleur.
Het dient binnen het actieve werkblad te gebeuren, zodat ik deze macro ook in andere werkbladen kan gebruiken.
Wie kan me deze code bezorgen?
In bijlage een voorbeeld, de gele cellen wil ik via VBA code dus bijvoorbeeld rood maken
Dank bij voorbaat!!
 

Bijlagen

Laatst bewerkt:
bestandje geupload

het voorbeeld is gewoon een excel bestand waarvan ik de gele cellen bijvoorbeeld rood wil maken via VBA code
ik heb geen VBA kennis
 
Daar komen uiteraard meer vragen bij kijken, maar dit is de basis:
Code:
Range("H6").Interior.Color = vbRed
Dus, op welk moment moet dat gebeuren?
Onder welke voorwaarde?
 
Laatst bewerkt:
hier een voorbeeldje met 1 van de vele mogelijkheden:
als je het blad kopieert werkt het daar ook
ps de kleuren staan in blad2
 

Bijlagen

Laatst bewerkt:
Daar komen uiteraard meer vragen bij kijken, maar dit is de basis:
Code:
Range("H6").Interior.Color = vbRed
Dus, op welk moment moet dat gebeuren?
Onder welke voorwaarde?

Beste,
het is niet helemaal wat ik zoek, maar dit is inderdaad de basis
belangrijk is dat de Range MOET HET ACTIEVE WERKBLAD ZIJN en niet enkel een cel of celrange

de code moet een bepaalde kleur zoeken en dan deze kleur vervangen door een andere, er zijn geen verdere voorwaarden aan verbonden

kan je me hiermee verder helpen
 
Laatst bewerkt:
Dat is precies wat Sylvester en emields voor je maakten.
Maar je hebt geen antwoord gegeven op de vraag op welk moment dat dan moet gebeuren.
Een druk op een knop?
Een wijziging in een cel?
Anders?
 
antwoord

bedankt, de kleur dient enkel op gewijzigd te worden wanneer de gebruiker dit wenst, dus door op een knop te klikken
 
Dan kan je kijken naar wat emields plaatste.
 
hier de code en wat er zou veranderd moeten worden
Sub macr2()
For Each cell In [d6:j20] DE RANGE ZOU HEEL HET ACTIEVE WERKBLAD MOETEN ZIJN
cell.Interior.Color = IIf(cell.Interior.Color= 65535, 255, 65535) DE KLEUR DIE MOET GEZOCHT WORDEN IS RGB (120, 193, 212) en DEZE MOET WORDEN RGB (75, 172, 198), HOE DIT IN CODE TOEPASSEN?
Next
End Sub
 
Waarom geef je dan eerst andere kleuren op?
Zoiets dan:
Code:
Sub macr2()
    For Each cl In Range(ActiveSheet.UsedRange.Address)
        If cl.Interior.Color = RGB(120, 193, 212) Then cl.Interior.Color = RGB(75, 172, 198)
    Next cl
End Sub
 
Laatst bewerkt:
dit klopt ;-)

wel zou ik nu dit in dezelfde macro voor 2 kleuren moeten kunnen toepassen, klopt het dan als ik de code als volgt aanpas

Sub macr2()
For Each cl In Range(ActiveSheet.UsedRange.Address)
If cl.Interior.Color = RGB(120, 193, 212) Then cl.Interior.Color = RGB(75, 172, 198)
Next cl
For Each cl In Range(ActiveSheet.UsedRange.Address)
If cl.Interior.Color = RGB(140, 250, 55) Then cl.Interior.Color = RGB(140, 166, 114)
Next cl
End Sub
 
Gebruik codetags, zie de link in mijn hadtekening.
Zo, dan kan je zelf desgewenst eenvoudig nog meer toevoegen:
Code:
Sub macr2()
    For Each cl In Range(ActiveSheet.UsedRange.Address)
        Select Case cl.Interior.Color
            Case RGB(120, 193, 212):    cl.Interior.Color = RGB(75, 172, 198)
            Case RGB(140, 250, 55):     cl.Interior.Color = RGB(140, 166, 114)
        End Select
    Next cl
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan