hmmm... jadi dalam preview yang tampak, memang datanya mulai dari kolom A sampai kolom K ya. asumsinya : 1. baris data mulai baris 2 2. kolom tabel mulai kolom A sampai kolom K 3. pasti ada minimal 1 record (cell k2 ndak pernah blank) 4. kriteria insert-nya berdasar nilai kolom K ya
> sedangkan column K, merupakan column jarak (baru) yang saya akan hitung > koordinat(XYZ) berdasarkan jarak baru di column K tersebut 5. kriteria nilai kolom K yang akan di-insert adalah yang *lebih dari *suatu nilai batas tertentu > saya ingin membuat kode macro untuk memfilter data, lalu setelah itu > ditiap cell yang terfilter di insert rows Bismillah moga-moga pas imajinasinya Pada sebuah general module dibuat sebuah prosedur yang diisi dengan baris-baris script berikut : '---------------------------------------------------------------------------- dim lCells as long, dblBatas as double 'lcells utk nomor cells yang akan diproses loop, dblbatas untuk batas nilai kriteria kolom K dblbatas=20 'misal batas nilai k adalah yang *lebih dari* 20 'k2 adalah cell pertama alias lcells=1, kSekiun adalah cells terakhir alias lcells=Sekiun-1 'proses bekerja dari lcells=Sekiun-1 ke lcells=1 (dari bawah ke atas) with range( range("k2") , cells( rows.count , "k" ).end(xlup) ) 'kerja di data kolom K .parent.autofiltermode=false 'turnoff autofilter dulu (optional sih, cuma biar asik aja) lcells= .rows.count 'jumlah baris data di kolom K, setara dengan posisi cells terakhir kolom K yang akan diproses do while lcells>0 'lakukan loop selama ada cells data kolom K yang belum diproses -> langsung set batas loop sebelum *Loop* 'proses insert row-nya disini, diawali cek kondisi nilai kolom K. Kalau sesuai kriteria, lakukan insert row dibaris cells tersebut if .cells( lcells ).value *>* dblbatas then 'nilai di cell ke lcells yang sedang diproses *lebih dari *nilai batas .cells( lcells ).entirerow.insert 'insert seluruh baris endif 'akhir blok cek kriteria insert row lcells=lcells-1 'naik ke cells sebelumnya -> yang membuat proses bergerak dari cells terakhir ke cells pertama *loop* 'ke awal blok loop dengan do lagi end with 'selesai bekerja dengan data di kolom K 'karena sudah selesai, tampilkan pesanlah ke user msgbox "Done Done Done....",vbexclamation,"Insert Row" '---------------------------------------------------------------------------- ;) Dicoba dulu ya... kalau ada error, coba di-pas-pas-ken saja hati-hati dengan typo Wassalam, Kid 2015-04-01 19:12 GMT+11:00 prasaja_sat...@yahoo.com [belajar-excel] < belajar-excel@yahoogroups.com>: > > > Sebenrnya itu merupakan data koordinat, Column B,C,D merukan X,Y,Z secara > berurutan, E(Jarak), F(Azimuth), G(deltaX),H(deltaY), I dan J merupakan > koreksi perhitungan XY berdasarakan jarak dan azimuth yang ada, sedangkan > column K, merupakan column jarak (baru) yang saya akan hitung > koordinat(XYZ) berdasarkan jarak baru di column K tersebut. Dan koordinat > yang berdasarakan jarak baru tersebut letaknya harus disebelum rows yang > column K(jarak)nya diapakai untuk menghintung koordinatnya. Misal nilai K > ada di cells K3 maka deretan koordinat baru, jarak baru dan azimuth baru > nantinya ada di cells rows 2. JIka tidak begitu, nantinya koordinatnya > tidak akan berurutan posisinya. > > Mohon bantuannya master, jika memungkinkan. maaf penejlasannya agak > berbelit > >