Notifications
Clear all

Formula para várias células

9 Posts
4 Usuários
0 Reactions
1,469 Visualizações
(@jonatasjho)
Posts: 25
Eminent Member
Topic starter
 

Prezados,

Já procurei solução neste fórum e outros locais na internet e não consegui uma solução.

Gostaria de aplicar a seguinte formula, para várias linhas desta coluna "E", ou até mesmo para toda coluna.

If Range("E2:E2").Value = "Próximos dias" Then
    Range("E2:E2").Interior.ColorIndex = 45  'Celula 45 = Laranja
    Range("E2:E2").Font.Bold = False 'Negrito Desativado
    Range("E2:E2").Font.ColorIndex = 1 'Font 1 = Preto
ElseIf Range("E2:E2").Value = "ATRASADA!" Then
    Range("E2:E2").Interior.ColorIndex = 3  'Celula 3 = Vermelho
    Range("E2:E2").Font.Bold = True 'Negrito Ativado
    Range("E2:E2").Font.ColorIndex = 2 'Font 2 = Branco
ElseIf Range("E2:E2").Value = "Recebida" Then
    Range("E2:E2").Interior.ColorIndex = 43  'Celula 43 = Verde Claro
        Range("E2:E2").Font.Bold = False 'Negrito Desativado
    Range("E2:E2").Font.ColorIndex = 10 'Font 10 = Verde Escuro
    
    Else
    Range("E2:E2").Interior.ColorIndex = 0  'Celula 0 = Sem Cor
    Range("E2:E2").Font.Bold = False 'Negrito Desativado
    Range("E2:E2").Font.ColorIndex = 1 'Font 1 = Preto

End If
 
Postado : 20/12/2017 1:10 pm
xlarruda
(@xlarruda)
Posts: 732
Honorable Member
 

Olá amigo, tente isso...

Sub teste()
Application.ScreenUpdating = False
Dim x As Long
x = [Plan1].Range("E" & Rows.Count).End(xlUp).Row
[Plan1].Range("E2").Select
For x = 2 To x
If Range("E" & x).Value = "Próximos dias" Then
    Range("E" & x).Interior.ColorIndex = 45  'Celula 45 = Laranja
    Range("E" & x).Font.Bold = False 'Negrito Desativado
    Range("E" & x).Font.ColorIndex = 1 'Font 1 = Preto
    ActiveCell.Offset(1, 0).Select
ElseIf Range("E" & x).Value = "ATRASADA!" Then
    Range("E" & x).Interior.ColorIndex = 3  'Celula 3 = Vermelho
    Range("E" & x).Font.Bold = True 'Negrito Ativado
    Range("E" & x).Font.ColorIndex = 2 'Font 2 = Branco
    ActiveCell.Offset(1, 0).Select
ElseIf Range("E" & x).Value = "Recebida" Then
    Range("E" & x).Interior.ColorIndex = 43  'Celula 43 = Verde Claro
        Range("E" & x).Font.Bold = False 'Negrito Desativado
    Range("E" & x).Font.ColorIndex = 10 'Font 10 = Verde Escuro
    ActiveCell.Offset(1, 0).Select
    Else
    Range("E" & x).Interior.ColorIndex = 0  'Celula 0 = Sem Cor
    Range("E" & x).Font.Bold = False 'Negrito Desativado
    Range("E" & x).Font.ColorIndex = 1 'Font 1 = Preto
    ActiveCell.Offset(1, 0).Select
End If
Next x
Application.ScreenUpdating = True
End Sub

Obs. Isso também pode ser feito com formatação condicional.

Abrç!

___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].

Att.

André Arruda

 
Postado : 20/12/2017 1:42 pm
(@jonatasjho)
Posts: 25
Eminent Member
Topic starter
 

Esta dando o seguinte erro nesta linha do código:
Erro em tempo de execução '424':
O objeto é obrigatório

x = [Notas].Range("E" & Rows.Count).End(xlUp).Row

 
Postado : 20/12/2017 2:37 pm
xlarruda
(@xlarruda)
Posts: 732
Honorable Member
 

acho que o erro está aqui: " [Notas].range......"

Não vi sua arquivo mas acredito que "Notas" deva ser o nome de uma das planilhas e você está tenteando fazer uma adaptação.

Acontece que você não pode referenciar uma planilha com seu nome entre colchetes. Deve-se fazer referencia à Plan que ela corresponde. Se vai escrever o nome da planilha deve então coloca-lo entre parenteses e entre aspas.

Se eu estiver correto, por favor altere essa linha para:

x = Sheets("Notas").Range("E" & Rows.Count).End(xlUp).Row

Caso não seja isso, por favor, me explique o que significa "Notas" ou me envie o arquivo para fazer a adaptação para voce.

Abrç!

___________________________________________________________________________________________
Se a resposta atendeu sua dúvida, por favor, clique no Gostei e marque o Tópico como [Resolvido].

Att.

André Arruda

 
Postado : 20/12/2017 2:43 pm
(@jonatasjho)
Posts: 25
Eminent Member
Topic starter
 

Não consegui.

Segue arquivo em anexo como solicitado.

 
Postado : 20/12/2017 2:57 pm
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

jonatasjho,

Boa noite!

Fiz as adaptações necessárias recomendadas pelo colega xlarruda. Veja se é assim.

Solicitamos, por gentileza, não utilizar citações de todo o texto das respostas que lhe são dadas. Isso é desnecessário.

Desenvolvo pequenas soluções em VBA Excel a valores que variam entre R$ 50,00 a R$ 200,00. Se te interessar, entre no meu instagran (vba_excel_desenvolvimento)

Atenciosamente
Wagner Morel

 
Postado : 20/12/2017 5:58 pm
(@jonatasjho)
Posts: 25
Eminent Member
Topic starter
 

Obrigado pela ajuda.

Porém agora ele não esta buscando mais a primeira linha de código.

Range("E2:E" & Cells(Rows.Count, 2).End(3).Row).FormulaLocal = "=SE(ÉCÉL.VAZIA(D2);SE(C2-HOJE()<0;""ATRASADA!"";SE(C2-HOJE()<8;""Próximos dias"";""""));""Recebida"")"
Range("E2:E" & Cells(Rows.Count, 2).End(3).Row).Value = Range("E2:E" & Cells(Rows.Count, 2).End(3).Row).Value

É para ele mudar as cores, de acordo com essas formulas.

 
Postado : 21/12/2017 5:32 am
(@jonatasjho)
Posts: 25
Eminent Member
Topic starter
 

Alguém tem uma sugestão para o código a cima?

 
Postado : 02/01/2018 1:47 pm
(@mprudencio)
Posts: 2749
Famed Member
 

Pq simplesmente nao formata a planilha de acordo com sua necessidade. Aparentemente seu codigo so faz isso.

Marcelo Prudencio
Microsoft Excel Brasil no Facebook

"Começar já é a metade do caminho."
Autor Desconhecido

Simplifica que simples fica.
Nicole Tomazella.

"O Simples é Sempre Melhor Que o Complicado"
Jorge Paulo Lemann.

 
Postado : 02/01/2018 3:52 pm