Mungkin paling mudah untuk memasukkan lembar Excel sebagai tabel gabungan. Misalnya:
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
Dengan tautan apa pun ke SQL Server, Anda harus cukup yakin bahwa Anda bekerja dengan data yang bersih.
Perhatikan bahwa saya telah merujuk ke Sel. Jika Anda tidak menyukai ide menghubungkan lembar, Anda juga dapat merujuk ke sel dan langkah, misalnya For i=1 To MaxRows