data utama ID H1 H2 1 A 100 2 B 125 3 C 10 4 D 5
data updater ID H1 H2 1 C 200 2 B 0 5 E 15 data hasil update : ID H1 H2 1 A 200 2 B 0 3 C 10 4 D 5 5 E 15 seharusnya : ID H1 H2 1 A 100 2 B 0 3 C 200 4 D 5 5 E 15 hal ini karena yg menjadi pembanding adalah index ke -1 ( kolom Id ) , sebaiknya index -2 ( kolom H1 ).Maaf sedikit mengoreksi .. tak apa -apa , kan....To: belajar-excel@yahoogroups.com From: jkss...@hotmail.com Date: Thu, 29 Sep 2011 04:42:28 +0000 Subject: RE: [belajar-excel] Update Tabel dari sheet lain... Mbak Haps , saya sudah coba , ada sedikit yang saya koreksi pada fungsi join : j = UBound(ArUp) akan selalu menghasilkan 3 di koreksi menjadi j = UBound(ArUp, 2) akan menghasilkan banyaknya data di range "data" ( worksheet "data" ) Tetapi saya berterima kasih atas fungsi Updatable dan join hasil modif nya To: belajar-excel@yahoogroups.com From: hapsari.stlizb...@gmail.com Date: Thu, 29 Sep 2011 04:30:15 +0700 Subject: Re: [belajar-excel] Update Tabel dari sheet lain... Fungsi JOIN telah dimodifikasi (lihat module), agar dapat menampung tabel 2 dimensi) 3 kolomKemudian Fungsi tsb dimanfaatkan untuk mengUpdate tabel data dengan prosedur Sub. Sudah dicoba sepertinya berhasil, hanya saja listing vba-code nya jadi kepanjangan... Sub UpdateTable() ' Haps // 28 sept 2011 '--------------------- Dim DatRng As Range, NewRng As Range, ArNew, r As Long ' init: Tabel Data (tanpa headernya) Set DatRng = Sheets("Data").Cells(1).CurrentRegion.Offset(1, 0) Set DatRng = DatRng.Resize(DatRng.Rows.Count - 1, DatRng.Columns.Count) ' init: Tabel pengUpdate (tanpa header) Set NewRng = Sheets("Update").Cells(1).CurrentRegion.Offset(1, 0) Set NewRng = NewRng.Resize(NewRng.Rows.Count - 1, NewRng.Columns.Count) ' -- membuat Array (3 kolom * n Baris) dibantu fungsi JOIN ArNew = JOIN(DatRng, NewRng) ' -- hapus isi tabel data DatRng.ClearContents ' -- tabel data (yg baru dikosongkan) diupdate dgn data dari Array For r = 1 To UBound(ArNew, 2) DatRng(r, 1) = ArNew(1, r) DatRng(r, 2) = ArNew(2, r) DatRng(r, 3) = ArNew(3, r) Next r DatRng.Parent.Activate MsgBox "Selesai", vbInformation, ThisWorkbook.Name End Sub cmiiww 2011/9/28 Haps <hapsari.stlizb...@gmail.com> dulu, sudah lupa bulan / tahunnya, mba siti pernah membuat UDF Join dua list jika di JOIN, berarti dua lis akan digabung, tetapi data kembar hanya dimunculkan 1 kali jika perlu hasil JOIN bisa diurutkan (sorted) sementara belum sempat membuat /memodifikasi makro menjadi khusus untuk keperluan "sambil JOIN (kolom 1) juga sambil SUMIF (kolom 2)" saya yakin mas zainul ulum bisa memodifikasi makro tsb agar dapat mengerjakan keperluan yg diajukan tsb, mungkin berupa prosedur Sub bukan FUnction lebih cuocokk.... ini sudah seijin mbak siti contoh UDF JOINT dilampirkan di sini '---text / VBA codeing UDF Join Function JOIN(List1 As Range, List2 As Range, Optional N As Long = 0, _ Optional Urutkan As Boolean = False) '----- End Function 2011/9/28 zainul ulum <<yahoo>> <zainul_u...@yahoo.com> Be-exceler, Misalnya saya mempunyai table di [sheet 1] dan [Sheet 2]. Table di [sheet 1] akan diupdate berdasarkan record dari [Sheet 2]. Bagaimanakah codenya (macro) agar record di [sheet 1] bisa terupdate berdasarkan perubahan di [Sheet 2]? Terimakasih, -zainul-