OS MELHORES VÍDEOS

 

Pesquisar

domingo, 19 de janeiro de 2014

Instrução With

O que é?

A instrução With permite a execução de uma série de comandos para um objeto especificado. Em outras palavras, com este recurso você simplifica o código VBA, já que você escreve o nome do objeto e atribui inúmeras instruções associadas a ele de uma só vez.



Sintaxe

With objeto
  [instruções a serem executadas no objeto]
End With
Objeto é o nome do objeto que desejar modificar.
End With encerra um bloco de instruções para aquele objeto. O bloco de instruções dentro de With sempre está associado a um único objeto.
Você pode aninhar instruções With colocando um bloco With dentro do outro, desde que os objetos internos pertençam aos objetos externos. Por exemplo, neste caso o objeto externo poderá ser um gráfico e objeto interno a legenda deste mesmo gráfico.

Exemplo

No exemplo abaixo temos um gráfico de barras colorido. Iremos alterar as cores do gráfico e a legenda (estilo, cor e tamanho da letra), usando a instrução With aninhada. Também é possível escrever este código sem fazer uso da instrução With, no entanto o código ficaria muito maior, já que a atribuição do objeto teria que ser feita para cada instrução desejada.
Observe o código a seguir:
' altera as cores do gráfico e da legenda

Sub alterar()
        
    Sheets(1).ChartObjects(1).Activate
        
    With ActiveChart
      
        ' altera a cor externa do gráfico
        .ChartArea.Interior.ColorIndex = 12
        
        ' altera a cor interna do gráfico
        .PlotArea.Interior.ColorIndex = 15
        
       ' altera estilo, tamanho e cor da legenda
        With .Legend.Font
            .FontStyle = "Negrito"
            .Size = 10
            .ColorIndex = 16
        End With
        
    End With
    
    ActiveWindow.Visible = False
    Range("B2").Select
        
End Sub
A primeira instrução With se refere ao objeto Gráfico, chamado com ActiveChart. Dentro deste bloco podemos alterar todas as propriedades do gráfico.
A segunda instrução With se refere ao objeto fonte da fegenda, chamado com Legend.Font. Dentro deste bloco podemos alterar todas as propriedades da fonte da legenda.
Perceba que o objeto Fonte da Legenda pertence ao objeto Gráfico, por isso podemos usar a instrução Withaninhada.

Nenhum comentário:

Postar um comentário