Detalhes em VBA que poucas pessoas sabem Parte 7
em 19 de Agosto de 2021
Você sabia que é possível executar mais de uma linha de código em VBA em apenas 1? Se não, Leia este artigo para saber mais. Me chamo Gutemberg, tenho experiência com VBA Excel a mais de 10 anos, e te convido nessa incrível jornada desta fantástica tecnologia!!
Pois bem! Abra um módulo padrão em seu VBE, Visual Basic Editor de dentro do seu Excel:
1º Passo – Com o seu excel aberto dê um Alt + F11, para abrir o VBE;
Fonte da imagem: https://mlf.net.br/vba/visual-basic-editor-vbe#post/0
2º Passo – Em seguida insira um módulo através do menu/opção Inserir/Módulo;
3º Passo – Digite, ou copie, o seguinte exemplo básico abaixo dentro do módulo, este exemplo é apenas didático e servirá para comprovar o que estou falando, que serve para executar 2 mensagens seguidas através a função ‘MsgBox’:
Sub doisPontos()
MsgBox "Primeira mensagem": MsgBox "Segunda mensagem"
End Sub
4º Passo – Dê ‘F5’ para executar, ou clique no botão de executar que possui um desenho de uma seta verde apontando para a direita na parte superior do Editor.
Note que ao executar ele executará a 1ª mensagem. Após você der um ‘Ok’, ele executará a 2ª mensagem em seguida que lhe emitirá uma caixa dizendo ‘Segunda Mensagem’, ou seja, exatamente como se tivessem sido escritas em linhas diferentes ou uma após outra.
Uma ressalva que temos de ter aqui é, este recurso é interessante em todas as ocasiões? Não, uma vez que se você tiver linhas de instruções em VBA muito extensas não será recomendado se utilizar deste artifício, pois, dificultará a refatoração / manutenção de código futuras.
Temos ainda um caso implícito que é a situação da estrutura condicional ‘IF’ que é a seguinte:
Sub estruturaConcidional()
If range(“A1”).value = “” then range(“B1”).value = 1 else range(“B1”).value = 2
End sub
Note que não temos a presença do sinal de dois pontos “:” aqui, porém, este código em VBA será executado normalmente. É uma estrutura ‘Se’ do VBA com direito a um ‘Else’ na mesma linha. Antes que se pergunte – E se quiser fechar esta estrutura com o ‘End’? Pois é! Aí o editor não entenderá e lhe emitirá a seguinte mensagem de erro logo após você tentar digitar não lhe permitindo nem mesmo sequer executar o código.
Sub estruturaConcidional()
If range(“A1”).value = “” then range(“B1”).value = 1 else range(“B1”).value = 2 End if
End sub
‘Erro de compilação: Erro de sintaxe’
Espero que tenham gostado e, se puderem, puder deixa aquele comentário 'maroto' fico grato.
Até a Próxima!!