Teman be-excel,
Saya sedang membuat VBA untuk melakukan query dari file excel yang lain
menggunakan object QueryTable.
Terlampir code yang telah aku buat. Code berjalan saat aku coba melakukan
JOIN (penggabungan) dari dua table/sheet yang bersumber dari file excel yang
sama.
Mohon sharing dari rekan2 bagaimanakan melakukan JOIN dari dua table atau
lebih dimana sumbernya berasal dari file excel yang lain?
Terimakasih
-zainul-
========================
Sub QueryFromExcelFile(dbLocation As String, sSql As String, _
rgTarget As Range, strNamaTabel As String)
Dim strFileXls As String, strPathDB As String
strFileXls = dbLocation
strPathDB = strPath
Dim sConn As String
sConn = _
"ODBC;DSN=Excel Files;DBQ=" & strFileXls & ";" & _
"DefaultDir=" & strPathDB & ";" & _
"DriverId=1046;" & _
"MaxBufferSize=2048;PageTimeout=5;"
Dim oQt As QueryTable, shtTarget As Worksheet
Set shtTarget = rgTarget.Parent
'cek jika query table sudah ada
On Error Resume Next
Set oQt = shtTarget.QueryTables(strNamaTabel)
If Err.Number = 0 Then 'query table sudah ada
With oQt
.Connection = sConn
.Destination = rgTarget
.CommandText = sSql
.CommandType = xlCmdSql
End With
Else
Set oQt = rgTarget.Parent.QueryTables.Add( _
Connection:=sConn, _
Destination:=rgTarget, _
Sql:=sSql)
oQt.Name = strNamaTabel
Err.Number = 0
End If
oQt.Refresh
End Sub
======================================