Hallo allemaal,
Ik heb een gedeelde excelbestand waarin de gebruikers hun rooster aan kunnen geven met behulp van cijfers. Bij het vullen van het rooster neem het rooster van de gebruiker een kleur aan van de activiteit. Ik heb tot zover de volgende VBA code in het werkblad dat de kleur aanneemt van de activiteit.
De cel neemt de kleur aan van de activiteit met de code en wordt blank bij het verwijderen van de cijfer, tot zover verloopt het nog goed. Alleen ik loop tegen het volgende aan: Als een gebruiker een cijfer invult en vervolgens op enter of de pijltjes toets gebruikt, dan wordt de cel die al een activiteit aangeeft na het intoetsen van de toest blank, dit zou niet moeten gebeuren. Als er geen activiteit wordt ingevuld en de pijltjes toest en de enter knop wordt gebruik dan werkt het rooster wel naar wens. Verder als de gebruiker de cellen wil kopieren en deze wil plakken, nemen de cijfers niet de bijbehorende kleur van de activiteit aan, terwijl dit wel de bedoeling moet zijn.
Hoe kan ik ervoor zorgen dat bij het gebruiken van de pijltjes toest en de enter knop bij het vullen van de activiteit de al gevulde cel onveranderd laat en dat de gebruiker cellen kan kopieren en bij het plakken de kleur van de activiteit wordt aangenomen.
Ik hoop dat ik het enigzins duidelijk uit heb kunnen leggen en dat iemand mij hiermee verder kan helpen. Alvast bedankt
Ik heb een gedeelde excelbestand waarin de gebruikers hun rooster aan kunnen geven met behulp van cijfers. Bij het vullen van het rooster neem het rooster van de gebruiker een kleur aan van de activiteit. Ik heb tot zover de volgende VBA code in het werkblad dat de kleur aanneemt van de activiteit.
VBScript:
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
31
32
33
34
| Private Sub Worksheet_Change(ByVal Target As Excel.Range) If [A1] = 1 Then Exit Sub If Target.Count > 1 Then GoTo Multi: If Not Intersect(Target, Range("A5:AZ95")) Is Nothing Then With Target Select Case .Value Case Is = "0" .Interior.ColorIndex = 35 Case Is = "1" .Interior.ColorIndex = 8 Case Is = "2" .Interior.ColorIndex = 6 Case Is = "3" .Interior.ColorIndex = 3 Case Is = "4" .Interior.ColorIndex = 4 Case Is = "5" .Interior.ColorIndex = 48 Case Is = "6" .Interior.ColorIndex = 39 Case Is = "7" .Interior.ColorIndex = 7 Case Is = "8" .Interior.ColorIndex = 40 Case Is = "9" .Interior.ColorIndex = 43 Case Else .Interior.ColorIndex = xlNone End Select End With End If Multi: Selection.Interior.ColorIndex = xlNone End Sub |
De cel neemt de kleur aan van de activiteit met de code en wordt blank bij het verwijderen van de cijfer, tot zover verloopt het nog goed. Alleen ik loop tegen het volgende aan: Als een gebruiker een cijfer invult en vervolgens op enter of de pijltjes toets gebruikt, dan wordt de cel die al een activiteit aangeeft na het intoetsen van de toest blank, dit zou niet moeten gebeuren. Als er geen activiteit wordt ingevuld en de pijltjes toest en de enter knop wordt gebruik dan werkt het rooster wel naar wens. Verder als de gebruiker de cellen wil kopieren en deze wil plakken, nemen de cijfers niet de bijbehorende kleur van de activiteit aan, terwijl dit wel de bedoeling moet zijn.
Hoe kan ik ervoor zorgen dat bij het gebruiken van de pijltjes toest en de enter knop bij het vullen van de activiteit de al gevulde cel onveranderd laat en dat de gebruiker cellen kan kopieren en bij het plakken de kleur van de activiteit wordt aangenomen.
Ik hoop dat ik het enigzins duidelijk uit heb kunnen leggen en dat iemand mij hiermee verder kan helpen. Alvast bedankt