Det er måske nemmest at inkludere Excel-arket som en samlet tabel. For eksempel:
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
Med alle links til SQL Server skal du være ret sikker på, at du arbejder med rene data.
Bemærk, at jeg har henvist til Celler. Hvis du ikke kan lide ideen om at forbinde arket, kan du også henvise til celler og trin, for eksempel For i=1 To MaxRows