Como usar a instrução WITH no VBA?

A instrução `WITH` no VBA (Visual Basic for Applications) é usada para executar uma série de instruções em um único objeto ou estrutura de dados sem precisar repetir a referência ao objeto várias vezes. Isso torna o código mais limpo e fácil de ler. Aqui está como você pode usar a instrução `WITH` no VBA:

Estrutura Básica

With object
    ' Sua(s) instrução(ões) aqui
    .Propriedade1 = valor1
    .Propriedade2 = valor2
    ' Outras ações sobre o objeto
End With

Exemplo Prático

Vamos supor que você quer manipular propriedades de uma célula específica no Excel. Em vez de repetir `Range(“A1”)` a cada vez, você pode usar `WITH` para simplificar.

Sub UsarWith()
    With Range("A1")
        .Value = "Hello"
        .Font.Bold = True
        .Interior.Color = RGB(255, 255, 0) ' Amarelo
        .Font.Size = 12
    End With
End Sub

Explicação do Exemplo

  • `With Range(“A1”)`: Estamos dizendo que as instruções seguintes se aplicam ao objeto representado por `Range(“A1”)`.
  • `.Value = “Hello”`: Define o valor da célula A1 como “Hello”.
  • `.Font.Bold = True`: Torna o texto na célula A1 em negrito.
  • `.Interior.Color = RGB(255, 255, 0)`: Altera a cor de fundo da célula A1 para amarelo.
  • `.Font.Size = 12`: Define o tamanho da fonte para 12.

Observações

  • A instrução `WITH` é finalizada por `END WITH`.
  • Dentro do bloco `WITH…END WITH`, as instruções afetadas pelo `WITH` são prefixadas por um ponto (`.`), indicando que pertencem ao objeto especificado no `WITH`.
  • Você pode usar a instrução `WITH` com diferentes tipos de objetos no VBA, como controles de formulário, gráficos, etc., além de objetos do Excel.

A instrução `WITH` é particularmente útil quando você está trabalhando com objetos que possuem muitas propriedades ou métodos e você precisa modificar vários deles de uma vez.

Unlock Your Potential

Excel

Basic - Advanced

Access

Access Basic - Advanced

Power BI

Power BI Basic - Advanced

Help us grow the project