• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Cel kleuren door aanklikken

Status
Niet open voor verdere reacties.

Marco9999

Gebruiker
Lid geworden
4 jan 2011
Berichten
70
Hallo,

Ik gebruik onderstaande code om automatisch een kruisje in een cel te plaatsen bij het aanklikken van de cel.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Not Intersect(Target, Range("f3:h54")) Is Nothing Then
If ActiveCell Then ActiveCell = "" Else ActiveCell = "X"
End If

Nu wil ik op dezelfde manier een cel rood laten kleuren bij aanklikken.
Ik heb al wat zitten pielen maar ik kom er niet uit.

Iemand een ideetje?
 
Dat kan met:
Code:
Activecell.Interior.Color=255
 
Ja hoor, ik heb 'm aan de praat met

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)

If Not Intersect(Target, Range("f3:h54")) Is Nothing Then
If ActiveCell.Interior.Pattern = xlNone Then ActiveCell.Interior.Color = 255 Else ActiveCell.Interior.Pattern = xlNone
End If

If Not Intersect(Target, Range("o3:q54")) Is Nothing Then
If ActiveCell.Interior.Pattern = xlNone Then ActiveCell.Interior.Color = 255 Else ActiveCell.Interior.Pattern = xlNone
End If

End Sub

Dank!
 
Kan iets korter en met dubbel klik eventueel

Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)

If Not Intersect(Target, Range("F3:H54,O3:Q54")) Is Nothing Then
If ActiveCell.Interior.Pattern = xlNone Then ActiveCell.Interior.Color = 255 Else ActiveCell.Interior.Pattern = xlNone
End If

End Sub
 
Laatst bewerkt:
Target staat er niet voor niets als variabele.

Code:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
 If Not Intersect(Target, Range("F3:H54,O3:Q54")) Is Nothing Then Target.Interior.Color = IIf(Target.Interior.Color = 255, xlNone, 255)
End Sub

Bij een dubbelklik werkt het prettiger zo.
Code:
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
  If Not Intersect(Target, Range("F3:H54,O3:Q54")) Is Nothing Then
    Target.Interior.Color = IIf(Target.Interior.Color = 255, xlNone, 255)
    [COLOR="#FF0000"]Cancel = True[/COLOR]
  End If
End Sub
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan