Condividi tramite

VBA e Power Query - Excel

Anonimo
2022-04-28T09:41:45+00:00

Buongiorno,

ho un file excel dove utilizzo Power Query per estrarre dati da un altro file excel molto grande.

Volevo chiedere se e come è possibile utilizzare la connessione al file esistente come origine dati per delle macro in VBA

Grazie

R

Microsoft 365 e Office | Excel | Per il lavoro | Windows

Domanda bloccata. Questa domanda è stata eseguita dalla community del supporto tecnico Microsoft. È possibile votare se è utile, ma non è possibile aggiungere commenti o risposte o seguire la domanda.

0 commenti Nessun commento

3 risposte

Ordina per: Più utili
  1. Anonimo
    2022-05-05T13:44:07+00:00

    Nessuno mi ha aiutato e mi sono aiutato da solo.

    Scrivo quanto ho capito per chi eventualmente ne avesse bisogno.

    Power Query non mette a disposizione la connessione ne i recorset che apre verso la base dati origine (qualunque essa sia: excel, access, file csv, ecc) in quanto la utilizza solo per elaborare la query e aggiornare i dati e poi la chiude.

    Per utilizzare il risultato delle elaborazioni di Power Query bisogna obbligatoriamente salvare i dati da qualche parte - per esempio su un foglio excel - e poi utilizzare quelli

    Ciao a tutti

    R

    La risposta è stata utile?

    4 persone hanno trovato utile questa risposta.
    0 commenti Nessun commento
  2. Anonimo
    2022-04-28T10:33:29+00:00

    Grazie Norman!!!

    Nella tua risposta intravedo che è possibile farlo e questo mi mette di ottimo umore :)

    Ho un file excel dove utilizzo PQ per prendere dei dati da un file molto grande.

    Alcune query generano tabelle direttamente in fogli dedicati, mentre per i "dati completi" utilizzo sono la connessione

    Il problema che non riesco a risolvere con VBA è legato alle seguenti domane:

    1. posso utilizzare ADODB per connettermi alla connessione creata da PQ?
    2. se si, come imposto la stringa di connessione?

    Il codice VBA è il seguente:

    Dim cnQ As ADODB.Connection

    Dim strQ As String

    Dim rsQ As New ADODB.Recordset

    Dim sqlQ As String

    Sub GestQuery()

    strQ = "Provider=Microsoft.Mashup.OleDb.1;Data Source=$Workbook$"

    Set cnQ = New ADODB.Connection

    cnQ.Open strQ

    sqlQ = "SELECT * FROM DatiGenerali" 'DatiGenerali è il nome del foglio

    rsQ.Open sqlQ, cnQ, adOpenDynamic, adLockOptimistic

    End Sub

    Va in errore quando apro la connessione

    Grazie ancora

    Ciao

    R

    La risposta è stata utile?

    1 persona ha trovato utile questa risposta.
    0 commenti Nessun commento
  3. Anonimo
    2022-04-28T10:03:24+00:00

    Ciao Riccardo,

    ho un file excel dove utilizzo Power Query per estrarre dati da un altro file excel molto grande.

    Volevo chiedere se e come è possibile utilizzare la connessione al file esistente come origine dati per delle macro in VBA

    Purtroppo la tua domanda non mi è molto chiara.

    Comunque, se stai estraendo dati su un foglio dedicato, puoi sicuramente usare VBA per manipolare i dati estratti. In alternativa, se hai creato una query con solo una connessione, puoi utilizzare VBA per operare su quella query, ad esempio per caricare i dati della query in una tabella nel file di interesse.

    Forse sarebbe utile se spiegassi le tue esigenze in modo più dettagliato.

    ===

    Regards,

    Norman

    Immagine

    La risposta è stata utile?

    0 commenti Nessun commento