Ciao Luca,
il problema che descrivi ("impossibile eseguire query che non contiente espressione [avanzcanvass][objcanvass] specificata come parte di una funzione di aggregazione) deriva dalla query a campi incrociati "QWR_AVANZAMENTI_CANVASS_AGENTI"
che contiene il calcolo percentuale del canvas (quello riportato nel messaggio di errore).
Un possibile metodo per aggirare il problema consiste nel modificare la tua query "QWR_ANALITICI_AGENTI" da query di selezione a query di creazione tabella (dai tu il nome che vuoi alla tabella). In excel poi dovresti modificare il tuo codice dell'evento Open
in questo modo:
Private Sub Workbook_Open()
Dim oApp As Object
'Apre Access senza renderlo visibile
Set oApp = CreateObject("Access.Application")
oApp.Visible = False
'Apre PintelAgent_be.mdb
oApp.OpenCurrentDatabase ThisWorkbook.Path & _
"\PintelAgent_be.mdb"
oApp.DoCmd.OpenQuery "QWR_ANALITICI_AGENTI"
oApp.CloseCurrentDatabase
Set oApp = Nothing
Dim s As String
s = "SELECT * FROM NomeTabella"
Call mRecuperaDati(s)
End Sub
Così facendo in apertura del foglio excel viene eseguita la query di creazione tabella, i dati vengono inseriti nella tabella temporanea (che verrà ogni volta cancellata e ricreata) e tu farai l'importazione in excel a partire dalla tabella temporanea creata.
David