Flowchart in kleuren

Status
Niet open voor verdere reacties.

jan excel

Gebruiker
Lid geworden
4 mrt 2007
Berichten
437
Hallo Experts,

Graag zou ik een flowchart cirkel automatisch willen laten in kleuren.
kleur afhankelijk van resultaat en doel.
Bijlgage toegevoegd, als u deze opent zal mijn vraag wel duidelijk worden.

Bij voorbaat dank.
Jan Evers.
 

Bijlagen

  • HLPvb1.xlsx
    11,6 KB · Weergaven: 32
je vormen zijn hernoemd naar verkeerslicht1 en 2
change-event
daarnaast nog zo'n verkeerslicht in F3
 

Bijlagen

  • HLPvb1.xlsb
    22,5 KB · Weergaven: 23
hallo Cow18,

Dank je voor de reactie en oplossing.
Echter wou vandaag jou oplossing implementeren in mijn project en dat werkt helaas niet.
Denk dat het komt omdat in het eerste voorbeeld geen formules staan in de kolommen c en d.
Dit is in mijn project wel het geval.

Wil je hier nog eens nakijken als dat de oorzaak is, kan je dan de verkeerslichten weer werkend krijgen ?
Bijlage toegevoegd met formules.
 

Bijlagen

  • HLPvb2.xlsb
    16,7 KB · Weergaven: 19
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Intersect(Target, Range("C3:D5")) Is Nothing Then Exit Sub

   sn = Array(Sgn([D3-C3]), Sgn([D5-C5]))
   For j = 0 To UBound(sn)
     Shapes("Verkeerslicht" & j + 1).Fill.ForeColor.RGB = RGB(255 * Abs(sn(j) < 1), 255 * Abs(sn(j) > -1), 0)
   Next
End Sub
 
Laatst bewerkt:
samen met de iets elegantere oplossing van SNB.
De wijzigingen gebeuren in Q3 tot R6, in die andere cellen staan enkel formules, dus moet die change-event naar die eerste cellen kijken
Code:
   If Intersect(Target, Range("[COLOR="#FF0000"]Q3:R6[/COLOR]")) Is Nothing Then Exit Sub
 
Laatst bewerkt:
beste Snb,

Heb jou code toegepast echter de verkeerslichten 1 en 2 wijzigen niet van kleur.
Doe ik iets fout, bijlage toegevoegd met jou code erin.
 

Bijlagen

  • HLPvb3.xlsb
    16,8 KB · Weergaven: 27
zie #5 aanpassen bereik
 
Hoi Snb en Cow18,


Aanvulling Cow18 ook in de code gezet echter niet gewenst resultaat, verkeerslichten wijzigen niet van kleur.
 

Bijlagen

  • HLPvb3.xlsb
    14,3 KB · Weergaven: 34
Hoi Beiden,

Deed het toch wel.

dank je wel, nu even kijken als implementatie in mijn project nu lukt.
 
Hoi Snb en Cow18,

Geimplementeerd in mijn project en werkt bijna goed.
Graag zou ik nog een aantal aanpassingen willen, als doel en resultaat gelijk zijn wordt het verkeerslicht geel, dit dient groen te zijn. Geldt ook bij twee nullen.
Als in het resultaat nog geen waardes zijn ingevuld mag het verkeerslicht wit blijven.
Als dit mogelijk is wil één van jullie de code aanpassen.


Bij voorbaat dank.
Jan E
 
Rem wit=RGB(255,255,255), rood=RGB(255,0,0), groen=RGB(0,255,0)
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Intersect(Target, Range("Q3:R6")) Is Nothing Then Exit Sub

   sn = Array(IIf([d3] = 0 And [c3] = 0, -2, Sgn([D3-C3])), IIf([d5] = 0 And [c5] = 0, -2, Sgn([D5-C5])))   '-2 als beide waarden 0 zijn, anders -1, 0 of 1 naargelang delta
   For j = 0 To UBound(sn)
      Shapes("Verkeerslicht" & j + 1).Fill.ForeColor.RGB = RGB(-255 * (sn(j) <= -1), -255 * (sn(j) <> -1), -255 * (sn(j) = -2))
   Next
End Sub
 
Laatst bewerkt:
Hoi Beiden,

Dank jullie wel voor de hulp, vandaag geen tijd meer om te testen.
Laat morgen wel weten als het is gelukt.

Jan E
 
Hoi Beiden,

De code is geimlpementeerd in mijn project en werkt bijna naar behoren.
Het enige wat nog niet goed werkt is dat als doel is 0 en resultaat is 0 verkeerslicht wit wordt echter dit dient groen te zijn.
Als er geen waardes zijn ingevuld bij doel en resultaat staat verkeerslicht op wit en dat is wel goed.

Zou fijn zijn als dit nog geregeld kan worden.


groet,
Jan E
 
Code:
Private Sub Worksheet_Change(ByVal Target As Range)
   If Intersect(Target, Range("Q3:R6")) Is Nothing Then Exit Sub

   sn = Array(IIf(WorksheetFunction.Count(Range("Q3:R3")) = 0, -2, Sgn([D3-C3])), IIf(WorksheetFunction.Count(Range("Q5:R5")) = 0, -2, Sgn([D5-C5])))   '-2 als beide waarden 0 zijn, anders -1, 0 of 1 naargelang delta
   For j = 0 To UBound(sn)
      Rem wit=RGB(255,255,255), rood=RGB(255,0,0), groen=RGB(0,255,0)
      Shapes("Verkeerslicht" & j + 1).Fill.ForeColor.RGB = RGB(-255 * (sn(j) <= -1), -255 * (sn(j) <> -1), -255 * (sn(j) = -2))
   Next
End Sub
 
Dit forum is geen softwareburo.
Als je het toch zo wil gebruiken kun je het beste het forum er ook voor betalen.

@cow18

Voor degenen die iets van VBA willen opsteken is deze vraag al voldoende beantwoord.
Als zij de suggesties hebben begrepen kunnen ze die ook aanpassen.
Dat hoeven wij voor deze usurpator niet meer te doen.
 
Laatst bewerkt:
Hoi Snb en Cow18,

Ten eerste wil ik zeggen dat ik best weer een donatie wil doen op deze site, heb ik in verleden wel eens gedaan.
Project waar ik mee bezig ben is voor mijn vereniging en ik heb er veel plezier en voldoening van om hiervoor
de administratie en een dashboard te vereenvoudigen.

Zonder jullie hulp zal mij dit niet lukken want mijn VBA kennis is van een laag niveau.

Durf het haast niet meer te vragen echter heb nog één vraag, als doel een waarde is ingevuld en er nog geen resultaat is ingevuld dient
de verkeerslicht ook op wit te blijven staan.

Bij voorbaat dank,
Jan E

Ps. zal vandaag even uitzoeken hoe ik een donatie kan doen !
 
Hoi Allemaal,

Mijn vragen zijn opgelost, laatste vraag uiteindelijk zelf opgelost.
Cow18 en Snb bedankt voor jullie suggesties dankzij jullie heb ik het resultaat bereikt
wat ik voor ogen had.


groetjes.
Jan Evers.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan