Declaração VBA com / Fim com

Este artigo demonstrará como usar With e End With no VBA

O Excel nos oferece a oportunidade de aprender VBA gravando macros. Essas macros gravam literalmente tudo o que fazemos na tela e convertem as ações em código VBA. Podemos então analisar esse código e aprender com ele.

Quando gravamos uma macro em VBA, mais significativamente quando estamos mudando o formato das células, a macro mais frequentemente do que não usa a sintaxe With … End With em sua gravação. Entender o que eles significam e são usados ​​é uma parte importante do VBA.

Gravando uma Macro

Para gravar uma macro no Excel, no Fita, selecione Exibir> Macro> Gravar macro.

OU

Desenvolvedor> Gravar Macro

Observação: se você não vir a faixa de opções do desenvolvedor, precisará habilitá-la. Clique AQUI para saber como fazer isso.

Digite o nome da macro e clique em OK.

Realce algumas células e, em seguida, formate-as para negrito, altere a cor para vermelho e altere o tamanho da fonte. Em seguida, clique em Parar no canto inferior esquerdo da tela para interromper a gravação da macro.

Sintaxe da instrução WITH

Para visualizar / editar sua Macro gravada: Na Faixa de Opções, selecione Exibir> Macros> Exibir macros. Selecione a macro que acabou de gravar e clique em Editar.

OU

Na faixa de opções, selecione Desenvolvedor> Visual Basic para mudar para a janela VBE.

A macro gravada pode ser semelhante ao exemplo abaixo

123456789 Sub WithMacro ()Intervalo ("A2: C10"). SelecioneSelection.Font.Bold = TrueSelection.Font.Size = 12Com Selection.Font.Color = -16776961.TintAndShade = 0Terminar comEnd Sub

Em primeiro lugar, selecionamos o intervalo A2: C10.

Em seguida, definimos o negrito como verdadeiro e o tamanho da fonte como 12. Observe que o código “Selection.Font” é repetido para essas linhas.

A macro então nos gravou mudando a cor do texto - observe que, desta vez, o Selection.Font tem um COM na frente dela, e as 2 propriedades que estão sendo alteradas (a cor e o tom de tonalidade) têm um ponto (.) na frente delas. A área do código é então completada com um FIM COM.

Para simplificar esse código, podemos mover o Negrito e o Tamanho para que fiquem dentro da instrução WITH e, portanto, remover a necessidade de repetir a palavra Seleção.

123456789 Sub WithMacro ()Intervalo ("A2: C10"). SelecioneCom Selection.Font.Bold = True.Size = 12.Color = -16776961.TintAndShade = 0Terminar comEnd Sub

A sintaxe de uma instrução WITH … END WITH é, portanto, muito simples:

123 COM objeto'propriedades para formatar / alterarFIM COM

Poderíamos ter alterado o código de uma maneira diferente:

1234567 Sub RemoveWith ()Intervalo ("A2: C10"). SelecioneSelection.Font.Bold = TrueSelection.Font.Size = 12Selection.Font.Color = -16776961Selection.Font.TintAndShade = 0End Sub

No exemplo acima, adicionamos as palavras Selection.Font a cada linha do código. Portanto, nos referimos repetidamente ao objeto Selection.Font no código.

No entanto, usar a instrução WITH significa que só precisamos nos referir a esse objeto uma vez no código. É uma maneira mais limpa de codificação - diz ao VBA para começar em WITH e terminar em END WITH - o código a ser executado está todo contido nessas 2 palavras. Faz com que a macro seja executada de forma mais rápida e eficiente (especialmente para macros mais longas) e adiciona estrutura ao seu código.

Você vai ajudar o desenvolvimento do site, compartilhando a página com seus amigos

wave wave wave wave wave