Página 1 de 1

AGUARDAR ATUALIZAÇÃO QUERYTABLE COM AFTERREFRESH

Enviado: 04 Fev 2022 às 16:21
por AMORIM123
Fala galera.

Depois de um tempo pesquisando parece que conseguir um exemplo decente sobre como utilizar o evento de tabela de planilha obtida de fontes de dados externa com Power Query; porém ainda não entendi como manusear esse evento.

Como resultado de minhas pesquisas obtive a informação que o evento deveria ser inserido em módulo de classe onde poderia ser melhor reaproveitado; segue abaixo o que foi feito.

No modulo de classe inseri isso:
Código: Selecionar todos
Private WithEvents qtCustom As QueryTable

Public Function Initialise(qtInput As QueryTable)
    Set qtCustom = qtInput
End Function

Private Sub qtCustom_AfterRefresh(ByVal Success As Boolean)
    '   After Refresh
    MsgBox "Tabelas atualizadas com sucesso!!", vbInformation, "Table Att Successfully"
    
End Sub
No modulo do meu programa tenho esse código:
Código: Selecionar todos
Private Sub btn_att_Click()

    shtALL.Activate
    shtALL.ListObjects("ALL").QueryTable.Refresh
         
    shtNCM.Activate
    shtNCM.ListObjects("NCM").QueryTable.Refresh

'Antes de chegar na próxima linha entendo que a msgbox do módulo de classe deveria ser executada (não consegui vê 'ainda quantas vezes ela seria apresentada, pois se o evento identificar toda atualização, talvez isso seja um problema,'' 'pois o ideal seria que a msgbox fosse exibida ao final de todas atualizações), porém a msgbox do evento não executa; dá 'aquela travadinha, pois os dados têm uma certa quantidade, mas ao final a msgbox não é emitida como esperado.

Frm_Processar.btn_ncm = True

End Sub
Se alguém já tiver passado por isso e puder contribuir, então desde já fico muito grato pela interação...vlw