é possibile utilizzare il codice SQL anche in VBA (diciamo come per Linq in C#)

Tramite le query SQL si possono creare dei filtri, operazioni più veloci che altrimenti prevederebbero cicli e controlli, direttamenete sulle schede del foglio Excel

occorre aggiungere una referenza nello sviluppo di VBA:
Microsoft ActiveX Data Objects 6.1 Library

sintassi:
occorre aggiungere delle funzioni per la connessione della ConnectionString e la creazione del Recordset

' funzioni di database SQL

Dim cnn As New ADODB.Connection
Dim rs As New ADODB.Recordset
Dim strSQL As String

' apertura ConnectionString con file attivo (in caso indicare nome del file da linkare)
If cnn.State = adStateOpen Then cnn.Close
cnn.ConnectionString = "Driver={Microsoft Excel Driver (*.xls, *.xlsx, *.xlsm, *.xlsb)};DBQ=" & _
ActiveWorkbook.Path & _
Application.PathSeparator & _
ActiveWorkbook.Name
cnn.Open

' posizionamento cursore
rs.CursorLocation = adUseClient


si inserisce quindi la query SQL e si apre il Database/Recordset

' Query SQL e apertura Recordset
strSQL = "Select .... " & _ si inserisce in una stringa una query SQL
"From [NOMESCHEDA$] " & _
"WHERE ....."

If rs.State = adStateOpen Then rs.Close controllare sempre lo ststo del Recordset ed in caso chiuderlo (altrmenti da errore)
rs.Open strSQL, cnn, adOpenKeyset, adLockOptimistic apertura Recordset


chiude connessone

' chiudi connessione
rs.Close
cnn.Close


comandi .NET: