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?
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
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
#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.
#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'.
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
Synes godt om
Ny brugerNybegynder
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.