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:
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:
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
Este tópico foi modificado 3 anos atrás by
AMORIM123
Postado : 01/02/2022 1:12 pm