{"id":680,"date":"2023-09-28T18:49:51","date_gmt":"2023-09-28T18:49:51","guid":{"rendered":"https:\/\/exceladvisor.org\/pt\/se-2\/"},"modified":"2023-12-06T11:43:56","modified_gmt":"2023-12-06T11:43:56","slug":"se-2","status":"publish","type":"page","link":"https:\/\/exceladvisor.org\/pt\/se-2\/","title":{"rendered":"Como usar a instru\u00e7\u00e3o if com else no vba?"},"content":{"rendered":"<div class=\"excel-before-content-2\" id=\"excel-1756829481\"><script type=\"text\/javascript\">\r\n\tatOptions = {\r\n\t\t'key' : 'c1158f160081d6540a8409e6925dab94',\r\n\t\t'format' : 'iframe',\r\n\t\t'height' : 250,\r\n\t\t'width' : 300,\r\n\t\t'params' : {}\r\n\t};\r\n<\/script>\r\n<script type=\"text\/javascript\" src=\"\/\/www.highperformanceformat.com\/c1158f160081d6540a8409e6925dab94\/invoke.js\"><\/script><\/div><div class=\"excel-before-content\" id=\"excel-12456465\"><script type=\"text\/javascript\">\r\n\tatOptions = {\r\n\t\t'key' : 'c1158f160081d6540a8409e6925dab94',\r\n\t\t'format' : 'iframe',\r\n\t\t'height' : 250,\r\n\t\t'width' : 300,\r\n\t\t'params' : {}\r\n\t};\r\n<\/script>\r\n<script type=\"text\/javascript\" src=\"\/\/www.highperformanceformat.com\/c1158f160081d6540a8409e6925dab94\/invoke.js\"><\/script><\/div> <p>Se voc\u00ea deseja ser um usu\u00e1rio avan\u00e7ado de VBA, uma instru\u00e7\u00e3o IF \u00e9 obrigat\u00f3ria. E acredito que voc\u00ea j\u00e1 conhe\u00e7a a palavra SE e a utilize com frequ\u00eancia como fun\u00e7\u00e3o de planilha.<\/p><p> No VBA, IF funciona da mesma maneira. Sua ideia b\u00e1sica \u00e9 realizar uma tarefa quando uma condi\u00e7\u00e3o for VERDADEIRA, caso contr\u00e1rio n\u00e3o fa\u00e7a nada ou fa\u00e7a outra coisa. Voc\u00ea pode escrever de forma simples e tamb\u00e9m em condi\u00e7\u00f5es complexas.<\/p><p> Para facilitar a compreens\u00e3o, dividi-o em tr\u00eas partes diferentes.<\/p><ul><li> Fornecido para ser testado.<\/li><li> Uma tarefa a ser executada se a condi\u00e7\u00e3o for TRUE.<\/li><li> Uma tarefa a ser executada se a condi\u00e7\u00e3o for FALSE.<\/li><\/ul><p> Isto \u00e9 o que parece na vida real: <\/p><div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/en-utilisant-le-code-dinstruction-VBA-IF-dans-Excel.png\" sizes=\"\" srcset=\"\" alt=\"usando o c\u00f3digo de instru\u00e7\u00e3o VBA IF no Excel\"><\/figure><\/div><p> No exemplo acima, a chuva \u00e9 uma condi\u00e7\u00e3o. Se esta condi\u00e7\u00e3o for VERDADEIRA, o menino abrir\u00e1 o guarda-chuva e se a condi\u00e7\u00e3o for FALSA ele usar\u00e1 o chap\u00e9u. As condi\u00e7\u00f5es s\u00e3o onipresentes em nossas vidas di\u00e1rias. Mas agora vamos voltar ao nosso mundo da codifica\u00e7\u00e3o e explor\u00e1-lo.<\/p><h2 id=\"tab-con-1\" class=\"wp-block-heading\"> Sintaxe: VBA SE<\/h2><p> Temos tr\u00eas tipos diferentes de instru\u00e7\u00f5es IF no VBA.<\/p><h3 id=\"tab-con-2\" class=\"wp-block-heading\"> 1. SE-Ent\u00e3o<\/h3><p> IF THEN \u00e9 a forma mais simples de uma instru\u00e7\u00e3o IF. Tudo o que precisamos fazer \u00e9 especificar uma condi\u00e7\u00e3o para verificar e se essa condi\u00e7\u00e3o for VERDADEIRA, a tarefa ser\u00e1 executada. Mas, se esta condi\u00e7\u00e3o for FALSA, n\u00e3o far\u00e1 nada e saltar\u00e1 a linha instantaneamente.<\/p><h4 class=\"wp-block-heading\"> Sintaxe<\/h4><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">IF condition Then statement[s]<\/code><\/pre><p> Na sintaxe acima, precisamos especificar uma condi\u00e7\u00e3o a ser avaliada e uma tarefa a ser executada se essa condi\u00e7\u00e3o for VERDADEIRA.<\/p><h4 class=\"wp-block-heading\"> Exemplo <\/h4><p class=\"has-text-align-center\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/vba-if-instruction-utilisant-if-then-macro-code-1.gif\" sizes=\"auto, \" srcset=\"\" alt=\"instru\u00e7\u00e3o vba if usando c\u00f3digo de macro if then\" width=\"228\" height=\"172\" data-attachment-id=\"7995\"><\/p><p> No exemplo acima, verificamos se a c\u00e9lula A1 cont\u00e9m o valor 10 e caso contenha, o extrato exibir\u00e1 uma caixa de mensagem com a mensagem \u201cA c\u00e9lula A1 possui o valor 10\u201d.<\/p><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">Sub CheckValue() If Range(\"A1\").Value = 10 Then MsgBox (\"Cell A1 has value 10\") End Sub<\/code><\/pre><h3 id=\"tab-con-3\" class=\"wp-block-heading\"> 2. SE-ent\u00e3o-sen\u00e3o<\/h3><p> Voc\u00ea pode usar a instru\u00e7\u00e3o IF-Then-Else quando quiser executar uma tarefa espec\u00edfica se uma condi\u00e7\u00e3o for TRUE e uma tarefa diferente se uma condi\u00e7\u00e3o for FALSE.<\/p><h4 class=\"wp-block-heading\"> Sintaxe<\/h4><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">IF Condition Then Statement[s] Else Statement[s] End If<\/code><\/pre><p> Com a sintaxe acima, podemos realizar diferentes tarefas dependendo do resultado de uma condi\u00e7\u00e3o. Se a condi\u00e7\u00e3o for TRUE, ele executar\u00e1 a instru\u00e7\u00e3o que voc\u00ea mencionou ap\u00f3s \u201cThen\u201d ou se a condi\u00e7\u00e3o for FALSE, executar\u00e1 a instru\u00e7\u00e3o que voc\u00ea mencionou ap\u00f3s \u201cElse\u201d.<\/p><h4 class=\"wp-block-heading\"> Exemplo <\/h4><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">Sub CheckValue() If Range(\"A1\").Value = \"10\" Then MsgBox (\"Cell A1 has value 10\") Else MsgBox (\"Cell A1 has a value other than 10\") End Sub<\/code><\/pre><div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/vba-if-instruction-utilisant-le-code-de-macro-if-then-else-1.gif\" sizes=\"\" srcset=\"\" alt=\"instru\u00e7\u00e3o vba if usando c\u00f3digo de macro if then else\"><\/figure><\/div><p> No exemplo acima, usei a instru\u00e7\u00e3o IF-Then-Else para verificar o valor na c\u00e9lula A1.<\/p><p> Se a c\u00e9lula A1 tiver um valor de 10, voc\u00ea receber\u00e1 uma caixa de mensagem dizendo &#8220;A c\u00e9lula A1 tem um valor de 10&#8221; e se houver outro valor na c\u00e9lula A1 voc\u00ea receber\u00e1 uma caixa de mensagem dizendo &#8220;A c\u00e9lula A1 tem um valor diferente de 10\u201d. Portanto, aqui podemos realizar diferentes tarefas com base no resultado da condi\u00e7\u00e3o.<\/p><h3 id=\"tab-con-4\" class=\"wp-block-heading\"> 3. SE-Ent\u00e3o-Elseif-Else<\/h3><p> Este \u00e9 o tipo de IF mais \u00fatil e importante que o ajudar\u00e1 a escrever declara\u00e7\u00f5es de condi\u00e7\u00f5es avan\u00e7adas. Neste tipo voc\u00ea pode especificar a segunda condi\u00e7\u00e3o ap\u00f3s avaliar sua primeira condi\u00e7\u00e3o.<\/p><h4 class=\"wp-block-heading\"> Sintaxe<\/h4><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">IF Condition Then Statement[s] Elseif Condition Then Statement[s] Else Statement[s] End If<\/code><\/pre><p> Na sintaxe acima, temos:<\/p><ol><li> Na condi\u00e7\u00e3o de avaliar.<\/li><li> Uma instru\u00e7\u00e3o a ser executada se esta condi\u00e7\u00e3o for TURE.<\/li><li> Se esta condi\u00e7\u00e3o for FALSA, ent\u00e3o temos a segunda condi\u00e7\u00e3o para avaliar.<\/li><li> E, se a segunda condi\u00e7\u00e3o for VERDADEIRA, temos uma declara\u00e7\u00e3o a fazer.<\/li><li> Mas, se ambas as condi\u00e7\u00f5es, primeira e segunda, forem FALSAS, ele far\u00e1 a afirma\u00e7\u00e3o que voc\u00ea mencionou ap\u00f3s \u201cElse\u201d.<\/li><\/ol><p> E a melhor parte \u00e9 que voc\u00ea pode usar qualquer n\u00famero de \u201cElseif\u201ds em seu c\u00f3digo. Isso significa que voc\u00ea pode especificar qualquer n\u00famero de condi\u00e7\u00f5es em sua declara\u00e7\u00e3o.<\/p><h4 class=\"wp-block-heading\"> Exemplo <\/h4><div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/vba-if-instruction-utilisant-if-then-elseif-elseif-macro-code-1.gif\" sizes=\"\" srcset=\"\" alt=\"instru\u00e7\u00e3o vba if usando c\u00f3digo de macro if then elseif elseif\"><\/figure><\/div><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">Sub check_grade() If Range(\"A2\").Value = \"A\" Then MsgBox \"Very Good\" Else If Range(\"A2\").Value = \"B\" Then MsgBox \"Good\" ElseIf Range(\"A2\").Value = \"C\" Then MsgBox \"Average\" ElseIf Range(\"A2\").Value = \"D\" Then MsgBox \"Poor\" ElseIf Range(\"A2\").Value = \"E\" Then MsgBox \"Very Poor\" Else MsgBox \"Enter Correct Grade\" End Sub<\/code><\/pre><p> No exemplo acima, escrevemos uma macro que primeiro verificar\u00e1 o valor &#8220;A&#8221; na c\u00e9lula A2 e se a c\u00e9lula tiver uma classifica\u00e7\u00e3o &#8220;A&#8221;, a instru\u00e7\u00e3o retornar\u00e1 a mensagem &#8220;Muito Bom&#8221;.<\/p><p> Esta instru\u00e7\u00e3o ir\u00e1 primeiro verificar a c\u00e9lula A2 quanto ao valor \u201cA\u201d e se a c\u00e9lula tiver uma classifica\u00e7\u00e3o \u201cA\u201d, a instru\u00e7\u00e3o retornar\u00e1 a mensagem \u201cMuito Bom\u201d.<\/p><p> E, se a primeira condi\u00e7\u00e3o for FALSA, ele avaliar\u00e1 a segunda condi\u00e7\u00e3o e retornar\u00e1 a mensagem \u201cBom\u201d caso a c\u00e9lula tenha classifica\u00e7\u00e3o \u201cB\u201d.<\/p><p> E, se a segunda condi\u00e7\u00e3o for falsa, passar\u00e1 para a terceira condi\u00e7\u00e3o e assim por diante. Por fim, se todas as cinco condi\u00e7\u00f5es forem falsas, ele executar\u00e1 o c\u00f3digo que escrevi depois do restante.<\/p><h2 id=\"tab-con-5\" class=\"wp-block-heading\"> O segredo para escrever uma instru\u00e7\u00e3o IF em VBA<\/h2><p> Agora voc\u00ea conhece todos os tipos de SI e tamb\u00e9m pode escolher um dependendo da tarefa que precisa realizar. Deixe-me contar um segredo.<\/p><h3 id=\"tab-con-6\" class=\"wp-block-heading\"> Instru\u00e7\u00e3o IF de linha \u00fanica versus instru\u00e7\u00e3o IF em bloco<\/h3><p> Voc\u00ea pode escrever uma declara\u00e7\u00e3o IF de duas maneiras diferentes e ambas t\u00eam vantagens e desvantagens. Olhe para a.<\/p><h4 class=\"wp-block-heading\"> 1. Declara\u00e7\u00e3o de uma linha<\/h4><p> A instru\u00e7\u00e3o de uma linha \u00e9 perfeita se voc\u00ea usar a instru\u00e7\u00e3o IF-Then. A base para usar uma instru\u00e7\u00e3o de linha \u00e9 escrever todo o seu c\u00f3digo em uma \u00fanica linha.<\/p><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">If A1 = 10 Then Msgbox(\"Cell A1 has value 10\")<\/code><\/pre><p> Na instru\u00e7\u00e3o acima, escrevemos uma instru\u00e7\u00e3o IF para avaliar se a c\u00e9lula A1 tem o valor 10, ent\u00e3o ela exibir\u00e1 uma caixa de mensagem. A pr\u00e1tica recomendada para usar uma instru\u00e7\u00e3o de uma linha \u00e9 quando voc\u00ea precisa escrever um c\u00f3digo simples. Usar c\u00f3digo de uma linha para declara\u00e7\u00f5es complexas e longas \u00e9 dif\u00edcil de entender.<\/p><p class=\"qt-tip\"> <strong>Dica r\u00e1pida:<\/strong> ao escrever c\u00f3digo de linha \u00fanica, voc\u00ea n\u00e3o precisa usar Endif para completar a instru\u00e7\u00e3o.<\/p><h4 class=\"wp-block-heading\"> 2. Declara\u00e7\u00e3o de bloco<\/h4><p> Uma instru\u00e7\u00e3o Block \u00e9 perfeita quando voc\u00ea deseja escrever seu c\u00f3digo de maneira decente e compreens\u00edvel. Ao escrever uma instru\u00e7\u00e3o de bloco, voc\u00ea pode usar v\u00e1rias linhas em sua macro, fornecendo um c\u00f3digo limpo e organizado.<\/p><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">Sub check_value() If Range(\u201cA1\u201d).Value = \u201c10\u201d Then MsgBox (\"Cell A1 has value 10\") Else MsgBox (\"Cell A1 has a value other than 10\") End If End Sub<\/code><\/pre><p> No exemplo acima, escrevemos uma instru\u00e7\u00e3o IF-Then-Else em blocos. E voc\u00ea pode ver que \u00e9 f\u00e1cil de ler e at\u00e9 mesmo de depurar.<\/p><p> Ao escrever instru\u00e7\u00f5es complexas (o que voc\u00ea definitivamente far\u00e1 depois de ler este guia), instru\u00e7\u00f5es em bloco s\u00e3o sempre boas. E, ao escrever instru\u00e7\u00f5es If aninhadas, voc\u00ea tamb\u00e9m pode adicionar recuo em sua linha para maior clareza.<\/p><p class=\"qt-tip\"> <strong>Dica r\u00e1pida<\/strong> \u2013 Voc\u00ea tem uma exce\u00e7\u00e3o que pode ignorar usando Else no final do seu c\u00f3digo ao usar IF-Then-Elseif-Else. Isto \u00e9 muito \u00fatil quando voc\u00ea n\u00e3o precisa realizar nenhuma tarefa quando nenhuma das condi\u00e7\u00f5es \u00e9 VERDADEIRA em sua declara\u00e7\u00e3o.<\/p><h2 id=\"tab-con-7\" class=\"wp-block-heading\"> 8 exemplos concretos<\/h2><p> Aqui listei alguns exemplos simples, mas \u00fateis, que voc\u00ea pode seguir.<\/p><h3 id=\"tab-con-8\" class=\"wp-block-heading\"> 1. SE aninhado<\/h3><p> A melhor parte da instru\u00e7\u00e3o IF \u00e9 que voc\u00ea cria instru\u00e7\u00f5es aninhadas. Voc\u00ea pode adicionar uma segunda condi\u00e7\u00e3o \u00e0 primeira condi\u00e7\u00e3o. <\/p><div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/ecriture-imbrication-si-avec-vba-if-instruction-1.gif\" sizes=\"\" srcset=\"\" alt=\"escrevendo aninhamento if com instru\u00e7\u00e3o vba if\"><\/figure><\/div><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">Sub NestIF() Dim res As Long res = MsgBox(\"Do you want to save this file?\", vbYesNo, \"Save File\") If res = vbYes Then 'start of first IF statement If ActiveWorkbook.Saved &lt;&gt; True Then 'start of second IF statement. ActiveWorkbook.SaveMsgBox (\"Workbook Saved\") Else MsgBox \"This workbook is already saved\" End If 'end of second IF statement Else MsgBox \"Make Sure to save it later\" End If ' end of first IF statement End Sub<\/code><\/pre><p> No exemplo acima, usamos uma instru\u00e7\u00e3o IF aninhada. Ao <a href=\"https:\/\/exceladvisor.org\/pt\/executar-uma-macro-2\/\">executar esta macro<\/a> , voc\u00ea <a href=\"https:\/\/exceladvisor.org\/pt\/caixa-de-mensagens-vba\/\">receber\u00e1 uma caixa de mensagem<\/a> com as op\u00e7\u00f5es OK e Cancelar. O trabalho da declara\u00e7\u00e3o condicional come\u00e7a depois disso.<\/p><p> Primeiro, ele avaliar\u00e1 o bot\u00e3o em que voc\u00ea clicou. Se voc\u00ea clicou em \u201cSim\u201d, aninhe-o para avaliar se sua planilha est\u00e1 salva ou n\u00e3o.<\/p><p> Se sua pasta de trabalho n\u00e3o for salva, ela ser\u00e1 salva e voc\u00ea receber\u00e1 uma mensagem. E, se a pasta de trabalho j\u00e1 estiver salva, ser\u00e1 exibida uma mensagem sobre isso.<\/p><p> Mas se voc\u00ea clicar no bot\u00e3o a condi\u00e7\u00e3o da primeira macro ser\u00e1 FALSE e voc\u00ea s\u00f3 receber\u00e1 uma mensagem para salvar seu livro posteriormente.<\/p><p> A ideia b\u00e1sica neste c\u00f3digo \u00e9 que a segunda condi\u00e7\u00e3o depende totalmente da primeira condi\u00e7\u00e3o, se a primeira condi\u00e7\u00e3o for FALSA ent\u00e3o a segunda condi\u00e7\u00e3o n\u00e3o ser\u00e1 avaliada.<\/p><p> Saiba mais sobre <strong><a href=\"https:\/\/exceladvisor.org\/pt\/aninhar-se\/\">IF aninhado<\/a><\/strong><\/p><h3 id=\"tab-con-9\" class=\"wp-block-heading\"> 2. Crie um loop com IF e GoTo<\/h3><p> Voc\u00ea tamb\u00e9m pode criar um loop usando goto com IF. A maioria dos programadores evita escrever loops dessa maneira porque temos <a href=\"https:\/\/exceladvisor.org\/pt\/rotacoes\/\">maneiras melhores de fazer loops<\/a> . Mas n\u00e3o h\u00e1 mal nenhum em aprender como podemos fazer isso.<\/p><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">Sub auto_open() Alert: If InputBox(\"Enter Username\") &lt;&gt; \"Puneet\" Then GoTo Alert Else MsgBox \"Welcome\" End If End Sub<\/code><\/pre><p> No exemplo acima, usamos uma instru\u00e7\u00e3o de condi\u00e7\u00e3o para criar um loop. Usamos auto_open como nome da macro para que toda vez que algu\u00e9m abrir o arquivo, ele execute essa macro.<\/p><p> O usu\u00e1rio deve inserir um nome de usu\u00e1rio e se esse nome de usu\u00e1rio n\u00e3o for igual a \u201cPuneet\u201d ele repetir\u00e1 o c\u00f3digo e mostrar\u00e1 a caixa de entrada novamente. E, se voc\u00ea inserir o texto correto, ele poder\u00e1 acessar o arquivo.<\/p><h3 id=\"tab-con-10\" class=\"wp-block-heading\"> 3. Verifique se uma c\u00e9lula cont\u00e9m um n\u00famero<\/h3><p> Aqui usamos uma condi\u00e7\u00e3o para verificar se a <a href=\"https:\/\/exceladvisor.org\/pt\/celula-ativa\/\">c\u00e9lula ativa<\/a> cont\u00e9m um valor num\u00e9rico ou n\u00e3o. <\/p><div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/utiliser-linstruction-vba-if-pour-verifier-le-nombre-dans-la-cellule-1.gif\" sizes=\"\" srcset=\"\" alt=\"use a instru\u00e7\u00e3o vba if para verificar o n\u00famero na c\u00e9lula\"><\/figure><\/div><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">Sub check_number() If IsNumeric(Range(\"B2\").Value) Then MsgBox \"Yes, active cell has a number.\" Else MsgBox \"No, active cell hasn't a number.\" End If End Sub<\/code><\/pre><p> No exemplo acima, escrevi uma condi\u00e7\u00e3o usando a <a href=\"https:\/\/exceladvisor.org\/pt\/e-numerico\/\">fun\u00e7\u00e3o isnumeric<\/a> em VBA que \u00e9 igual \u00e0 fun\u00e7\u00e3o num\u00e9rica na planilha para verificar se o valor de uma c\u00e9lula \u00e9 um n\u00famero ou n\u00e3o.<\/p><p> Se o valor for um n\u00famero, ele retornar\u00e1 TRUE e voc\u00ea receber\u00e1 a mensagem \u201cSim, a c\u00e9lula ativa possui um valor num\u00e9rico\u201d. E, se o valor n\u00e3o for um n\u00famero, voc\u00ea receber\u00e1 a mensagem \u201cNenhum valor num\u00e9rico na c\u00e9lula ativa\u201d.<\/p><h3 id=\"tab-con-11\" class=\"wp-block-heading\"> 4. Use OR e AND com IF<\/h3><p> Usando <strong><a href=\"https:\/\/exceladvisor.org\/pt\/se-ou\/\">IF OR,<\/a><\/strong> voc\u00ea pode especificar duas ou mais condi\u00e7\u00f5es e executar uma tarefa se pelo menos uma condi\u00e7\u00e3o for TRUE entre todas.<\/p><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">Sub UsingOR() If Range(\"A1\") &lt; 70 Or Range(\"B1\") &lt; 70 Then MsgBox \"You Are Pass\" Else If Range(\"A1\") &lt; 40 And Range(\"B1\") &lt; 40 Then MsgBox \"You Are Pass\" Else MsgBox \"You Are Fail\" End If End If End Sub<\/code><\/pre><p> No exemplo acima, na linha 2, temos duas condi\u00e7\u00f5es utilizando OR. Se o aluno obtiver 70 pontos em alguma das disciplinas, o resultado ser\u00e1 \u201cAprovado\u201d. E na linha 7 temos duas condi\u00e7\u00f5es usando o operador AND. Caso o aluno obtenha mais de 40 pontos em ambas as disciplinas, o resultado ser\u00e1 \u201cAprovado\u201d.<\/p><p> Usando <strong><a href=\"https:\/\/exceladvisor.org\/pt\/se-e\/\">IF AND<\/a><\/strong> voc\u00ea pode especificar m\u00faltiplas condi\u00e7\u00f5es e executar uma tarefa se todas as condi\u00e7\u00f5es forem TRUE.<\/p><h3 id=\"tab-con-12\" class=\"wp-block-heading\"> 5. Use N\u00e3o com SE<\/h3><p> Usando NOT em uma condi\u00e7\u00e3o, voc\u00ea pode alterar TRUE para FALSE e FALSE para TRUE.<\/p><p> <a href=\"https:\/\/exceladvisor.org\/pt\/de-outra-forma\/\"><strong>VBA SE N\u00c3O<\/strong><\/a><\/p><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">Sub IF_Not() If Range(\u201cD1\u201d) &lt;= 40 And Not Range(\u201cE1\u201d) = \u201cE\u201d Then MsgBox \"You Are Pass.\" Else MsgBox \"You Are Fail.\" End If End Sub<\/code><\/pre><p> No exemplo acima, usamos NOT na condi\u00e7\u00e3o. Temos duas c\u00e9lulas com a pontua\u00e7\u00e3o do sujeito. Em uma c\u00e9lula a pontua\u00e7\u00e3o est\u00e1 em n\u00fameros e em outra c\u00e9lula tem notas.<\/p><ul><li> Se o aluno obtiver notas acima de 40 na primeira disciplina e acima da nota E na segunda disciplina, \u00e9 APROVADO.<\/li><li> Se o aluno obtiver notas acima de 40 na primeira disciplina e acima da nota E na segunda disciplina, \u00e9 APROVADO.<\/li><\/ul><p> Assim, toda vez que as notas de um aluno forem superiores a 40 e uma nota diferente de E, receberemos uma mensagem \u201cVoc\u00ea foi aprovado\u201d ou \u201cVoc\u00ea foi reprovado\u201d.<\/p><h3 id=\"tab-con-13\" class=\"wp-block-heading\"> 6. Declara\u00e7\u00e3o IF com caixa de sele\u00e7\u00e3o<\/h3><p> Agora, aqui usamos uma caixa de sele\u00e7\u00e3o para executar uma macro. <\/p><div class=\"wp-block-image\"><figure class=\"aligncenter is-resized\"><img loading=\"lazy\" decoding=\"async\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/en-utilisant-linstruction-vba-if-avec-case-a-cocher-1.gif\" sizes=\"auto, \" srcset=\"\" alt=\"usando a instru\u00e7\u00e3o vba if com caixa de sele\u00e7\u00e3o\" width=\"683\" height=\"153\"><\/figure><\/div><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">Sub ship_as_bill() If Range(\"D15\") = True Then Range(\"D17:D21\") = Range(\"C17:C21\") Else If Range(\u201cD15\u201d) = False Then Range(\"D17:D21\").ClearContents Else MsgBox (\u201cError!\u201d) End If End If End Sub<\/code><\/pre><p> No exemplo acima, usamos uma instru\u00e7\u00e3o IF para criar uma condi\u00e7\u00e3o de que, se a caixa de sele\u00e7\u00e3o estiver marcada, o intervalo D17:D21 ser\u00e1 igual ao intervalo C17:C21. E, se a <a href=\"https:\/\/exceladvisor.org\/pt\/caixa-de-selecao\/\">caixa<\/a> n\u00e3o estiver marcada, o intervalo D17:D21 ficar\u00e1 vazio.<\/p><p> Usando esta t\u00e9cnica podemos usar o endere\u00e7o de cobran\u00e7a como endere\u00e7o de entrega e se precisarmos de mais alguma coisa podemos inserir o endere\u00e7o manualmente.<\/p><h3 id=\"tab-con-14\" class=\"wp-block-heading\"> 7. Verifique se uma c\u00e9lula foi mesclada<\/h3><p> E aqui escrevemos uma condi\u00e7\u00e3o para receber um alerta se uma c\u00e9lula ativa for mesclada. <\/p><div class=\"wp-block-image\"><figure class=\"aligncenter\"><img decoding=\"async\" src=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/verifier-si-une-cellule-est-fusionnee-a-laide-de-linstruction-vba-if-1.gif\" sizes=\"\" srcset=\"\" alt=\"verifique se uma c\u00e9lula foi mesclada usando a instru\u00e7\u00e3o vba if\"><\/figure><\/div><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">Sub MergeCellCheck() If ActiveCell.MergeCells Then MsgBox \"Active Cell Is Merged\" Else MsgBox \"Active Cell Is Not Merged\" End If End Sub<\/code><\/pre><p> No c\u00f3digo acima, usamos <a href=\"https:\/\/exceladvisor.org\/pt\/mesclar\/\">c\u00e9lulas mescladas<\/a> para verificar se a c\u00e9lula ativa foi mesclada ou n\u00e3o. Se a <a href=\"https:\/\/exceladvisor.org\/pt\/celula-ativa-1\/\">c\u00e9lula ativa<\/a> for mesclada, a condi\u00e7\u00e3o retornar\u00e1 <a href=\"https:\/\/exceladvisor.org\/pt\/caixa-de-mensagens-vba\/\">um alerta para isso<\/a> .<\/p><h3 id=\"tab-con-15\" class=\"wp-block-heading\"> 8. Exclua a linha inteira se uma c\u00e9lula estiver vazia<\/h3><p> Aqui usamos IF para verificar se uma linha est\u00e1 vazia ou n\u00e3o. E, se esta linha estiver vazia, a instru\u00e7\u00e3o ir\u00e1 deletar aquela linha espec\u00edfica.<\/p><pre class=\"wp-block-code\"> <code class=\"language-visual-basic\" lang=\"visual-basic\">Sub DeleteRow() If Application.CountA(ActiveCell.EntireRow) = 0 Then ActiveCell.EntireRow.Delete Else MsgBox Application.CountA(ActiveCell.EntireRow) &amp; \"Cell(s) have values in this row\" End If End Sub<\/code><\/pre><p> No exemplo acima, ele ir\u00e1 primeiro verificar as c\u00e9lulas que possuem um valor. Se o n\u00famero de c\u00e9lulas com valor for zero, a condi\u00e7\u00e3o excluir\u00e1 a linha ativa, caso contr\u00e1rio retornar\u00e1 o alerta indicando o n\u00famero de c\u00e9lulas com valor.<\/p><h2 class=\"wp-block-heading\"> Conclus\u00e3o<\/h2><p> Como eu disse, esta \u00e9 uma das partes mais importantes do VBA e voc\u00ea deve aprend\u00ea-la se quiser dominar o VBA. Com a instru\u00e7\u00e3o IF, voc\u00ea pode escrever c\u00f3digos simples e tamb\u00e9m c\u00f3digos complexos. Voc\u00ea tamb\u00e9m pode usar operadores l\u00f3gicos e escrever condi\u00e7\u00f5es aninhadas.<\/p><p> Espero que este guia ajude voc\u00ea a escrever c\u00f3digos melhores.<\/p><p> Agora me diga isso. Voc\u00ea escreve condi\u00e7\u00f5es com frequ\u00eancia em VBA? Que tipo de c\u00f3digos voc\u00ea escreve? Por favor, compartilhe suas opini\u00f5es comigo na se\u00e7\u00e3o de coment\u00e1rios. E n\u00e3o se esque\u00e7a de compartilhar este guia com seus amigos.<\/p><div class=\"gb-container gb-container-4db6181c gb-container-mt\"> <a class=\"gb-button gb-button-c5897111 gb-button-text gb-button-mt-button\" href=\"https:\/\/exceladvisor.org\/pt\/vba\/\">O que \u00e9 VBA<\/a><h2 class=\"gb-headline gb-headline-665e5f6b gb-headline-text gb-headline-mt-heading\"> Tutoriais relacionados <\/h2><div class=\"gb-grid-wrapper gb-grid-wrapper-a20baf7c gb-grid-wrapper-mt-grid\"><div class=\"gb-grid-column gb-grid-column-65ddf67e\"><div class=\"gb-container gb-container-65ddf67e\"><ul><li> <a href=\"https:\/\/exceladvisor.org\/pt\/sair-se\/\">Sa\u00edda do VBA SE<\/a><\/li><li> <a href=\"https:\/\/exceladvisor.org\/pt\/se-e\/\">VBA SE E<\/a><\/li><li> <a href=\"https:\/\/exceladvisor.org\/pt\/de-outra-forma\/\">VBA SE N\u00c3O<\/a><\/li><li> <a href=\"https:\/\/exceladvisor.org\/pt\/se-ou\/\">VBA SE OU<\/a><\/li><li> <a href=\"https:\/\/exceladvisor.org\/pt\/aninhar-se\/\">VBA aninhado SE<\/a> <\/li><\/ul><\/div><\/div><div class=\"gb-grid-column gb-grid-column-50067b57\"><div class=\"gb-container gb-container-50067b57\"><\/div><\/div><\/div><\/div>","protected":false},"excerpt":{"rendered":"","protected":false},"author":1,"featured_media":0,"parent":0,"menu_order":0,"comment_status":"open","ping_status":"closed","template":"","meta":{"ub_ctt_via":"","footnotes":""},"class_list":["post-680","page","type-page","status-publish","hentry"],"featured_image_src":null,"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v25.4 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>\u25b7 Como usar a instru\u00e7\u00e3o IF com ELSE no VBA?<\/title>\n<meta name=\"description\" content=\"As condi\u00e7\u00f5es est\u00e3o em toda parte. E quando se trata de codifica\u00e7\u00e3o VBA, as condi\u00e7\u00f5es s\u00e3o uma das coisas mais importantes. Se voc\u00ea quiser\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/exceladvisor.org\/pt\/se-2\/\" \/>\n<meta property=\"og:locale\" content=\"pt_PT\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"\u25b7 Como usar a instru\u00e7\u00e3o IF com ELSE no VBA?\" \/>\n<meta property=\"og:description\" content=\"As condi\u00e7\u00f5es est\u00e3o em toda parte. E quando se trata de codifica\u00e7\u00e3o VBA, as condi\u00e7\u00f5es s\u00e3o uma das coisas mais importantes. Se voc\u00ea quiser\" \/>\n<meta property=\"og:url\" content=\"https:\/\/exceladvisor.org\/pt\/se-2\/\" \/>\n<meta property=\"og:site_name\" content=\"Excel Advisor\" \/>\n<meta property=\"article:modified_time\" content=\"2023-12-06T11:43:56+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/en-utilisant-le-code-dinstruction-VBA-IF-dans-Excel.png\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:label1\" content=\"Tempo estimado de leitura\" \/>\n\t<meta name=\"twitter:data1\" content=\"13 minutos\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"WebPage\",\"@id\":\"https:\/\/exceladvisor.org\/pt\/se-2\/\",\"url\":\"https:\/\/exceladvisor.org\/pt\/se-2\/\",\"name\":\"\u25b7 Como usar a instru\u00e7\u00e3o IF com ELSE no VBA?\",\"isPartOf\":{\"@id\":\"https:\/\/exceladvisor.org\/pt\/#website\"},\"primaryImageOfPage\":{\"@id\":\"https:\/\/exceladvisor.org\/pt\/se-2\/#primaryimage\"},\"image\":{\"@id\":\"https:\/\/exceladvisor.org\/pt\/se-2\/#primaryimage\"},\"thumbnailUrl\":\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/en-utilisant-le-code-dinstruction-VBA-IF-dans-Excel.png\",\"datePublished\":\"2023-09-28T18:49:51+00:00\",\"dateModified\":\"2023-12-06T11:43:56+00:00\",\"description\":\"As condi\u00e7\u00f5es est\u00e3o em toda parte. E quando se trata de codifica\u00e7\u00e3o VBA, as condi\u00e7\u00f5es s\u00e3o uma das coisas mais importantes. Se voc\u00ea quiser\",\"breadcrumb\":{\"@id\":\"https:\/\/exceladvisor.org\/pt\/se-2\/#breadcrumb\"},\"inLanguage\":\"pt-PT\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/exceladvisor.org\/pt\/se-2\/\"]}]},{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/exceladvisor.org\/pt\/se-2\/#primaryimage\",\"url\":\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/en-utilisant-le-code-dinstruction-VBA-IF-dans-Excel.png\",\"contentUrl\":\"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/en-utilisant-le-code-dinstruction-VBA-IF-dans-Excel.png\"},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/exceladvisor.org\/pt\/se-2\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Lar\",\"item\":\"https:\/\/exceladvisor.org\/pt\/\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Como usar a instru\u00e7\u00e3o if com else no vba?\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/exceladvisor.org\/pt\/#website\",\"url\":\"https:\/\/exceladvisor.org\/pt\/\",\"name\":\"Excel Advisor\",\"description\":\"O seu guia definitivo para dominar os dados!\",\"publisher\":{\"@id\":\"https:\/\/exceladvisor.org\/pt\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/exceladvisor.org\/pt\/?s={search_term_string}\"},\"query-input\":{\"@type\":\"PropertyValueSpecification\",\"valueRequired\":true,\"valueName\":\"search_term_string\"}}],\"inLanguage\":\"pt-PT\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/exceladvisor.org\/pt\/#organization\",\"name\":\"Excel Advisor\",\"url\":\"https:\/\/exceladvisor.org\/pt\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"pt-PT\",\"@id\":\"https:\/\/exceladvisor.org\/pt\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/exceladvisor.org\/pt\/wp-content\/uploads\/2023\/12\/exceladvisor.org_.png\",\"contentUrl\":\"https:\/\/exceladvisor.org\/pt\/wp-content\/uploads\/2023\/12\/exceladvisor.org_.png\",\"width\":105,\"height\":36,\"caption\":\"Excel Advisor\"},\"image\":{\"@id\":\"https:\/\/exceladvisor.org\/pt\/#\/schema\/logo\/image\/\"}}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"\u25b7 Como usar a instru\u00e7\u00e3o IF com ELSE no VBA?","description":"As condi\u00e7\u00f5es est\u00e3o em toda parte. E quando se trata de codifica\u00e7\u00e3o VBA, as condi\u00e7\u00f5es s\u00e3o uma das coisas mais importantes. Se voc\u00ea quiser","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/exceladvisor.org\/pt\/se-2\/","og_locale":"pt_PT","og_type":"article","og_title":"\u25b7 Como usar a instru\u00e7\u00e3o IF com ELSE no VBA?","og_description":"As condi\u00e7\u00f5es est\u00e3o em toda parte. E quando se trata de codifica\u00e7\u00e3o VBA, as condi\u00e7\u00f5es s\u00e3o uma das coisas mais importantes. Se voc\u00ea quiser","og_url":"https:\/\/exceladvisor.org\/pt\/se-2\/","og_site_name":"Excel Advisor","article_modified_time":"2023-12-06T11:43:56+00:00","og_image":[{"url":"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/en-utilisant-le-code-dinstruction-VBA-IF-dans-Excel.png","type":"","width":"","height":""}],"twitter_card":"summary_large_image","twitter_misc":{"Tempo estimado de leitura":"13 minutos"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"WebPage","@id":"https:\/\/exceladvisor.org\/pt\/se-2\/","url":"https:\/\/exceladvisor.org\/pt\/se-2\/","name":"\u25b7 Como usar a instru\u00e7\u00e3o IF com ELSE no VBA?","isPartOf":{"@id":"https:\/\/exceladvisor.org\/pt\/#website"},"primaryImageOfPage":{"@id":"https:\/\/exceladvisor.org\/pt\/se-2\/#primaryimage"},"image":{"@id":"https:\/\/exceladvisor.org\/pt\/se-2\/#primaryimage"},"thumbnailUrl":"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/en-utilisant-le-code-dinstruction-VBA-IF-dans-Excel.png","datePublished":"2023-09-28T18:49:51+00:00","dateModified":"2023-12-06T11:43:56+00:00","description":"As condi\u00e7\u00f5es est\u00e3o em toda parte. E quando se trata de codifica\u00e7\u00e3o VBA, as condi\u00e7\u00f5es s\u00e3o uma das coisas mais importantes. Se voc\u00ea quiser","breadcrumb":{"@id":"https:\/\/exceladvisor.org\/pt\/se-2\/#breadcrumb"},"inLanguage":"pt-PT","potentialAction":[{"@type":"ReadAction","target":["https:\/\/exceladvisor.org\/pt\/se-2\/"]}]},{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/exceladvisor.org\/pt\/se-2\/#primaryimage","url":"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/en-utilisant-le-code-dinstruction-VBA-IF-dans-Excel.png","contentUrl":"https:\/\/exceladvisor.org\/wp-content\/uploads\/2023\/08\/en-utilisant-le-code-dinstruction-VBA-IF-dans-Excel.png"},{"@type":"BreadcrumbList","@id":"https:\/\/exceladvisor.org\/pt\/se-2\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Lar","item":"https:\/\/exceladvisor.org\/pt\/"},{"@type":"ListItem","position":2,"name":"Como usar a instru\u00e7\u00e3o if com else no vba?"}]},{"@type":"WebSite","@id":"https:\/\/exceladvisor.org\/pt\/#website","url":"https:\/\/exceladvisor.org\/pt\/","name":"Excel Advisor","description":"O seu guia definitivo para dominar os dados!","publisher":{"@id":"https:\/\/exceladvisor.org\/pt\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/exceladvisor.org\/pt\/?s={search_term_string}"},"query-input":{"@type":"PropertyValueSpecification","valueRequired":true,"valueName":"search_term_string"}}],"inLanguage":"pt-PT"},{"@type":"Organization","@id":"https:\/\/exceladvisor.org\/pt\/#organization","name":"Excel Advisor","url":"https:\/\/exceladvisor.org\/pt\/","logo":{"@type":"ImageObject","inLanguage":"pt-PT","@id":"https:\/\/exceladvisor.org\/pt\/#\/schema\/logo\/image\/","url":"https:\/\/exceladvisor.org\/pt\/wp-content\/uploads\/2023\/12\/exceladvisor.org_.png","contentUrl":"https:\/\/exceladvisor.org\/pt\/wp-content\/uploads\/2023\/12\/exceladvisor.org_.png","width":105,"height":36,"caption":"Excel Advisor"},"image":{"@id":"https:\/\/exceladvisor.org\/pt\/#\/schema\/logo\/image\/"}}]}},"yoast_meta":{"yoast_wpseo_title":"","yoast_wpseo_metadesc":"","yoast_wpseo_canonical":""},"_links":{"self":[{"href":"https:\/\/exceladvisor.org\/pt\/wp-json\/wp\/v2\/pages\/680","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/exceladvisor.org\/pt\/wp-json\/wp\/v2\/pages"}],"about":[{"href":"https:\/\/exceladvisor.org\/pt\/wp-json\/wp\/v2\/types\/page"}],"author":[{"embeddable":true,"href":"https:\/\/exceladvisor.org\/pt\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/exceladvisor.org\/pt\/wp-json\/wp\/v2\/comments?post=680"}],"version-history":[{"count":1,"href":"https:\/\/exceladvisor.org\/pt\/wp-json\/wp\/v2\/pages\/680\/revisions"}],"predecessor-version":[{"id":1331,"href":"https:\/\/exceladvisor.org\/pt\/wp-json\/wp\/v2\/pages\/680\/revisions\/1331"}],"wp:attachment":[{"href":"https:\/\/exceladvisor.org\/pt\/wp-json\/wp\/v2\/media?parent=680"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}