Atualização de tela do VBA do Excel

Quando executamos qualquer macro VBA com um grande conjunto de códigos, o código é concluído, mas em segundo plano, obtemos o processamento de dados na forma de executar ou aguardar o ponteiro. E uma vez feito, só podemos ver a saída. A maneira regular não é a maneira correta de ver como os valores estão sendo atualizados executando o código. Por exemplo, digamos que escrevemos o código para gerar alguns números em 100 células. Agora esse código poderia simplesmente gerar a saída sem mostrar como os números estão sendo impressos. Para resolver isso, temos o VBA ScreenUpdating . O ScreenUpdating no VBA nos ajuda a ver como o código está gerando a saída. Podem ser números, texto, alfabetos ou combinação. Depois que executamos o loop de código, pelo VBA ScreenUpdating, conseguimos ver os números sendo gerados.

Como usar o aplicativo ScreenUpdating no Excel VBA?

Vamos aprender como usar o aplicativo ScreenUpdating no Excel usando o código VBA.

Você pode fazer o download deste modelo do VBA ScreenUpdating Excel aqui - Modelo do VBA ScreenUpdating Excel

O VBA ScreenUpdating pode ser percebido enquanto executamos o código ou a macro. Enquanto o código estiver em execução, poderemos ver como nossa tela está sendo atualizada pelos valores gerados pelo código escrito no VBA. Em vez de ver o sinal de espera mais antigo, com a ajuda do VBA ScreenUpdating, podemos ver como a tela está atualizando os valores de saída do VBA ScreenUpdating. Agora, com isso, também podemos ver o nome do artigo que ele define como funciona, VBA ScreenUpdating .

VBA ScreenUpdating - Exemplo # 1

Neste exemplo, veremos um código simples para atualizar a tela. Para isso, precisamos de algumas células com números, como mostrado abaixo. Para isso, siga as etapas abaixo:

Etapa 1: Abra um módulo na guia do menu Inserir, como mostrado abaixo.

Etapa 2: Agora escreva o subprocedimento no nome do VBA ScreenUpdating, como mostrado abaixo.

Código:

 Sub Screen_Update1 () End Sub 

Etapa 3: Agora copiaremos os números da célula A1: A3 para outras células. Digamos que a célula seja C1: C3 com a ajuda do código abaixo.

Código:

 Subtela_Atualização1 () Intervalo ("A1"). Intervalo de cópia ("C1") Intervalo ("A2"). Intervalo de cópia ("C2") Intervalo ("A3"). Intervalo de cópia ("C3") End Sub 

Etapa 4: Agora, se executarmos esse código, somente poderemos obter os valores copiados da coluna A para C. Agora, usaremos o aplicativo ScreenUpdating, como mostrado abaixo.

Código:

 Sub Screen_Update1 () Application.ScreenUpdating Range ("A1"). Range de cópia ("C1") Range ("A2"). Range de cópia ("C2") Range ("A3"). Range de cópia ("C3") End Sub 

Etapa 5: Colocamos um sinal de igual para selecionar os valores booleanos que são TRUE ou FALSE. Selecionaremos FALSE para interromper a atualização da tela.

Código:

 Sub Screen_Update1 () Application.ScreenUpdating = Intervalo falso ("A1"). Intervalo de cópia ("C1") Intervalo ("A2"). Intervalo de cópia ("C2") Intervalo ("A3"). Intervalo de cópia ("C3" ) End Sub 

Etapa 6: execute o código pressionando a tecla F5 ou clicando no botão Play localizado abaixo da faixa de opções do menu. Veremos que os valores são copiados da coluna A para C.

Isso pode ser visto com mais clareza se tivermos um grande conjunto de números.

VBA ScreenUpdating - Exemplo # 2

Vamos ver outro exemplo para ScreenUpdating. Desta vez, vamos considerar o número de 1 a 20 da célula A1 a A20, como mostrado abaixo.

Para usar o aplicativo de atualização de tela, siga as etapas abaixo:

Etapa 1: escreva o subprocedimento do VBA Screenupdating, como mostrado abaixo.

Código:

 Sub Screen_Update2 () End Sub 

Etapa 2: Agora escreva o código para selecionar a célula do intervalo de A1 a A20 e copie-a de B1 a F20, como mostrado abaixo. De maneira semelhante à que vimos no exemplo-1.

Código:

 Subtela_Atualização2 () Faixa ("A1: A20"). Faixa de cópia ("B1: F20") End Sub 

Etapa 3: para aplicar o aplicativo de atualização de tela, usaremos novamente uma linha de código semelhante que vimos no exemplo-1.

Código:

 Sub Screen_Update2 () Application.ScreenUpdating = Intervalo falso ("A1: A20"). Intervalo de cópia ("B1: F20") End Sub 

O aplicativo ScreenUpdating acima, como FALSE, permitirá que você veja como o código VBA atualiza a tela. Como temos mais números, há chances de ver a atualização de tela.

Etapa 4: execute o código pressionando a tecla F5 ou clicando no botão Play. Pudemos ver o valor sendo atualizado.

VBA ScreenUpdating - Exemplo # 3

Há outra maneira de ver a tela sendo atualizada. Isso pode ser feito com a ajuda do loop For-Next. Neste exemplo, imprimiremos os números em uma matriz combinada de linhas e colunas. Para isso, siga as etapas abaixo:

Etapa 1: escreva o subprocedimento do VBA ScreenUpdating.

Código:

 Sub Screen_Updating3 () End Sub 

Etapa 2: agora declare as 2 variáveis ​​para Linha e Coluna separadamente como tipo de dados Longo.

Código:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long End Sub 

Etapa 3: Agora declare outra variável que usaremos como referência para iniciar os números.

Código:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long End Sub 

Etapa 4: Agora forneça o número de referência a partir da posição em que queremos iniciar a contagem. Aqui estamos dando como 0.

Código:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 End Sub 

Etapa 5: Agora abra um loop For e forneça a contagem das colunas e linhas que desejam ver a atualização. Digamos de 1 a 50.

Código:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 Para RowCount = 1 a 50 End Sub 

Etapa 6: Para continuar o loop, forneça a variável MyNumber +1.

Código:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Long Dim MyNumber As Long MyNumber = 0 Para RowCount = 1 a 50 For ColumnCount = 1 a 50 MyNumber = MyNumber + 1 End Sub 

Etapa 7: Agora selecione as variáveis ​​de linha e coluna na função célula. E, em seguida, selecione os valores armazenados neles e atribua-os à variável MyNumber.

Código:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Dim Long MyNumber As Long MyNumber = 0 For RowCount = 1 To 50 For ColumnCount = 1 To 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount) .Select Cells (RowCount, ColumnCount). .Value = MyNumber End Sub 

Etapa 8: agora feche o loop próximo. Inclua variáveis ​​de linha e coluna que definimos e usamos no loop For-Next.

Código:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Dim Long MyNumber As Long MyNumber = 0 For RowCount = 1 To 50 For ColumnCount = 1 To 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount) .Select Cells (RowCount, ColumnCount). .Value = MyNumber Próxima ColumnCount Próxima RowCount End Sub 

Etapa 9: agora ainda não inserimos o aplicativo Screenupdating. Agora insira o aplicativo Screenupdating como FALSE antes do início do loop e como TRUE no final do loop, como mostrado abaixo.

Código:

 Sub Screen_Updating3 () Dim RowCount As Long Dim ColumnCount As Dim Long MyNumber As Long Application.ScreenUpdating = False MyNumber = 0 For RowCount = 1 To 50 For ColumnCount = 1 To 50 MyNumber = MyNumber + 1 Cells (RowCount, ColumnCount) .Select Cells (RowCount, ColumnCount) .Value = MyNumber Próximo ColumnCount Próximo RowCount Application.ScreenUpdating = True End Sub 

Agora compile o código completo passo a passo pressionando a tecla de função F8 e execute-o se nenhum erro for encontrado. Veremos como cada célula de linhas e colunas selecionadas está sendo atualizada com os valores armazenados nela.

Profissionais do Excel VBA ScreenUpdating

  • É bastante útil ver como a tela está sendo atualizada com o valor armazenado no loop.
  • Podemos usar Screenupdating se quisermos alternar entre planilhas e pastas de trabalho.
  • Podemos usar qualquer faixa de números.

Coisas para lembrar

  • Usamos o loop For-Next de inserção como o quadro ou primeiro, podemos satisfazer a condição do loop For e depois fechá-lo em Next.
  • O VBA ScreenUpdating é bastante útil e visível se estivermos usando um grande conjunto de números.
  • Depois de feito, salve o arquivo do Excel, pois a macro ativa o formato do Excel.
  • O VBA ScreenUpdating também pode ser usado para criar uma macro através da qual podemos enviar e-mails.

Artigos recomendados

Este é um guia para o VBA ScreenUpdating. Aqui discutimos como usar o aplicativo ScreenUpdating no Excel VBA, juntamente com exemplos práticos e modelo de excel para download. Você também pode consultar nossos outros artigos sugeridos -

  1. Coleção VBA (exemplos)
  2. Instruções IF do VBA | Modelos do Excel
  3. Como usar a função de classificação Excel VBA?
  4. VBA While Loop (exemplos com modelo do Excel)
  5. Ambiente VBA

Categoria: