abonnementen ibood.com bol.com Coolblue
pi_176445534
registreer om deze reclame te verbergen
Hey,

Ik vroeg me af of het mogelijk is om de tekstkleur te wijzigen in een Excelveld door erop te klikken.
Dus dat de tekst een kleur heeft en door hem aan te klikken de tekst grijs wordt.
(en weer aan klikken weer de oorspronkelijke kleur)Het is voor het invullen van een rapport waar drie grijze smileys op staan (in drie velden achter elkaar). Het is de bedoeling dat n van de drie wordt gekleurd in een groene, een oranje of een rode.
Het gaat het snelste als dit kan door er op te klikken natuurlijk.

Heeft iemand een idee hoe dit te maken?
pi_176446542
Nee, volgens mij niet mogelijk.
<a href="http://blueballfixed.ytmnd.com/" target="_blank" rel="nofollow"><a href="http://blueballfixed.ytmnd.com/&lt" target="_blank" rel="nofollow">http://blueballfixed.ytmnd.com/&lt</a>;/a>
pi_176446799
quote:
0s.gif Op vrijdag 12 januari 2018 06:06 schreef Hiddendoe het volgende:
Nee, volgens mij niet mogelijk.
Met een macro zeker wel.
pi_176449022
registreer om deze reclame te verbergen
quote:
1s.gif Op vrijdag 12 januari 2018 07:30 schreef Piles het volgende:

[..]

Met een macro zeker wel.
Door slechts te klikken op die smilie, kan je het van kleur veranderen?
Wat voor rapport zou dat zijn?

9575799-smiley-faces-Stock-Photo.jpg

https://www.projectsucces(...)n-in-je-rapportages/
<a href="http://blueballfixed.ytmnd.com/" target="_blank" rel="nofollow"><a href="http://blueballfixed.ytmnd.com/&lt" target="_blank" rel="nofollow">http://blueballfixed.ytmnd.com/&lt</a>;/a>
pi_176466690
http://www.snirc.nl/files/gekleurde_smileys.xlsm

Smileys in Excel kan je maken via Wingdings J K L
Daarna heb ik een code in een macro geschreven die kijkt naar de waarde van de cel om daarmee op klik gedrag de kleur van de cellen te wijzigen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Dim KeyCells As Range
    Set KeyCells = Range("D3:F3") 'dit zijn de enige cellen waar hij op reageert
    
    If Not Application.Intersect(KeyCells, Range(Target.Address)) _
      Is Nothing Then
     toggleColor (Target.Address)
    End If
End Sub
Private Function toggleColor(Target As String)
 Dim kleur As Long
 Dim rij As Integer
 rij = Range(Target).Row
 
 With Range(rij & ":" & rij).Font
  .Color = x1Automatic
 End With
 Select Case Range(Target).Value
   Case "J"
    kleur = 5287936 'groene smiley
   Case "K"
    kleur = 39423 'oranje smiley
   Case "L"
    kleur = 255 'rode smiley
  End Select
  If kleur = 0 Then Exit Function
  With Selection.Font
   .Color = kleur
  End With
End Function
In regel 3 van de code staat voor welke regels hij ook daadwerkelijk werkt.
snIRC het gratis chatbotje voor onder andere triviant
pi_176469441
Dat ziet er handig uit.
Hoe zet ik zo'n macro in het excel bestand?
pi_176470238
registreer om deze reclame te verbergen
quote:
0s.gif Op zaterdag 13 januari 2018 02:59 schreef FFnog het volgende:
Dat ziet er handig uit.
Hoe zet ik zo'n macro in het excel bestand?
In de link heb je al een kant en klaar bestand als voorbeeld.
Via ALT F11 open je het scherm van de macro's. Je moet de code in regel 3 aanpassen naar het bereik dat je wilt gebruiken voor de kleurtjes:

Set KeyCells = Range("D3:F3")
Hierbij is op dit moment het bereik D3 t/m F3

Disclaimer:
Macro's zijn best even ingewikkeld om mee te starten en dit is zeker niet de makkelijkste macro om mee te beginnen.
snIRC het gratis chatbotje voor onder andere triviant
pi_176530840
Ik krijg dit zelf (nog) niet voor elkaar merk ik.
Ik ga even kijken of ik iemand kan vinden die al eerder iets met macro's heeft gedaan en me wil helpen.

Dank voor de info tot zover. ^O^
abonnementen ibood.com bol.com Coolblue
Forum Opties
Forumhop:
Hop naar:
(afkorting, bv 'KLB')