Objeto de aplicativo Excel VBA - Macros fáceis do Excel

Índice

WorksheetFunction | ScreenUpdating | DisplayAlerts | Cálculo

A mãe de todos os objetos é o próprio Excel. Nós o chamamos de Objeto de aplicação. O objeto do aplicativo dá acesso a várias opções relacionadas ao Excel.

WorksheetFunction

Você pode usar a propriedade WorksheetFunction em Excel VBA para acessar as funções do Excel.

1. Por exemplo, coloque um botão de comando em sua planilha e adicione a seguinte linha de código:

Intervalo ("A3"). Valor = Application.WorksheetFunction.Aadise (Range ("A1: A2"))

Quando você clica no botão de comando na planilha, o Excel VBA calcula a média dos valores na célula A1 e na célula A2 e coloca o resultado na célula A3.

Observação: em vez de Application.WorksheetFunction.Aadise, basta usar WorksheetFunction.Aadise. Se você observar a barra de fórmulas, verá que a fórmula em si não está inserida na célula A3. Para inserir a própria fórmula na célula A3, use a seguinte linha de código:

Intervalo ("A3"). Valor = "= MÉDIA (A1: A2)"

Atualização de tela

Às vezes, pode ser útil desativar a atualização da tela (para evitar tremulação) durante a execução do código. Como resultado, seu código será executado mais rápido.

1. Por exemplo, coloque um botão de comando em sua planilha e adicione as seguintes linhas de código:

Dim i As Integer
Para i = 1 a 10.000
Intervalo ("A1"). Valor = i
Proximo eu

Quando você clica no botão de comando na planilha, o Excel VBA exibe cada valor em uma pequena fração de segundo e isso pode levar algum tempo.

2. Para acelerar o processo, atualize o código da seguinte maneira.

Dim i As Integer
Application.ScreenUpdating = False
Para i = 1 a 10.000
Intervalo ("A1"). Valor = i
Proximo eu
Application.ScreenUpdating = True

Como resultado, seu código será executado muito mais rápido e você verá apenas o resultado final (10000).

DisplayAlerts

Você pode instruir o Excel VBA a não exibir alertas durante a execução do código.

1. Por exemplo, coloque um botão de comando em sua planilha e adicione a seguinte linha de código:

ActiveWorkbook.Close

Quando você clica no botão de comando na planilha, o Excel VBA fecha o arquivo do Excel e pede que você salve as alterações feitas.

2. Para instruir o Excel VBA a não exibir este alerta durante a execução do código, atualize o código da seguinte maneira.

Application.DisplayAlerts = False
ActiveWorkbook.Close
Application.DisplayAlerts = True

Como resultado, o Excel VBA fecha seu arquivo do Excel, sem solicitar que você salve as alterações feitas. Todas as alterações são perdidas.

Cálculo

Por padrão, o cálculo é definido como automático. Como resultado, o Excel recalcula a pasta de trabalho automaticamente sempre que um valor que afeta uma fórmula é alterado. Se sua pasta de trabalho contém muitas fórmulas complexas, você pode acelerar sua macro definindo o cálculo como manual.

1. Por exemplo, coloque um botão de comando em sua planilha e adicione a seguinte linha de código:

Application.Calculation = xlCalculationManual

Quando você clica no botão de comando na planilha, o Excel VBA define o cálculo como manual.

2. Você pode verificar isso clicando em Arquivo, Opções, Fórmulas.

3. Agora, quando você altera o valor da célula A1, o valor da célula B1 não é recalculado.

Você pode recalcular manualmente a pasta de trabalho pressionando F9.

4. Na maioria das situações, você definirá o cálculo como automático novamente no final do código. Basta adicionar a seguinte linha de código para fazer isso.

Application.Calculation = xlCalculationAutomatic

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

wave wave wave wave wave