Avatar billede QBs Nybegynder
20. januar 2013 - 23:41 Der er 9 kommentarer og
1 løsning

Cellefarve

Hvordan gør man så cellefarven ændrer sig når man markerer en celle?

Har lavet et arbejdskort som er "låst", men det er lidt svært at se hvilke celle markøren står i, så jeg vil gerne gøre sådan at cellefarven ændre sig når markøren står i cellen, eller cellen er "klar" til at blive skrevet i.

Arbejder med Excel 2007
Avatar billede jens48 Ekspert
21. januar 2013 - 20:19 #1
Jeg fandt nedenstående på http://www.developerfusion.com/code/2095/excel-coloured-cursor/

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        Cells.Interior.ColorIndex = xlColorIndexNone
        Selection.Interior.ColorIndex = 8
    End Sub

Kan det bruges?
Avatar billede QBs Nybegynder
29. januar 2013 - 16:13 #2
Tak for svar.
Har prøvet at kikke på det, men jeg kan ikke rigtig finde ud af hvor den kode skal sættes ind.
Avatar billede jens48 Ekspert
29. januar 2013 - 16:18 #3
Du skal højreklikke på fanebladet og vælge Vis koder og indsætte koden der.
PS. Du skal ikke bruge svar. Det kan jeg give og du kan, hvis du kan bruge det, acceptere det.
Avatar billede QBs Nybegynder
29. januar 2013 - 23:56 #4
Så lykkedes det at finde ind til det, men der kommer en fejlmeddelelse.
Har opdaget at linket er lagt i 2002, altså til en tidligere Excel.

Takker for din hjælp.
Avatar billede QBs Nybegynder
30. januar 2013 - 08:52 #5
Fandt denne:
Private Sub Worksheet_selectionChange(ByVal Target As Excel.Range)
If Not Intersect(Target, [a1:av65536]) Is Nothing Then
myleft = 1
myup = 1
If Target.Column = 1 Then myleft = 0
If Target.Row = 1 Then myup = 0
With ActiveCell
.Interior.ColorIndex = 8
.Offset(-myup, -myleft).Interior.ColorIndex = 0
.Offset(0, -myleft).Interior.ColorIndex = 0
.Offset(myup, -myleft).Interior.ColorIndex = 0
.Offset(-myup, 0).Interior.ColorIndex = 0
.Offset(myup, 0).Interior.ColorIndex = 0
.Offset(-myup, myleft).Interior.ColorIndex = 0
.Offset(0, myleft).Interior.ColorIndex = 0
.Offset(myup, myleft).Interior.ColorIndex = 0
End With
End If
End Sub

problemet med denne er at cellefarven har en tendens til at blive "hængende" og det virker ikke når arket bliver beskyttet.
Avatar billede jens48 Ekspert
30. januar 2013 - 08:56 #6
Du skal tage makroen fra min kommentar og ikke fra linket da der i linket er en <br> inkluderet
Avatar billede QBs Nybegynder
30. januar 2013 - 09:45 #7
Det hjalp, nu virker det.

Bortset lige fra at der kommer en "runtime error 1004" når arket bliver låst, men så må jeg jo undlade at gøre det.

Takker for hjælpen.
Avatar billede store-morten Ekspert
31. januar 2013 - 22:38 #8
Låst uden kode:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        'lås op, uden kode
        ActiveSheet.Protect DrawingObjects:=False, Contents:=False, Scenarios:=False
        Cells.Interior.ColorIndex = xlColorIndexNone
        Selection.Interior.ColorIndex = 8
        'lås, uden kode
        ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub
Avatar billede QBs Nybegynder
03. februar 2013 - 16:31 #9
Takker, det virker noget bedre efter hensigten.
Avatar billede store-morten Ekspert
03. februar 2013 - 17:13 #10
Velbekomme.

Giv point til jens48 i #3

Her er en lille film om:
Hvordan man accepterer svar på Eksperten.dk
http://www.youtube.com/watch?v=s26DGiuvXBo
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
Kategori
Vi har et stort udvalg af Excel kurser. Find lige det kursus der passer dig lige her.

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