Terimakasih Pak, Ternyata ada kesalahan di procedure buat tabelnya. Procedurenya diedit menjadi : '===========================================================================
Private Sub CreateAndUpdateQueryTable(rgTarget As Range, strNamaTabel As String, _ sConn As String, ssql As String) 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(1) 'hanya boleh satu query dalam satu sheet If Err.Number = 0 Then 'query table sudah ada oQt.CommandText = ssql oQt.Delete 'hapus object querytable jika ada End If 'buat object baru Set oQt = rgTarget.Parent.QueryTables.Add( _ Connection:=sConn, _ Destination:=rgTarget, _ Sql:=ssql) oQt.Name = strNamaTabel Err.Number = 0 oQt.Refresh End Sub '=========================================================================== Untuk pivot table, saya coba buat procedurenya, nanti kalo ada masalah lagi, jangan bosen ditanyain ya.... Wassalam -zainul- -----Original Message----- From: belajar-excel@yahoogroups.com [mailto:belajar-excel@yahoogroups.com] On Behalf Of jkssxls Sudarsono Sent: Tuesday, February 14, 2012 11:04 AM To: Belajar-Excel Yahoo Groups Subject: RE: [belajar-excel] Pivot Table hasil query dari beberap table dalam satu workbook dengan VBA Kalau sudah ada ( Err.number = 0 ) , maka yang dijalankan adalah yang Refresh Set oQt = shtTarget.QueryTables(1) 'hanya boleh satu query dalam satu sheet If Err.Number = 0 Then 'query table sudah ada oQt.CommandText = ssql oQt.Refreshjadi tergantung pada letak file ( excel ) . Jika Ada , maka tak muncul error ... '====untuk Pivotcache :Dim pvChace As PivotCache Set pvChace = rgTarget.PivotCaches.Add(xlExternal) With pvChace .Connection = sConn .CommandText = ssql .CommandType = xlCmdSql End With Jika QueryTable tak ada , maka hasil kosong. Jika Sudah Ada , hasil akan muncul sesuai yang diinginkan