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 ExcelO 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 -
- Coleção VBA (exemplos)
- Instruções IF do VBA | Modelos do Excel
- Como usar a função de classificação Excel VBA?
- VBA While Loop (exemplos com modelo do Excel)
- Ambiente VBA