NUNCA MAIS PASSE RAIVA POR NÃO CONSEGUIR RESOLVER UM PROBLEMA COM O EXCEL - GARANTIDO!

UNIVERSIDADE DO VBA - Domine o VBA no Excel Criando Sistemas Completos - Passo a Passo - CLIQUE AQUI

Quer Receber Novidades e E-books Gratuitos de Excel? * Junte-se a mais de 103.000 pessoas!

Curso Grátis de Excel Avançado - Módulo 5 - Lição: Estrutura If... Then e os Operadores de Comparação

120 Lições | Gratuito Online | Autor: Júlio Battisti


Comparando valores com os Operadores de comparação.

Em determinadas situações, existe a necessidade de efetuarmos comparações entre os valores de duas ou mais variáveis ou expressões. Com base no resultado da comparação - Verdadeiro ou Falso -, a execução do código VBA pode seguir caminhos diferentes. Normalmente utilizamos comparações, nas estruturas de controle do código, também conhecidas como laços de controle. Para que possamos estudar os operadores de comparação, vamos apresentar uma das estruturas de controle mais simples que existem no VBA, a estrutura If Then Else. Abaixo temos um exemplo do funcionamento da estrutura If Then Else:

If x>y Then
   ' Comandos a serem executados quando x for maior do que y
   Comando 1
   Comando 2
   ...
   Comando n
Else
   ' Comandos a serem executados quando x for menor ou igual a y
   Comando 1
   Comando 2
   ...
   Comando n
End If

Conforme podemos ver, a estrutura If Then Else, é bastante simples. Fazemos um teste no início da estrutura. Se o valor do teste for verdadeiro, executamos os comandos na seqüência, caso contrário, executamos os comandos após o Else. Note que utilizamos o operador de comparação "maior do que: >", no caso x>y, estamos testando se x é maior do que y. Logo em seguida apresentaremos detalhes sobre os operadores de comparação disponíveis no VBA. Podemos utilizar laços If Then Else mais complexos, como os do exemplo:

If x>y Then
   ' Comandos a serem executados quando x for maior do que y
   Comando 1
   Comando 2
   ...
   Comando n
ElseIf x=y Then
   ' Comandos a serem executados quando x for igual a y
   Comando 1
   Comando 2
   ...
   Comando n
Else
   ' Comandos a serem executados quando x for menor do que y
   Comando 1
   Comando 2
   ...
   Comando n
End If

Podemos utilizar tantos ElseIf, quantos forem necessários. Cada ElseIf é utilizado para fazer um teste adicional.

Na Tabela a seguir temos uma descrição dos operadores de comparação.

Operadores de comparação do VBA:

Operador Símbolo Descrição
Igualdade = É igual à.
Diferente <> É diferente de.
Maior que > É maior do que.
Menor que < è menor do que.
Maior ou igual a >= É maior ou igual a.
Menor ou igual a <= É menor ou igual a.

Exemplo:

Acessar o Editor VBA para alterar a macro AplicaNegrito, da planilha C:\ExcelAvancado\Módulo 5 - Exemplo VBA.xls.

  1. 1. Abra o Excel.
  2. 2. Abra a Planilha C:\ExcelAvancado\ Módulo 5 - Exemplo VBA.xls.
  3. 3. Como existem macros já criadas, o Excel pede uma confirmação, perguntando se você deseja ativar as macros existentes. Essa confirmação é solicitada devido ao perigo representado pelos vírus de Macro, que podem afetar os aplicativos do Microsoft Office.
  4. 4. Clique no botão Ativar Macros.
  5. 5. A planilha será aberta.
  6. 6. Nessa planilha existe uma macro chamada AtivaNegrito. Vamos editar essa macro. O nosso objetivo é utilizar as estruturas If...Then...Else e os operadores de comparação.
  7. 7. Selecione o comando Ferramentas -> Macro -> Macros...
  8. 8. Será exibida a janela Macro.
  9. 9. Clique na macro AplicaNegrito para seleciona-la.
  10. 10. Clique no botão Editar.
  11. 11. Será aberto o editor do VBA e o código associado à macro AplicaNegrito.
  12. 12. Altere o código, para que fique conforme indicado na listagem a seguir:
' Exemplo de utilização de estruturas If e operadores de comparação.

' Curso: Excel Avançado em 120 Lições.
' Autor: Júlio Battisti
' Site: www.juliobattisti.com.br
Selection.Font.Bold = True
' Declaração das variáveis.
Dim x,y,z,k As Integer
x=12
y=15
z=20
k=15
If x<y Then
   MsgBox "x é menor do que y."
Else
   MsgBox "x é maior do que y."
End If
If y<x Then
   MsgBox "Y é menor do que x"
Else
   MsgBox "Y é maior do que x"
End If
If y<=k Then
   MsgBox "y é menor ou igual à k"
Else
   MsgBox "Y é maior do que k"
End If
If x<>z Then
   MsgBox "x e z são diferentes"
End If
  1. 13. Após digitar o código feche o Editor do VBA.
  2. 14. Salve a Planilha.
  3. 15. Clique na célula F3.
  4. 16. Pressione Ctrl+Shift+K para executar a macro AtivaNegrito.
  5. 17. Será exibida a seguinte mensagem:

Excel Avançado em 120 Lições - Júlio Battisti

  1. 18. Dê um clique no botão OK.
  2. 19. Será exibida a seguinte mensagem:

Excel Avançado em 120 Lições - Júlio Battisti

  1. 20. Dê um clique no botão OK.
  2. 21. Será exibida a seguinte mensagem:

Excel Avançado em 120 Lições - Júlio Battisti

  1. 22. Dê um clique no botão OK.
  2. 23. Será exibida a seguinte mensagem:

Excel Avançado em 120 Lições - Júlio Battisti

  1. 24. Dê um clique no botão OK.
  2. 25. Você estará de volta à planilha.
  3. 26. Mantenha a planilha aberta pois iremos utiliza-la nas demais lições desse módulo.

O uso de Operadores de comparação, amplia o leque de possibilidades para nossos programas em VBA. Devemos ter alguns cuidados quando comparamos variáveis que possuem valores de tipos diferentes, como por exemplo, número e texto. A Tabela a seguir descreve o que acontece, quando comparamos variáveis com valores de tipos diferentes.

Comparando valores de tipos diferentes:

Comparação Resultado
Entre duas variáveis com valores numéricos. Comparação normal.
Entre duas variáveis com valores do tipo texto. É efetuada uma comparação entre valores de texto. Por exemplo Xuxa é maior do que Abel (X vem depois do A).
Uma das variáveis possui um valor numérico e outra possui um valor de texto O valor numérico será sempre considerado menor do que o valor de texto.
Uma das variáveis possui um valor numérico e a outra está vazia. Efetua uma comparação numérica, atribuindo 0 (zero) para a variável vazia.
Uma variável possui um valor de texto e a outra está vazia, sem valor. Efetua uma comparação de texto, atribuindo texto de comprimento zero (" ")para a variável vazia.
As duas variáveis possuem um valor vazio. São consideradas iguais.

Com a utilização dos operadores aritméticos e de comparação, ampliamos bastante o leque de opções, na criação de códigos com o VBA. Na próxima lição, veremos alguns detalhes sobre "Escopo" de variáveis.

[LIVRO]: MACROS E PROGRAMAÇÃO VBA NO EXCEL 2010 - PASSO-A-PASSO

APRENDA COM JULIO BATTISTI - 1124 PÁGINAS: CLIQUE AQUI