Be-Excel, Sebenarnya ambil data table dari web bisa juga tanpa vba dengan melalui steps sbb (Saya menggunakan Excel 2007): 1. dari menu [Data], pada groups [External Data], pilih [From Web] 2. Masukkan alamat webnya. Missal akan mengambil data kurs mingguan di web pajak, masukkan http://www.depkeu.go.id/ind/currency/ 3. Kemudian pilih panah kuning untuk memilih bagian yang akan diimport ke excel. "Berkat Mr. Kid saya jadi tahu cara memilih table yang diinginkan" Misal dipilih table nomer 4 & 5. Tabel 4 berisi informasi tanggal pengumuman, Tabel 5 berisi currency ratenya. 4. Click tombol import 5. selesai. 6. Sebenarnya untuk update hariannya tinggal di click kanan table di excel kemudian pilih refresh. Dengan cara di atas, query & connection masih tersimpan dalam workbook.
Saya menggunakan vba karena ingin mendapatkan table yang tidak menyimpan query & connectionnya. Berikut vba-code yang sudah dikoreksi berdasarkan masukan dari Mr. Kid: '===start vba===== Const ALAMAT_WEB As String = "http://www.depkeu.go.id/ind/currency/" Sub AmbilTableKursPajakMingguan() Dim rgTarget As Range, aWebQry As QueryTable, sht As Worksheet Set sht = ActiveSheet Application.ScreenUpdating = False With sht.UsedRange If .Rows.Count > 0 Then .Columns.Delete 'hapus hasil query sebelumnya End If End With Set rgTarget = sht.Range("$A$1") Set aWebQry = ActiveSheet.QueryTables.Add(Connection:= _ "URL;" & ALAMAT_WEB, _ Destination:=rgTarget) With aWebQry .Name = "KursPajakMingguan" .AdjustColumnWidth = False .WebSelectionType = xlSpecifiedTables .WebTables = "4,5" .WebFormatting = xlWebFormattingNone .Refresh BackgroundQuery:=False End With RapihkanTable sht Application.ScreenUpdating = True End Sub Private Sub RapihkanTable(sht As Worksheet) 'rapihkan judul With sht.Range("A2:F4") .HorizontalAlignment = xlCenter .VerticalAlignment = xlCenter .WrapText = True .MergeCells = True .Range("A6").CurrentRegion.Columns.AutoFit End With 'menghapus connection yang ada Dim cn As Object For Each cn In sht.Parent.Connections cn.Delete Next End Sub '====end vba==== From: belajar-excel@yahoogroups.com [mailto:belajar-excel@yahoogroups.com] On Behalf Of Rian Wijaya Sent: Tuesday, March 26, 2013 8:00 PM To: belajar-excel@yahoogroups.com Subject: RE: [belajar-excel] Ambil Tabel dari web ke excel dengan VBA Dear pa zainul... Benar kata pa indra .... saya juga mau... :) Terimaksih On Mar 26, 2013 6:37 PM, "Indra" <vendeta...@yahoo.co.id> wrote: Fix Scriptnya donk Pak Zainul kalo boleh :D sebagai bahan pembelajaran untuk saya dan teman B-XL yang lain Matur tengkyu Salam, ChordJR From: belajar-excel@yahoogroups.com [mailto:belajar-excel@yahoogroups.com] On Behalf Of zainul_ulum[at]yahoo[dot]com Sent: Tuesday, March 26, 2013 6:12 PM To: belajar-excel@yahoogroups.com Subject: RE: [belajar-excel] Ambil Tabel dari web ke excel dengan VBA Maturnuwun mas Kid, Sarannya sudah dicoba dan berhasil. Wassalam -zainul- From: belajar-excel@yahoogroups.com [mailto:belajar-excel@yahoogroups.com] On Behalf Of Mr. Kid Sent: Tuesday, March 26, 2013 5:44 PM To: belajar-excel@yahoogroups.com Subject: Re: [belajar-excel] Ambil Tabel dari web ke excel dengan VBA Pak Zainul, Coba lakukan web query. Pada object inet yang muncul dan setelah menuju url yang diinginkan, coba hitung tanda panah kuning kecil yang muncul. Urutan hitungnya dari kiri atas arah horisontal duluan baru ke bawahnya. Setelah menemukan indeks tabel yang akan diambil (misal indeks tabel nomor 7), maka atur properti WebTables agar diisi dengan indeks tersebut. nomor indeks bertipe string ya, seperti "7" dsb. Wassalam, Kid.