Avatar billede anskov Mester
25. marts 2019 - 15:49 Der er 7 kommentarer og
1 løsning

Farv grøn når man står i celle, farv grå når man forlader celle

Hej Alle

Jeg har en kode der sørger for at når man klikker på en celle bliver cellen grøn.
Når jeg forlader den igen bliver den hvid (DOG er koden skrevet sådan at den gør alle andre celler i arket hvid, inklusiv den man forlader, så den opdatere alle celler og gør dem hvide, undtagen den aktive celle).
Dette er ikke helt godt, jeg vil egentlig gerne have at når man for lader cellen bliver den grå mens de andre celler er hvide (undtagen den aktive celle man vælger herefter som skal blive grøn).
Jeg har prøvet med betinget formatering formatering, men så bliver cellen ikke grøn.

Så kort:
Standard regneark hvor celler er hvide.
Når man vælger en celle bliver den grøn.
Når man forlader den bliver den grå.

Se min kode jeg bruger herunder.

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
Cells.Interior.ColorIndex = 0
Target.Interior.Color = vbGreen
Application.ScreenUpdating = True
End Sub

Håber nogen kan hjælpe
Avatar billede Jan Hansen Ekspert
25. marts 2019 - 19:39 #1
Mit forslag


Option Explicit
Dim rCell As Range

Private Sub Worksheet_Activate()
    Set rCell = ActiveCell
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
Cells.Interior.ColorIndex = 0
rCell.Interior.Color = RGB(180, 180, 180)
Target.Interior.Color = vbGreen
Set rCell = Target
Application.ScreenUpdating = True
End Sub


Jan
Avatar billede anskov Mester
26. marts 2019 - 08:55 #2
Hej Jan

der kommer en debug ved
rCell.Interior.Color = RGB(180, 180, 180)
Avatar billede anskov Mester
26. marts 2019 - 08:59 #3
Debug:

Run-time error
Object variable or with block variable not set

Jeg har koden til at stå som følger:

Option Explicit
Dim rCell As Range
----------------------------------------------------------------------------------------------------------------
Private Sub Worksheet_Activate()
    Set rCell = ActiveCell
End Sub
----------------------------------------------------------------------------------------------------------------
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.ScreenUpdating = False
Cells.Interior.ColorIndex = 0
rCell.Interior.Color = RGB(180, 180, 180)
Target.Interior.Color = vbGreen
Set rCell = Target
Application.ScreenUpdating = True
End Sub
----------------------------------------------------------------------------------------------------------------
Private Sub CommandButton1_Click()
ActiveCell.Offset(0, 1) = "Ok"
End Sub
Avatar billede Jan Hansen Ekspert
26. marts 2019 - 09:19 #4
Du skal væk fra arket og tilbage da rCell bliver sat når arket aktiveres ellers skal den sættes på anden måde evt


Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    Application.ScreenUpdating = False
        On Error GoTo ErrorHandler
        Cells.Interior.ColorIndex = 0
        rCell.Interior.Color = RGB(180, 180, 180)
        Target.Interior.Color = vbGreen
        Set rCell = Target
    Application.ScreenUpdating = True
Exit Sub
ErrorHandler:
    Set rCell = Range("A1")
End Sub


Ej testet
Jan
Avatar billede anskov Mester
26. marts 2019 - 10:04 #5
Hej Jan

Ok så virker det, bare ikke efter hensigten og det er min skyld og min forklaring der har været dårlig.

Jeg har et testskema hvor der er nogle celler der er grå (er gjort for at fremhæve cellerne). Den ene celle kunne der stå "test dør" den anden celle kunne der stå "Test håndtag". og begge celler er grå.
Det der så er meningen er at når man tester Døren så klikker man på cellen "test dør" og som indikation for at man står i cellen bliver cellen grøn. Når man så skal teste håndtaget, trykker man på cellen "Test håndtag" så bliver "Test dør" cellen igen grå (og forbliver grå) og "Test håndtag" cellen bliver grøn og så frem deles ned igennem test skemaet.

Håber det opklare lidt.
Avatar billede Jan Hansen Ekspert
26. marts 2019 - 10:48 #6
ok, slet:
Cells.Interior.ColorIndex = 0

og du vil beholde grå

Jan
Avatar billede anskov Mester
26. marts 2019 - 12:06 #7
Tak Jan
Avatar billede Jan Hansen Ekspert
26. marts 2019 - 12:07 #8
Velbekomme
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester