Deklarasi variabel iNext nya dimana dan bunyinya seperti apa ?
Wassalam, Kid 2015-07-31 13:33 GMT+07:00 ris ha [email protected] [belajar-excel] < [email protected]>: > > > Terima kasih Mr. Kid. > > Maaf sebelumnya, karena pekerjaan, baru bisa benimba ilmu kembali. > Sebelumnya saya ucapkan selamat Idul Fitri 1436H. mohon maaf jika dalam > menimba ilmu, tidak bisa kasih apa2 untuk menggantikan ilmu yg sangat > bermanfaat selama ini, kecuali teriring doa semoga selalu diberi kesehatan, > kesuksesan serta amal jariyah yang tiada terkira dan dimudahkan segala > urusannya. Amin > > Saya mau bertanya kembali, saya sudah mempraktekan semua saran 1,2,3. Tapi > saya tidak berhasil untuk yang nomor 1. Berikut saya sertakan macronya > > Private Sub RepeatNext_Click() > With Sheets("EntryRepeatBlend").Range("CK3:CK100") > Set iNext = .Find(Me.RepeatBatch.Value, LookIn:=xlValues) > If iNext Is Nothing Then > Set iNext = .Find(Me.RepeatBatch.Value, LookIn:=xlValues) > iNext.Parent.Activate > Else > Set iNext = .Find(Me.RepeatBatch.Value, iNext, LookIn:=xlValues) > iNext.Activate > Application.Goto iNext, False > End If > End With > End Sub > > Mungkin penalaran saya yang kurang menjangkau. mohon pencerahannya kembali > Mr. Kid..., > > Salam > Haris > > > > On Thursday, April 16, 2015 7:23 PM, "'Mr. Kid' [email protected] > [belajar-excel]" <[email protected]> wrote: > > > > Wa'alaikumussalam wr wb > > Hai Haris, > > 0. Mohon pencerahan dan solusinya > >> Kali ini saya penasaran dengan usaha membuat proses find sendiri > melalui userform dan tidak menekan CTRL F saja. > > 1. Dia akan terus mencari hingga data yang dicari tidak ditemukan lagi..., > bagaimanakah macronya...? > >> bagian parameter After dalam methods Find diisi dengan object range > hasil pencarian sebelumnya. > >> artinya, diperlukan sebuah variabel object ber-scope module (minimal) > >> misal di baris ke-1 module (bukan di baris ke-1 prosedur loh), diberi > deklarasi variabel hasil seperti (jika ada tulisan Option Explicit, maka > letakkan di baris ke-2 module) : > private rngHasilSebelumnya as range > > >> lalu buat proses find menjadi 2 cabang, yaitu ketika isi > rngHasilSebelumnya masih kosong dan yang sudah isi > if rnghasilsebelumnya is nothing then > 'rngHasilSebelumnya masih kosong > else > 'rngHasilSebelumnya ada isinya > endif > > >> di bagian rngHasilSebelumnya masih kosong, lakukan proses Find dengan > bagian parameter After dikosongkan > set rngHasilSebelumnya=sheets("nama sheet data").range("alamat > data").find( nilainya , lookat:=xlvalues) > >> di bagian rngHasilSebelumnya ada isinya, lakukan proses Find dengan > bagian parameter after diisi dengan rngHasilSebelumnya > set rngHasilSebelumnya=sheets("nama sheet data").range("alamat > data").find( nilainya, rngHasilSebelumnya , lookat:=xlvalues) > > 2. Jika data ditemukan, maka yang bergerak adalah pointernya, nah kalo > pake Application.Goto semua data yang berada diatasnya tidak tampak, > bagaimanakah macronya? > >> kalau begotu jangan pakai methods Goto > >> ganti dengan rangkaian proses berikut : > a. aktifkan sheet yang akan ditunjuk tersebut > Sheets("nama sheetnya").activate > b. aktifkan range yang akan ditunjuk tersebut > Sheets("nama sheetnya").Range("alamat rangenya").activate > > >> kalau terkait dengan soal nomor 1 di atas, karena range hasil disimpan > di variabel bernama rngHasilSebelumnya, maka kedua proses tersebut menjadi > begini : > a. aktifkan sheet yang akan ditunjuk tersebut > rngHasilSebelumnya.parent.activate > b. aktifkan range yang akan ditunjuk tersebut > rngHasilSebelumnya.activate > > 3. Tatkala jendela Find masih terbuka, kita bisa mengedit cell tanpa harus > menutupnya, bagaimanakah macronya? selama ini saya membuat userform selalu > menghalangi saya untuk mengklik cell, sehingga kurang fleksibel. > >> pakai userform kan... set properti showmodal milik userform menjadi > FALSE > -> lihat di VBE -> aktifkan properties window (tekan F4 supaya > muncul) -> double klik userformnya > -> lihat properties window -> cari properti bernama ShowModal -> > set nilainya menjadi FALSE -> save workbook > >> atau saat akan menampilkan userform dengan methods Show, set parameter > modal dengan FALSE > nama_object_userformnya.show false > > Amin. > > Wassalamu'alaikum wr wb > Kid > > > 2015-04-16 17:39 GMT+10:00 ris ha [email protected] [belajar-excel] < > [email protected]>: > > > Assalamu'alaikum rekap master excel semua > > Mohon pencerahan dan solusinya para master excel semua... > Kali ini saya penasaran dengan jendela Find pada excel, kenapa? > 1. Dia akan terus mencari hingga data yang dicari tidak ditemukan lagi..., > bagaimanakah macronya...? kalo pencarian yg saya lakukan selama ini dengan > macro dibawah ini, dia hanya akan mencari 1 data, sementara jika data yang > sama masih ada, maka tidak bisa dicari lagi > > With Sheets("EntrySuratPenyerahan").Range("A1:A1000") > Set iNo = .Find(CariNoBP, After:=.Cells(1), LookIn:=xlValues) > If Not iNo Is Nothing Then > Application.Goto iNo, True > > 2. Jika data ditemukan, maka yang bergerak adalah pointernya, nah kalo > pake Application.Goto semua data yang berada diatasnya tidak tampak, > bagaimanakah macronya? > > 3. Tatkala jendela Find masih terbuka, kita bisa mengedit cell tanpa harus > menutupnya, bagaimanakah macronya? selama ini saya membuat userform selalu > menghalangi saya untuk mengklik cell, sehingga kurang fleksibel. > > Terima kasih atas bantuannya, semoga tiap respon dan solusi mendapatkan > balasan yang lebih baik dari Allah Swt. Amin > > Salam > Haris > > > > > >

