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
‘======================================

Kirim email ke