Note: The other languages of the website are Google-translated. Back to English

Como alterar a cor da guia da planilha com base no valor da célula?

Normalmente, você pode alterar a cor da guia de forma fácil e rápida no Excel, mas você já tentou alterar a cor da guia com base no valor da célula em uma planilha? Se você está interessado nesta tarefa, falarei sobre alguns códigos para você colorir a guia da planilha com base em um valor de célula específico no Excel.

Alterar a cor da guia de uma folha com base no valor da célula com o código VBA

Altere as guias de várias planilhas com base no valor da célula com o código VBA


seta azul bolha direita Alterar a cor da guia de uma folha com base no valor da célula com o código VBA

Por exemplo, quero que a cor da guia da planilha atual seja verde se o valor da célula em A1 for o texto "VERDADEIRO", a cor da guia será vermelha se o texto em A1 for "FALSO" e a cor da guia será azul se o valor na célula A1 é qualquer outro texto, conforme a captura de tela a seguir:

folha de cores doc por valor 1

1. Clique com o botão direito na guia da planilha cuja cor você deseja alterar com base nos dados da célula A1 e escolha Ver código no menu de contexto.

2. No Microsoft Visual Basic para Aplicações janela, copie e cole o código VBA abaixo no Módulo janela.

Código VBA: altere a cor da guia de uma folha com base no valor da célula:

Private Sub Worksheet_Change(ByVal Target As Range)
'Updateby Extendoffice
    If Target.Address = "$A$1" Then
        Select Case Target.Value
        Case "False"
            Me.Tab.Color = vbRed
        Case "True"
            Me.Tab.Color = vbGreen
        Case Else
            Me.Tab.Color = vbBlue
        End Select
    End If
End Sub

folha de cores doc por valor 2

NOTA No código acima, A1 é a referência de célula na qual você deseja colorir a guia com base, “Verdadeiro","Falso”São o texto de que você precisa, você pode alterá-los de acordo com sua necessidade e pode alterar a cor do código conforme necessário.

3. Em seguida, salve e feche esta janela de código, agora, ao inserir o texto “Verdadeiro” na célula A1, a cor da guia atual ficará verde, e quando você inserir o texto “Falso” na célula A1, a cor da guia ficará vermelha, e se outro texto for inserido na célula A1, a cor da guia ficará azul automaticamente.


seta azul bolha direita Altere as guias de várias planilhas com base no valor da célula com o código VBA

Se você precisar alterar a cor das guias de várias planilhas com base em um valor de célula, aqui está um código que pode ajudá-lo, faça o seguinte:

1. Segure o ALT + F11 chaves para abrir o Microsoft Visual Basic para Aplicações janela, na janela aberta, clique duas vezes Esta pasta de trabalho sob a Projeto VBA seção, em seguida, copie e cole o código abaixo no campo Módulo:

Código VBA: altere as guias de várias planilhas com base no valor da célula:

Option Explicit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
  'Updateby Extendoffice 20160930
  Select Case Sheets("Master").Range("A1").Value
         Case "KTE"
             Sheets("Sheet1").Tab.Color = vbRed
         Case "KTO"
             Sheets("Sheet2").Tab.Color = vbGreen
         Case "KTW"
             Sheets("Sheet3").Tab.Color = vbBlue
         End Select
End Sub

folha de cores doc por valor 3

NOTA No código acima, A1 e Master são a célula e a planilha em que você deseja colorir a guia, Sheet1, Sheet2, Sheet3 são as planilhas que você deseja colorir as guias. KTE, KTW, KTO são os valores da célula em A1 nos quais você deseja colorir as guias, você pode alterar as referências e cores no código conforme necessário.

2. Em seguida, salve e feche esta janela de código, agora, ao inserir o texto KTE na célula A1 da planilha mestre, a guia Plan1 ficará colorida em vermelho, quando você inserir KTO na célula A1, a Planilha2 será colorida em verde, e quando você insere KTW na célula A1, a Planilha3 será colorida em azul, veja a imagem:

folha de cores doc por valor 4


As melhores ferramentas de produtividade para escritório

O Kutools for Excel resolve a maioria dos seus problemas e aumenta sua produtividade em 80%

  • armadilha para peixes: Insira rapidamente fórmulas complexas, gráficos e qualquer coisa que você tenha usado antes; Criptografar células com senha; Criar lista de discussão e enviar emails ...
  • Barra Super Fórmula (edite facilmente várias linhas de texto e fórmula); Layout de leitura (ler e editar facilmente um grande número de células); Colar na faixa filtrada...
  • Mesclar células / linhas / colunas sem perder dados; Dividir o conteúdo das células; Combinar linhas / colunas duplicadas... Evite células duplicadas; Comparar intervalos...
  • Selecione Duplicado ou Único Linhas; Selecione linhas em branco (todas as células estão vazias); Super Find e Fuzzy Find em muitos livros; Seleção aleatória ...
  • Cópia exata Várias células sem alterar a referência da fórmula; Criação automática de referências para várias folhas; Inserir marcadores, Caixas de seleção e mais ...
  • Extrair Texto, Adicionar texto, remover por posição, Remover Espaço; Criar e imprimir subtotais de paginação; Converter entre conteúdo de células e comentários...
  • Super Filtro (salvar e aplicar esquemas de filtro a outras planilhas); Classificação Avançada por mês / semana / dia, frequência e mais; Filtro Especial por negrito, itálico ...
  • Combine pastas de trabalho e planilhas; Mesclar tabelas com base em colunas-chave; Divida os dados em várias folhas; Conversão em lote de xls, xlsx e PDF...
  • Mais de 300 recursos poderosos. Suporta Office / Excel 2007-2021 e 365. Suporta todos os idiomas. Fácil implantação em sua empresa ou organização. Recursos completos de avaliação gratuita de 30 dias. Garantia de devolução do dinheiro em 60 dias.
guia kte 201905

Guia do Office traz interface com guias para o Office e torna seu trabalho muito mais fácil

  • Habilite a edição e leitura com guias em Word, Excel, PowerPoint, Publisher, Access, Visio e Project.
  • Abra e crie vários documentos em novas guias da mesma janela, em vez de em novas janelas.
  • Aumenta sua produtividade em 50% e reduz centenas de cliques do mouse para você todos os dias!
parte inferior da aba do escritório
Comentários (23)
Ainda não há classificações. Seja o primeiro a avaliar!
Este comentário foi feito pelo moderador no site
Dear Sir.
gentilmente me ajude como alterar a cor da guia da planilha com base na data/dia.

por exemplo:-
se a folha nº 1 for domingo, então - guia da folha 'VERMELHO'
se a folha nº 2 for segunda-feira, então - guia da folha 'Verde'
se a folha nº 3 for terça-feira, então - guia da folha 'Verde'
se a folha nº 4 for quarta-feira, então - guia da folha 'Verde'
se a folha nº 5 for quinta-feira, então - guia da folha 'Verde'
se a folha nº 6 for sexta-feira, então - guia da folha 'Verde'
se a folha nº 7 for sábado, então - guia da folha 'Verde'

por favor me ajude para o problema do Excel acima.

Obrigado e cumprimentos
Faiz Ibn Uvaiz P.
Este comentário foi feito pelo moderador no site
Sua descrição é um pouco vaga quanto ao que você está realmente tentando fazer. Se a pasta de trabalho for apenas para uma semana, pinte as guias. Se a duração for superior a uma semana, a solução será um pouco mais complexa. Até você detalhar o problema, existem várias soluções disponíveis. Eu, e muitas pessoas, não gastaremos nosso tempo codificando 2,000 soluções para você gratuitamente. Mas você detalha o problema que podemos fornecer 1 solução.
Este comentário foi feito pelo moderador no site
como posso alterar a cor de uma guia dependendo do clima em que um intervalo de células tem texto neles
Este comentário foi feito pelo moderador no site
A fórmula está funcionando para 'True' - a guia da planilha é VERMELHA, o que é ótimo, mas se eu mudar de 'True' para 'False', quero que a guia da planilha tenha 'sem cor'. Qual é a fórmula para ausência de cor na guia da planilha se 'True' não estiver selecionado? Além disso, se eu quiser que a fórmula seja para um grupo de células, por exemplo. A1:A30 qual é o código que uso?
Este comentário foi feito pelo moderador no site
Olá, Shannon:
O seguinte código VBA pode lhe fazer um favor, tente:

Private Sub Worksheet_Change (ByVal Target As Range)
Dim xRg como intervalo
Set xRg = Intersect(Target, Range("A1:A30"))
Se xRg não for nada, saia do sub
Selecione Case Target.Value
Caso "Verdadeiro"
Me.Tab.Color = vbRed
Caso "Falso"
Me.Tab.Color = Falso
End Select
End Sub

Espero que isso possa ajudá-lo!
Este comentário foi feito pelo moderador no site
Existe uma maneira de alterar a cor da guia com base no seguinte: Eu tenho uma guia mestre onde as linhas 3-7 são coloridas em azul e corresponderão às guias correspondentes 3-7 (que são nomeadas com base nos valores das células no mestre em essas linhas) que eu gostaria de cor azul. Em seguida, as linhas 8-12 são coloridas em verde e também correspondem às guias 8-12 e assim por diante.
Este comentário foi feito pelo moderador no site
Esse foi um truque incrível.
Eu vinculei a cor da guia com base no valor da célula A1 (<>0 RED e =0 Green), porém, a macro só executa se eu selecionar A1 , pressionar F2 e depois pressionar enter. Sem fazer isso, embora a cor da guia (com base em seu valor) deva ser, digamos Red, mas permanece verde.
Estou usando o excel 2007.
Este comentário foi feito pelo moderador no site
É possível fazer isso funcionar quando a célula A1 pode ter todas as 3 respostas em linhas separadas dentro da célula? Ou seja, KTE, KTO e KTW estão todos presentes na célula, pois permite várias seleções de uma lista suspensa.
Este comentário foi feito pelo moderador no site
Estou tentando usar esse código e aplicá-lo a uma caixa de seleção, então quando eu marcar a caixa, a cor muda, se eu desmarcá-la, ela muda de volta (eu tenho true=green, false=red ,else=red) . Mas quando eu verifico e desmarco ele lança um erro 'objeto necessário'


Sub CheckBox1_Click privada ()
_____If Target.Address = "$e$5" Then 'error here
__________Selecione Caso Alvo.Valor
__________Caso "Falso"
_______________Me.Tab.Color = vbRed
__________Caso "Verdadeiro"
_______________Me.Tab.Color = vbGreen
__________ Caso mais
_______________Me.Tab.Color = vbRed
__________ Finalizar Seleção
_____Fim se
End Sub

Copiei e colei para ver rodar e depois ajustei de acordo com a minha necessidade, mas não encontrei uma maneira de fazer rodar.
Este comentário foi feito pelo moderador no site
Caros colegas,
Por favor, peça ajuda. Preciso alterar a cor da guia da planilha com base no valor no formato [h]:mm. Por exemplo, se o valor estiver abaixo de 20:00 - vermelho, >20:00 verde.
Obrigado e cumprimentos!
Este comentário foi feito pelo moderador no site
Caros colegas,
Por favor, peça ajuda. Preciso alterar a cor da guia da planilha com base no valor no formato [h]:mm. Por exemplo, se o valor estiver abaixo de 20:00 - vermelho, >20:00 verde.
Obrigado e cumprimentos!
Este comentário foi feito pelo moderador no site
Olá, Vítor,
O código VBA abaixo pode resolver seu problema, tente, espero que possa ajudá-lo!

Private Sub Worksheet_Change (ByVal Target As Range)
Dim xStr As String
Dim xSN como string
Dim xDate As String
Dim xAddress como String
Dim xArr() como string
Dim xI1 como inteiro
Dim xSM como string
xData = "20:00"
xEndereço = "$A$1"
Se Target.Address <> xAddress Então Exit Sub
xStr = Alvo.Texto
xArr = Split(xStr, ":")
If (UBound(xArr) - LBound(xArr) + 1) > 2 Then Exit Sub
xI1 = Int(xArr(0))
Se (Len(xArr(0)) - 2) < 1 Então
Se xI1 > 23 Então Sair Sub
Outro
Exit Sub
Se acabar
xSM = xArr(1)
Em erro GoTo Err01
If (Len(xSM) - 2) <> 0 Então Exit Sub
Se Int(Left(xSM, 1)) > 5 Então Exit Sub
Se Int(Right(xSM, 1)) > 10 Então Exit Sub
Se xI1 >= 20 Então
Me.Tab.Color = vbGreen
Outro
Me.Tab.Color = vbRed
Se acabar
Erro01:
End Sub
Este comentário foi feito pelo moderador no site
Caro Skyyang,
Desculpe pelo feedback tardio. Esta fórmula está funcionando quando eu altero manualmente o valor na célula. Mas não era isso que eu precisava.
O valor da célula é resultado de uma fórmula de planilhas de diferenças. Por exemplo, esta é a fórmula na célula "O13-'520'!AD3". Isso significa que o valor nesta célula está mudando dependendo do valor da célula deferente na planilha deferente. O que eu preciso é que a cor da folha seja alterada automaticamente quando o valor na célula "O13-'520'!AD3" for alterado, quando o valor na célula "O13-'520'!AD3" estiver abaixo de 05:00 - vermelho , >20:00 verde, entre 05:00 e 20:00 marrom.
Obrigado desde já e um grande abraço!
Este comentário foi feito pelo moderador no site
Olá a todos, como faço para alterar a cor da guia com base em um determinado valor na coluna das várias planilhas? Obrigado
Este comentário foi feito pelo moderador no site
Como você vincularia a guia a um valor em uma guia diferente. No meu exemplo, tenho uma guia com todas as informações que são filtradas para várias guias automaticamente. No entanto, cada guia lerá verde ou vermelho, dependendo se houver um saldo pendente na guia mestre. Isso pode ser feito usando este código e, em caso afirmativo, onde escrevo o link para a planilha mestre dentro deste código?
Este comentário foi feito pelo moderador no site
Olá,

Nunca fiz código no Excel antes. Eu preciso de um código que faça o que esse código faz, mas preciso de outro parâmetro.

Então o que eu preciso é:

Se o valor da célula não for 0 e/ou se alguma outra célula tiver números, usando contagem, mude a cor para vermelho

Se o valor da célula for 0 e essas outras células estiverem vazias, usando contagem, mude a cor para verde
Este comentário foi feito pelo moderador no site
Olá, Tentar alterar a cor da guia com base no valor em uma planilha separada chamada Tracking aqui é o que tentei, mas não parece estar funcionando. Obrigado




Private Sub Worksheet_Change (ByVal Target As Range)

'Atualizar por Extendoffice 20160930

Se Target.Address = "Rastreamento!$C$2" Então

Selecione Case Target.Value

Caso "ip"

Me.Tab.Color = vbRed

Caso "w"

Me.Tab.Color = vbAmarelo

Caso "c"

Me.Tab.Color = vbGreen

Case Else

Me.Tab.Color = vbBlue

End Select

Se acabar

End Sub
Este comentário foi feito pelo moderador no site
Olá, Brad,
Para que o código seja executado corretamente, você não deve inserir o nome da planilha no código, por favor, aplique o seguinte código: (clique no nome da planilha que deseja executar este código e clique com o botão direito do mouse no nome da planilha e escolha View Code, em seguida cole o código no módulo)

Private Sub Worksheet_Change (ByVal Target As Range)

'Atualizar por Extendoffice 20160930

Se Target.Address = "$C$2" Então

Selecione Case Target.Value

Caso "ip"

Me.Tab.Color = vbRed

Caso "w"

Me.Tab.Color = vbAmarelo

Caso "c"

Me.Tab.Color = vbGreen

Case Else

Me.Tab.Color = vbBlue

End Select

Se acabar

End Sub

Por favor, tente, espero que possa ajudá-lo!
Este comentário foi feito pelo moderador no site
Estou procurando mudar a cor da guia com base em um dos 2 resultados de uma fórmula Eu tenho uma fórmula de = SE ((AND(AA1="Ocupado",AA2="Ocupado",AA3="Ocupado",AA4=" Ocupado"), "Ocupado", "Vaga")
Eu preciso que a aba fique vermelha se "Ocupado" e verde se "Vaga". No entanto, o código acima no post principal não reconhece a saída do If Than
Este comentário foi feito pelo moderador no site
Olá,
Eu preciso de alguma ajuda
Preciso alterar a cor da aba da planilha somente se em um determinado intervalo de células, tiver a data de hoje
Digamos, por exemplo,
A coluna L tem algumas datas no formato (13-maio-22)
Um dos valores da célula é a data de hoje, então a cor da folha da guia deve mudar para vermelho
Por favor ajude-
Obrigado antecipadamente
Este comentário foi feito pelo moderador no site
Eu gostaria que minha guia mudasse de cor se alguma célula na coluna O ou coluna P tiver um valor nela. Isso é possível?

Obrigado!
Este comentário foi feito pelo moderador no site
Desejo definir a cor da guia da planilha com base na cor da célula j4 em cada planilha. Existem mais de 18 guias e deseja atualizar as cores da guia quando a pasta de trabalho é aberta. Se eu não conseguir atualizar quando aberto, posso executar a macro depois que as equipes atualizarem as planilhas.
Este comentário foi feito pelo moderador no site
Olá, madeira
Para resolver seu problema, aplique o código abaixo: (Nota: Copie e cole o código abaixo no Esta pasta de trabalho modo de código)
Private Sub Workbook_AfterSave(ByVal Success As Boolean)
Call SetSheetColor
End Sub

Private Sub Workbook_Open()
Call SetSheetColor
End Sub

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Call SetSheetColor
End Sub

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Call SetSheetColor
End Sub

Sub SetSheetColor()
Dim xWShs As Sheets
Dim xRg As Range
Dim xFNum As Integer
Dim xSh As Worksheet
On Error Resume Next
Set xWShs = Application.ActiveWorkbook.Sheets
For xFNum = 1 To xWShs.Count
    Set xSh = xWShs.Item(xFNum)
    Set xRg = xSh.Range("J4")
    xSh.Tab.Color = xRg.Interior.Color
Next
End Sub


https://www.extendoffice.com/images/stories/comments/comment-skyyang/doc-color-sheet.png

Por favor, tente, espero que possa ajudá-lo!
Não há comentários postados aqui ainda
Deixe o seu comentário
Postando como convidado
×
Avalie esta postagem:
0   Personagens
Locais sugeridos

Siga-nos

Copyright © 2009 - www.extendoffice.com. | Todos os direitos reservados. Distribuído por ExtendOffice. | | | Mapa do site
Microsoft e o logotipo do Office são marcas comerciais ou marcas registradas da Microsoft Corporation nos Estados Unidos e / ou em outros países.
Protegido por Sectigo SSL