maurogsc.eu
mauro gamberini


home ==> Excel: articoli ==> ADO - Da Excel ad Excel (2007/2010/2013) senza riferimenti

ADO - Da Excel ad Excel (2007/2010/2013) senza riferimenti

Situazione.
Vogliamo importare i dati presenti in un file di Excel (2007/2010/2012) in un foglio di un altro file di Excel via codice. Il file di Excel che contiene i dati da importare, nell'esempio si trova nella stessa directory del file di Excel nel quale li importeremo. Vogliamo inoltre utilizzare ADO(ActiveX Data Objects) senza dover mettere il riferimento alle librerie Microsoft ActiveX Data Objects n.n Library, dove n.n stanno ad indicare la versione specifica di ADO installata sulla macchina.

Nota.
Il codice dell’esempio, scaricabile a questo link, non è commentato(una mini guida è in questa pagina) e nella cartella in formato .zip sono contenuti due files di Excel.. Il codice ed i files sono forniti *così come sono* e l’autore declina ogni responsabilità su eventuali problemi causati dal codice o dai files se usati impropriamente. Utilizzate gli esempi forniti o files di test per le vostre prove. Codice e file sono stati testati con(e quindi validi per) Excel 2007/2010/2013.

Cosa troviamo nel file di FileDiDati.xlsx.
Trattandosi di un semplice esempio, abbiamo un'unica tabella  con quattro campi nel foglio Dati

Cosa troviamo nel FileLavoro.
Nota1. Per visionare le macro disponibili, dai fogli di Excel, premere assieme ALT+F8 sulla tastiera.
Il file contiene il Foglio1 nel quale importeremo i dati e tre macro.

Cosa fanno le macro.

 Il file dal quale importano i dati può essere aperto o chiuso.

Nota2. Esempio di clausola WHERE con parametro passato da ComboBox:

    With rs
        .CursorLocation = 2
        .Open "SELECT * FROM [Foglio1$] WHERE Dato1 ='" & _
            Replace(ComboBox1.Text, "'", "''") & "'", cn, 3
    End With
    

Conclusione.
Il codice nel file è ridondante, ma la cosa è fatta di proposito con lo scopo di far sì che ciascun metodo possa essere utilizzato separatamente in altri contesti, con le opportune modifiche di path/nome file/nome fogli/ecc.

Per maggiori informazioni sulle costanti di ADO e la sintassi SQL date uno sguardo a questo sito.

Per ulteriori informazioni su Microsoft Excel ed il suo Visual Basic, utilizzate questo forum:
http://social.answers.microsoft.com/Forums/it-IT/officeexcelit/threads


Ultimo aggiornamento di questa pagina: 10/06/2013 - mauro gamberini