Ik hoop dat ik hier in het goede forum zit, want het betreft een VB probleem binnen Excel:
Bij het veranderen van een waarde in een cel in excel door een keuzelijst moet
een andere cel een bepaalde kleur krijgen. Omdat het meer dan 3
variabelen betreft, kan er geen gebruik worden gemaakt van
'voorwaardelijke opmaak'.
Na een zoektocht heb ik de hieronder volgende VBA code
gevonden en aangepast. Er zijn helaas twee problemen met deze code:
1. De code geldt nu voor het hele blad, maar moet maar voor een samengevoegede cel (A1) gelden.
2. Als ik een getal invoer, en bevestig met enter, gaat
de kleuromschakeling goed. Helaas werkt dit niet als gevolg van een
functie of waarde uit een keuzelijst (wordt automatisch in de
uitvoercel gegenereerd).
Ik heb de opties geprobeert om de macro te activeren bij bvb veranderingen op de pagina, maar daarmee wordt dit laatste probleem niet verholpen.
Kan iemand mij helpen om deze problemen op te lossen?
Alvast bedankt!
Bij het veranderen van een waarde in een cel in excel door een keuzelijst moet
een andere cel een bepaalde kleur krijgen. Omdat het meer dan 3
variabelen betreft, kan er geen gebruik worden gemaakt van
'voorwaardelijke opmaak'.
Na een zoektocht heb ik de hieronder volgende VBA code
gevonden en aangepast. Er zijn helaas twee problemen met deze code:
1. De code geldt nu voor het hele blad, maar moet maar voor een samengevoegede cel (A1) gelden.
2. Als ik een getal invoer, en bevestig met enter, gaat
de kleuromschakeling goed. Helaas werkt dit niet als gevolg van een
functie of waarde uit een keuzelijst (wordt automatisch in de
uitvoercel gegenereerd).
Ik heb de opties geprobeert om de macro te activeren bij bvb veranderingen op de pagina, maar daarmee wordt dit laatste probleem niet verholpen.
Kan iemand mij helpen om deze problemen op te lossen?
Alvast bedankt!
code:
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
| Private Sub Worksheet_Change(ByVal Target As Excel.Range) With Target Select Case .Value Case 1 .Interior.ColorIndex = 43 Case 2 .Interior.ColorIndex = 10 Case 3 .Interior.ColorIndex = 5 Case 4 .Interior.ColorIndex = 18 Case 5 .Interior.ColorIndex = 30 Case 6 .Interior.ColorIndex = 30 Case Else .Interior.ColorIndex = xlNone End Select End With End Sub |