Het is misschien het gemakkelijkst om het Excel-blad als een samengevoegde tabel op te nemen. Bijvoorbeeld:
Dim cn As New ADODB.Connection
Dim rs As New ADODB.Recordset
''Not the best way to get the name
strFile = ActiveWorkbook.FullName
''2007 / 2010 connection
strCon = "Provider=Microsoft.ACE.OLEDB.12.0;Data Source=" & strFile _
& ";Extended Properties=""Excel 12.0 xml;HDR=Yes;"";"
cn.Open strCon
''ODBC Connection for sql server
scn = "[ODBC;DRIVER=SQL Server;SERVER\Instance;" _
& "Trusted_Connection=Yes;DATABASE=Test]"
sSQL = "SELECT a.Stuff, b.ID, b.AText FROM [Sheet5$] a " _
& "INNER JOIN " & scn & ".table_1 b " _
& "ON a.Stuff = b.AText"
rs.Open sSQL, cn
ActiveWorkbook.Sheets("Sheet7").Cells(1, 1).CopyFromRecordset rs
Bij eventuele koppelingen naar SQL Server moet u er redelijk zeker van zijn dat u met schone gegevens werkt.
Merk op dat ik heb verwezen naar Cellen. Als je het idee om het blad te verbinden niet leuk vindt, kun je ook verwijzen naar cellen en stap, bijvoorbeeld For i=1 To MaxRows