Có thể dễ dàng nhất là bao gồm trang tính Excel dưới dạng một bảng được kết hợp. Ví dụ:
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
Với bất kỳ liên kết nào đến SQL Server, bạn cần phải khá tự tin rằng bạn đang làm việc với dữ liệu sạch.
Lưu ý rằng tôi đã tham chiếu đến Cells. Nếu bạn không thích ý tưởng kết nối trang tính, bạn cũng có thể tham khảo các ô và bước, ví dụ For i=1 To MaxRows