Avatar billede CHC Forsker
15. september 2020 - 13:48 Der er 10 kommentarer

Excel - farv fane (VBA)

Hej

I en fil med en masse ark vil jeg gerne kunne farve fanerne i to forskellige farver, afhængigt af teksten i celle A10.

Hvis der står "Ja" i celle A10, så skal det pågældende arks fane være grøn.
Hvis der står "Nej" i celle A10, så skal det pågældende arks fane være orange.

Kan det lade sig gøre, dog skal det første ark ikke medtages, da det er en oversigt?

Vh CHC
Avatar billede thomas_bk Ekspert
15. september 2020 - 13:59 #1
Ja det kan godt lade sig gøre.
Avatar billede CHC Forsker
15. september 2020 - 14:25 #2
;-)

Seriøse bud modtages gerne.
Avatar billede ebea Ekspert
15. september 2020 - 14:40 #3
Noget sådan du tænkte:

Private Sub Worksheet_Change(ByVal Target As Range)
If Range("A10").Value = "Ja" Then
    Me.Tab.Color = RGB(0, 255, 0)
ElseIf Range("A10").Value = "Nej" Then
    Me.Tab.Color = RGB(255, 0, 0)
Else
    Me.Tab.Color = RGB(200, 200, 200)
End If
End Sub
Avatar billede thomas_bk Ekspert
15. september 2020 - 14:41 #4
Du spørger bare om det kan lade sig gøre :-) og svaret er ja.
Avatar billede CHC Forsker
15. september 2020 - 14:58 #5
Hej ebea

Tusind tak for dit bud.

Jeg har kopieret koden ind i VBA, men kan ikke umiddelbart få det til at fungere.
Skal jeg gøre noget andet for at aktivere/køre koden?

Vh CHC
Avatar billede Jan K Ekspert
15. september 2020 - 15:26 #6
ebaa's kode skal ligge i kodearket for hvert ark, og så ændres farven, når der rettes i de enkelte ark.

Hvis du vil rette en masse ark på en gang, kan dette bruges

Sub Farv()
    For Each sh In ActiveWorkbook.Sheets
        If UCase(sh.Range("a10")) = "JA" Then
            sh.Tab.Color = RGB(0, 255, 0)
        ElseIf UCase(sh.Range("a10")) = "NEJ" Then
            sh.Tab.Color = 49407
        Else
            sh.Tab.Color = xlAutomatic
        End If
    Next sh
End Sub
Avatar billede ebea Ekspert
15. september 2020 - 15:26 #7
#5 - Nej, koden får Tab farven til at skifte, ved forskellige input i A10 ("Ja" eller "Nej", eller ingenting).
Kig på farven på Tab (Faneblad), når du skriver i A10.
Avatar billede Jan K Ekspert
15. september 2020 - 15:40 #8
#6: Det er jeg enig i. Men den skifter jo kun i det ark, hvor koden findes, og når der er mange ark, skal den vel ligge i hvert af disse?

Som jeg læser OP ønskes en kode, der farver alle faner afhængigt af indholdet i A10 i de enkelte ark. bortset fra Ark1.
Avatar billede CHC Forsker
17. september 2020 - 13:29 #9
Hej Jan K og ebea

Mange tak for indsatsen.

#6 Det er korrekt, at den skal rette arkene på en gang.
med koden i #6 for jeg en Compile error: Variable not defined, og så er 'sh' markeret i linjen 'For Each sh In ActiveWorkbook.Sheets'.

Nogle bud på hvad der kan være galt?

Vh CHC
Avatar billede CHC Forsker
27. september 2020 - 16:03 #10
Hej

Er der nogle bud på, hvorfor jeg med koden i #6 (nedenstående) får en
Compile error: Variable not defined, og så er 'sh' fremhævet med farve i linjen 'For Each sh In ActiveWorkbook.Sheets'.

Sub Farv()
    For Each sh In ActiveWorkbook.Sheets
        If UCase(sh.Range("a10")) = "JA" Then
            sh.Tab.Color = RGB(0, 255, 0)
        ElseIf UCase(sh.Range("a10")) = "NEJ" Then
            sh.Tab.Color = 49407
        Else
            sh.Tab.Color = xlAutomatic
        End If
    Next sh
End Sub

Vh CHC
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