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

Opgelost Voorwaardelijk opmaak met meerdere voorwaarden

  • Onderwerp starter Onderwerp starter KeBr
  • Startdatum Startdatum
Dit topic is als opgelost gemarkeerd
Status
Niet open voor verdere reacties.

KeBr

Gebruiker
Lid geworden
25 apr 2016
Berichten
183
Beste,

Ik heb een projectplanning waar veel voorwaardelijke opmaak in staat. Hierdoor wordt het erg traag.
Nu wil ik de voorwaardelijke opmaak met VBA toepassen. Intussen heb ik via macro opname wel al de kleuren gedefinieerd.
De macro zou echter pas mogen starten als in het tabblad "Projectplanning" cellen in kolom C, E en G waarde bevatten. De 3 cellen op de rij moeten dus alle gevuld zijn. dit zou dan verder tot de onderste, benoemde cel moeten kunnen.
Bij wijzigen van een van die cellen moet de macro opnieuw worden uitgevoerd.

Op het tabblad "Gegevens" staan de kleuren. in de kleur moet de naam komen zodat de juiste kleur opgehaald word.

onderstaande macro heb ik, maar deze loopt vast:

Selection.FormatConditions(1).StopIfTrue = False
Range(("C9:Onder_Naam") And ("E9:Onder_Datum") And ("G9:Onder_Aantal")).Select
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=(EN($E8+$D8<=K$6;$F8>=K$6;$C8=Gegevens!$E$3))"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 2829099
.TintAndShade = 0
End With
 

Bijlagen

Geen idee wat je er mee probeert te doen, maar deze regel klopt uiteraard niet en daar gaat 'ie op stuk:
Code:
Range(("C9:Onder_Naam") And ("E9:Onder_Datum") And ("G9:Onder_Aantal")).Select
 
Beste Edmoor,

Dank voor je reactie.
Ik wil dus dat cel C9 en E9 en G9 alle 3 waarde bevatten voordat de macro uitgevoerd word.

Dit moet dan dus ook op alle overige rijen in het bereik mogelijk zijn. Het bereik is dynamisch vandaar dat ik cellen gedefinieerd heb.
 
hallo Ke, geef eens aan wat je wil bereiken.

en geef ook aan of je dat via VO wil (dus dat vba de VO steeds aanpast) , of dat je de opmaak helemaal met vba wil.
die laatste geeft minder vertraging.

Ps, veel kleurtjes maken het over het algemeen minder leesbaar
 
Laatst bewerkt:
Hoi Sylvester,

Eerst dank voor je reactie.
Ik wil bereiken dat de balken in de "Projectplanning" (vanaf kolom "K") via VBA ingevuld worden.
Door de vele opmaak in VO is het nu traag geworden.
In VO gebruik ik deze formule, en dat werkt prima =(EN($E8+$D8<=K$6;$F8>=K$6;$C8=BASIS!$D$3))

Tevens zou deze macro uitgevoerd moeten worden "On Change", echter pas als op dezelfde rij cellen in kolommen C, E, en F, alle gevuld zijn.
Hiermee wil ik voorkomen dat de macro onnodig gaat lopen.

zie ook bijlage, Hierin heb ik ook met de macrorecorder een opname gedaan van opmaak in VO. dit lijkt echter niet te werken (module 7)

Graag zodanig dat deze alleen via VBA gaan.
 

Bijlagen

traag?

Hallo Kebr,

Ik heb je bestand geopend en je geeft aan dat het traag is. Op mijn laptop, die toch al weer een paar jaar oud is, vind ik het bestand niet traag is, binnen een halve seconde is het aangepast.
Het kan aan je computer liggen. En ik heb ook ooit eens gehoord dat er een optie in Excel (of in Windows) waardoor de gegevens "vloeiender" worden weergegeven maar wat wel meer tijd vergt. Misschien dat je dit hebt aan staan. Maar waar je daarvoor moet kijken weet ik niet.
Ik zie wel dat er veel verschillende voorwaardelijke opmaken in het bestand zitten. Heb je die allemaal nodig?
Kijk ook eens op Excelbestanden.nl, daar staat ook een projectplanning die gebaseerd is op voorwaardelijke opmaak. Ben benieuwd of die ook "traag" werkt. (Er staat één versie online maar voor oudere Excel-versies zijn er andere versies beschikbaar).
 
Beste H2u,

dak voor je reactie.

De gegevens moeten verwerkt worden op computers van het werk, daar kan ik zelf geen aanpassingen aan doen. Deze zijn echter nog vrij jong.
De optie vloeiend weergeven is bij mij bekend, dit gaat echter alleen om gegeven in grafieken.

Er zitten inderdaad veel kleuren. Zullen meestal niet allemaal nodig zijn. In dit document zijn ze wel opgenomen omdat het ook een visuele voorstelling moet geven. Hierbij krijgt elke persoon een eigen kleur toegewezen en zien ze direct wanneer er inzet van ze verwacht word. Vooral in grote planning is het niet te doen om iedereen alle regels te laten lezen.
 
Beste Sylvester-ponte,

Mijn excuses dat ik nu pas reageer, had het druk deze week.

Hetgeen wat jij gemaakt hebt werkt in principe goed. Dat feestdagen niet werken is geen probleem. Bij het invullen en worden deze dagen toch overgeslagen. dat werkt dus goed.
Ik heb de macro nu in een planning opgenomen waar nog wel een aantal VO regels in staan, deze zijn wel nodig.
Ook heb het bereik van Tabel2 aangepast, dit werkt in hetgeen jij teruggestuurd hebt goed. Op deze manier is het nu ook dynamische met het aantal weken en regels dat in de planning komt te staan.

Het probleem is nu dat uit de Range "Kleuren" alleen de eerste regel werkt. Zie bijlage, zodra ik een ander naam of nummer gebruik wordt de kleur niet overgenomen.

Concreet: "jan" staat op tabblad Basis in C3 werkt overal.
Als ik Jan in C4 zet werkt het niet. ook een andere naam of nummer doet het niet. Wel komen er op de achtergrond kleuren in de planning, ik weet niet waar deze vandaan komen.

Ik ben nog even verder gegaan met zoeken. bij gedefinieerde namen kom ik "=PeriodInActual*(#VERW!#VERW!>0)" tegen. Als ik deze verwijder werkt het niet meer. Ik kan echter niet achterhalen waar deze naar verwijst.
 

Bijlagen

Laatst bewerkt:
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan