DoEvents( )
Comentários
A função DoEvents retorna um integer que representa o número de formulários abertos em versões autônomas do Visual Basic, como o Visual Basic, Professional Edition. DoEvents retorna zero em todos os outros aplicativos.
DoEvents passa o controle para o sistema operacional. O controle será retornado depois que o sistema operacional terminar o processamento de eventos na sua fila e todas as chaves na fila SendKeys tiverem sido enviadas.
DoEvents tem uma maior utilidade com ações simples como permitir que um usuário cancele o processo após ele ter iniciado, por exemplo, uma procura de um arquivo. Para processos de longa execução, a cessão do controle ao processador é obtida de uma forma mais adequada usando-se um cronômetro ou delegando-se a tarefa a um componente ActiveX EXE. Nesse último caso, a tarefa pode continuar de forma completamente independente de seu aplicativo e o sistema operacional leva em consideração a multitarefa e a divisão de tempo.
Cuidado Sempre que você ceder temporariamente o controle ao processador dentro de um procedimento de evento, certifique-se de que o procedimento não seja executado novamente a partir de uma outra parte do seu código antes que a primeira chamada retorne, pois isso poderá produzir resultados imprevisíveis. Além disso, não use DoEvents se houver possibilidade de outros aplicativos interagirem com o seu procedimento de forma imprevisível durante o tempo em que você ceder o controle.
Extraido do MSDN
Roberto