Notifications
Clear all

Estrutura If Then

7 Posts
4 Usuários
0 Reactions
1,502 Visualizações
(@anonimo20)
Posts: 12
Eminent Member
Topic starter
 

Bom dia Pessoal!

Montei um looping com a estrutura If Then, para pintar de cinza todas as células que possuem apenas a palavra "Não", porém preciso que esse procedimento pinte também as células que possuem a palavra "Não" e outras palavras em conjunto. Exemplo: "Não pagar" também deve ser pintando, segue abaixo o código e em anexo o exemplo.

Sub Teste()

Dim cell As Range
Dim N As String

N = "Não"

    Range("A1").Select
    Range(Selection, Selection.End(xlDown)).Select
    For Each cell In Selection
        If cell = N Then
            cell.Select
            ActiveCell.Interior.Color = RGB(171, 171, 171)
        End If
    Next cell

End Sub
 
Postado : 09/05/2017 4:13 am
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Bem vindo ao Planilhando, anonimo20

Pode usar um coringa (asterisco) com o operador Like:

N = "Não*"
...
If cell Like N Then
...

 
Postado : 09/05/2017 4:41 am
leandroxtr
(@leandroxtr)
Posts: 447
Reputable Member
 

Seguindo este modelo do anonimo, gostaria de saber como faço para que a variável "N" receba diversos valores, por exemplo;
Se nas células for preenchido o valor "Não", o código vai pintar ela de cinza, beleza (y). Mas e se estiver escrito "nao", "Nao", "nAo", "não"..?

Bom, como faço para que a variável "N" receba todos estes valores, de forma que reconheça todos estes "Nãos" como resposta? Como faço pra resolver isso sem ter que limitar o usuário de preencher algum "não" que não corresponda ao valor exato do código?

Obrigado!

Anonimo, segue anexo a planilha para facilitar.

Se te ajudou, não se esqueça de dar um like na resposta e marcar o tópico como finalizado.

Abraços!
Leandro Cordeiro

 
Postado : 09/05/2017 5:16 am
Wagner Morel
(@wagner-morel-vidal-nobre)
Posts: 0
Illustrious Member
 

anonimo20, EdsonBR e leandroxtr,

Bom dia!

Pode ser feito declarando-se a variável N como uma matriz string unidimensional de tantos elementos quantos forem os "Nãos" possíveis de existirem. |Vejam op exemplo do Leandro, devidamente adaptado.

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 : 09/05/2017 5:58 am
EdsonBR
(@edsonbr)
Posts: 1057
Noble Member
 

Bom dia Wagner, bom dia Leandro!

Se nas células for preenchido o valor "Não", o código vai pintar ela de cinza, beleza (y). Mas e se estiver escrito "nao", "Nao", "nAo", "não"..?

Outra forma:

  • Na área de declarações do código (nível de módulo), usar a Instrução Option Compare Text (ignora maiúsculas e minúsculas)[/*:m:1fsogi1a]
  • Colocar os caracteres aceitáveis na Charlist aceita pelo Like na expressão de comparação (variável N)[/*:m:1fsogi1a][/list:u:1fsogi1a]
  • Option Compare Text
    Sub Teste()
    ...
    N = "N[aã]o*"
    ...
    If cell Like N Then
    ...
    End Sub

     
Postado : 09/05/2017 7:12 am
leandroxtr
(@leandroxtr)
Posts: 447
Reputable Member
 

Nossa!!

Muito interessante, Edson. Irei fazer os testes aqui, eu não conhecia essa forma!

Obrigado pelo esclarecimento wagner, consegui entender belezinha a forma que você colocou.

Abraços!

Se te ajudou, não se esqueça de dar um like na resposta e marcar o tópico como finalizado.

Abraços!
Leandro Cordeiro

 
Postado : 09/05/2017 9:02 am
(@anonimo20)
Posts: 12
Eminent Member
Topic starter
 

Muito Obrigado pessoal!

Tanto ao Edson quanto ao Wagner, me ajudaram muito!!!

 
Postado : 10/05/2017 6:53 am