OS MELHORES VÍDEOS

 

Pesquisar

terça-feira, 6 de setembro de 2011

Tela de Espera em VBA

Em Alguns é importante criar uma tela de "Atualizando dados" para que o Excel seja capaz de carregar algumas informações, para isso vamos criar a seguinte "TELA" que irá permanecer durante 5 segundos, como mostra a imagem abaixo.


Então vamos lá...rs


Clique no Botão Office > Salvar Como > Pasta de Trabalho habilitada para Macro do Excel





Salve no local que desejar e com o nome de Atualizar Dados...






Na tela de VBE, insira um userform...e mude as seguintes propriedades:

NAME: frmAtualizar
CAPTION: Atualizando dados...





Na Caixa de ferramenta, selecione imagem...





No formulário, ocupe todo o espaco com a imagem...e selecione a propriedade Picture e selecione esta imagem...esta imagem está disponível no fim deste artigo...







Ajuste o formulário atá ficar assim...no vídeo explirarei melhor...






De um clique duplo no formuário e digite este código...

Private Declare Function FindWindowA Lib "USER32" (ByVal lpClassName As String, ByVal lpWindowName As String) As Long
Private Declare Function GetWindowLongA Lib "USER32" (ByVal hwnd As Long, ByVal nIndex As Long) As Long
Private Declare Function SetWindowLongA Lib "USER32" (ByVal hwnd As Long, ByVal nIndex As Long, ByVal dwNewLong As Long) As Long
Private Sub UserForm_Initialize()
    Dim hwnd As Long
    Application.OnTime Now + TimeValue("00:00:05"), "KillForm"
    hwnd = FindWindowA(vbNullString, Me.Caption)
    SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) And &HFFF7FFFF
End Sub
Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer)
    Dim hwnd As Long
    hwnd = FindWindowA(vbNullString, Me.Caption)
    SetWindowLongA hwnd, -16, GetWindowLongA(hwnd, -16) Or &H80000
End Sub


Crie um módulo...e digite o sequinte código...

Módulo

Sub KillForm()
    ActiveWorkbook.RefreshAll
    Unload frmAtualizar
End Sub






Clique em EstaPasta_de_trabalho e digite o seguinte código...

Private Sub Workbook_Open()

frmAtualizar.Show
   
End Sub


e pronto...assim que a plan for iniciada..esse formulário irá aparecer por uns 5 segundo e depois irá fechar...



 BAIXAR PLANILHA

Nenhum comentário:

Postar um comentário