DoEvents – Interrupção

Descrição:

A função DoEvents em VBA (Visual Basic for Applications) é uma instrução essencial que permite a interrupção temporária da execução de um procedimento ou script para dar prioridade ao processamento de eventos no sistema operacional.
Quando o VBA está executando um procedimento longo ou em loop, ele pode parecer “ocupado” e não responder a eventos externos, como cliques do mouse ou teclas pressionadas. A função DoEvents oferece uma solução para esse problema, permitindo que o sistema processe eventos pendentes antes de continuar a execução do código.
Exemplos:


Sub Exemplo1()
    Dim i As Integer
    
    For i = 1 To 1000
        ' Algum código aqui...
        DoEvents ' Permite o processamento de outros eventos.
    Next i
End Sub
    

Este exemplo utiliza a função DoEvents dentro de um loop para permitir que outros eventos sejam processados enquanto o código está em execução.


Sub Exemplo2()
    Dim planilha As Worksheet
    
    Set planilha = ThisWorkbook.Sheets(1)
    
    ' Algum código que envolve manipulação de planilha.
    ' ...
    
    DoEvents ' Permite o processamento de outros eventos.
    
    ' Continuação do código...
End Sub
    

Este exemplo utiliza a função DoEvents para permitir que o sistema processe outros eventos enquanto há manipulação de uma planilha em andamento.