Onlangs kreeg ik van een bezoeker (FTA)
Nu stel ik mij de vraag of je de kleur van de opmerkingindicator kan wijzigen?”
Het antwoord is: nee, dat kan niet.
Dat betekent echter niet dat er geen oplossing bestaat. Met een beetje creativiteit genaamd ‘VBA’ kunnen we wel iets verzinnen.
De indicator in een andere kleur weergeven
Zoals FTA al aangaf kan het best onhandig zijn dat het rode driehoekje rood is. Excel laat ons niet toe dit te wijzigen, maar we kunnen wel het driehoekje nabootsen en zo het ‘oude’ driehoekje vervangen.
We gaan dit doen met een stukje VBA. Plaats onderstaande procedure in een nieuwe Module:
Sub OpmerkingsIndicator() ' ******************** ' http://www.exhelp.be ' ******************** Dim ws As Worksheet Dim opmerking As Comment Dim r As Range Dim driehoek As Shape Dim breedte As Double Dim hoogte As Double Dim kleur As Double Dim vorm As Shape Set ws = ActiveSheet 'Eventuele eerder geplaatste shapes verwijderen For Each vorm In ws.Shapes If Not vorm.TopLeftCell.Comment Is Nothing Then If vorm.AutoShapeType = msoShapeRightTriangle Then vorm.Delete End If Next vorm 'Afmetingen / kleur kiezen breedte = 5 hoogte = 5 kleur = 15 'Nieuwe shapes plaatsen For Each opmerking In ws.Comments Set r = opmerking.Parent Set driehoek = ws.Shapes.AddShape(msoShapeRightTriangle, r.Offset(0, 1).Left - breedte, r.Top + 1, breedte, hoogte) With driehoek .Flip msoFlipVertical .Flip msoFlipHorizontal .Fill.ForeColor.SchemeColor = kleur .Fill.Visible = msoTrue .Fill.Solid .Line.Visible = msoFalse End With Next opmerking End Sub
Druk op ALT-F8 en voer de procedure uit:
Bovenstaande VBA code gaat een driehoekige vorm op je werkblad plaatsen, en dit in elke cel met een opmerking. Zo lijkt het alsof je opmerkingsindicator een andere kleur gekregen heeft.
De indicator verbergen
De indicator kan op 2 manier onzichtbaar gemaakt worden.
De indicatorkleur wijzigen naar de achtergrondkleur van de cel
We kunnen bovenstaande VBA code een klein beetje aanpassen als volgt:
Sub OpmerkingsIndicator() ' ******************** ' http://www.exhelp.be ' ******************** Dim ws As Worksheet Dim opmerking As Comment Dim r As Range Dim driehoek As Shape Dim breedte As Double Dim hoogte As Double 'Dim kleur As Double Dim vorm As Shape Set ws = ActiveSheet 'Eventuele eerder geplaatste shapes verwijderen For Each vorm In ws.Shapes If Not vorm.TopLeftCell.Comment Is Nothing Then If vorm.AutoShapeType = msoShapeRightTriangle Then vorm.Delete End If Next vorm 'Afmetingen / kleur kiezen breedte = 5 hoogte = 5 'kleur = 15 'Nieuwe shapes plaatsen For Each opmerking In ws.Comments Set r = opmerking.Parent Set driehoek = ws.Shapes.AddShape(msoShapeRightTriangle, r.Offset(0, 1).Left - breedte, r.Top + 1, breedte, hoogte) With driehoek .Flip msoFlipVertical .Flip msoFlipHorizontal '.Fill.ForeColor.SchemeColor = kleur .Fill.ForeColor.RGB = r.Interior.Color .Fill.Visible = msoTrue .Fill.Solid .Line.Visible = msoFalse End With Next opmerking End Sub
Op deze manier gaat onze VBA code de achtergrondkleur van de cel uitlezen, en dezelfde kleur toepassen op de opmerkingenindicator.
Indicators altijd verbergen
Excel laat je toe om indicators steeds te verbergen. Dit doe je als volgt:
Kies Bestand > Opties > Geavanceerd
Kies onder ‘Weergave’ voor ‘Geen opmerkingen of indicatoren’
VBA code werkt perfect, leuke gimmic
bedankt voor de info.