• 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 kleur naar achtergrondkleur

Status
Niet open voor verdere reacties.

giten

Gebruiker
Lid geworden
2 feb 2009
Berichten
80
Voor een macro is het nodig dat een bepaalde cel een bepaalde kleur krijgt. De macro pakt echter de achtergrondkleur, maar ik heb de kleur nodig die door de voorwaardelijke opmaak bepaald is. Is er een mogelijkheid om de voorwaardelijke kleur naar de achtergrondkleur te kopiëren?
 
Als je dat in een gewone macro doet en niet in een UDF dan kan dat met:
Code:
Range.DisplayFormat.Interior.Color
 
Bedankt voor de snelle reactie. Ik krijg de melding:

Compileerfout:

Het argument is niet optioneel.

Ik heb deze macro gebruikt:

Sub Test()

Sheets("Genormaliseerde waarden").Select
Range.DisplayFormat.Interior.Color

End Sub

Doe ik iets fout?
 
Je moet natuurlijk wel de gewenste Range (cel) opgeven.
 
Daar kwam ik inderdaad net achter (het is alweer even geleden wat ik met macro's werkte).

Ik heb nu dit: Range("c2:aa21").DisplayFormat.Interior.Color. Het werkt alleen nog steeds niet. Nu krijg ik een ongeldig gebruik van een eigenschap.
 
Laatst bewerkt:
Je moet ook niet een heel bereik opgeven maar 1 cel.
 
Zelfde foutmelding. Bovendien wil ik het graag wél toepassen op een heel bereik. Al zou ik daar eventueel wel een regel per cel voor kunnen maken.
 
En hoe ziet de regel in je code er precies uit?
Je haalt een waarde dus en dat moet dus ergens naar toe.
 
Dit is de volledige code (tabbladnaam even aangepast):

Sub Indicatoren()

Sheets("Indicatoren").Select
Range("I8").DisplayFormat.Interior.Color



End Sub
 
Je geeft dus niet op welk object of wat dan ook die kleur moet krijgen.
Bijvoorbeeld als je cel A1 die kleur wilt geven:
Code:
Range("A1").Interior.Color = Range("I8").DisplayFormat.Interior.Color
 
Ja, gelukt. Bedankt!

Nog een laatste vraag: ik moet dat dus voor een range doen, niet één cel. Kan dat ook? Anders kopieer ik de code wel per cel.
 
In plaats van A1 mag je wel een bereik opgeven.
Bijvoorbeeld:
Code:
Range("A1:B10").Interior.Color = Range("I8").DisplayFormat.Interior.Color
 
Duidelijk. Dan krijg elke cel echter de kleur van I8 terwijl elke cel zijn eigen kleur moet krijgen.
 
Klopt.
Je haalt maar 1 kleur tegelijk op.
 
OK, dan moet ik dus een regel maken voor elke cel. Het is niet anders.

Hartstikke bedankt voor alle moeite!
 
Dat is afhankelijk van wat je precies probeert te bereiken.
Plaats eens een voorbeeld document.
 
Het gaat om de cellen waar waarden in staan.

Ik moet nu offline, dus reageer morgen waarschijnlijk pas weer.
 

Bijlagen

Een .xlsx document bevat per definitie geen VBA code.
Daarnaast vertel je er niet bij wat nu precies je bedoeling is in dat document.
 
Ik had de macro's verwijderd omdat het me daar niet echt om ging. Hierbij een nieuw voorbeeld.
Het enige dat ik eigenlijk wil is dat de cellen c2 t/m aa21 de voorwaardelijke kleur als achtergrondkleur krijgen.

Het oorspronkelijke bestand bevatte meer macro's, maar daar wil ik niet aan sleutelen omdat die door iemand anders zijn gemaakt en mijn kennis daarvoor tekort schiet.
 

Bijlagen

Je wilt dus de achtergrond kleur van die cellen vervangen door de kleur die ze met voorwaardelijke opmaak hebben gekregen.
Dat is geen enkel probleem, maar wat heeft dat voor zin?
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan