Kira-kira alurnya begini : (susun VBA nya mengikuti alur. asumsi untuk cari banyak data dan menemukan banyak data per setiap teks pencarian)
1. buat blok loop untuk membaca baris data kriteria (bisa pakai do while, for next, atau for each bila berupa object) 2. dalam blok loop nomor 1 : 2a ambil semua data kriteria pencarian 2b buka workbook 2c buat blok loop untuk baca setiap sheet yang ada di workbook yang dibuka oleh 2b 2d dalam blok loop 2c lakukan : 2d1 tentukan range pencarian (simpan dalam sebuah variabel bila perlu) 2d2 buat blok loop pencarian dengan Find dan FindNext seperti di http://msdn.microsoft.com/en-us/library/office/aa195732%28v=office.11%29.aspx 2d3 dalam blok 2d2 lakukan : 2d3A simpan semua data yang dibutuhkan dari hasil pencarian tersebut 2d3B tulis ke lokasi hasil (entah dimana lokasi penulisannya, terserah Anda saja) 2e tutup workbook 3 selesai Yang perlu dipertimbangkan pada proses diatas adalah : X1. lokasi pencarian ada banyak tempat X2. yang dicari ada banyak X3. kegiatan mencarinya bisa berulang-ulang sesuka user yang berarti intensitasnya bisa banyak Nomor X1 sampai X3 akan berakibat pada inefisiensi proses. Wajarnya (hanya wajarnya loh ya, entah kalau lebih senang yang ndak wajar), data digabungkan disatu file (xl2007 keatas bisa sampai 1juta baris kan). Kalau hasil gabungan bisa lebih dari 1 juta baris, (wajarnya... xixixi... wajarnya lagi ya) data diletakkan di database seperti Access atau yang lebih besar dari Access (sekedar numpang naruh data ajah). Masih ngomongin data lenih dari 1 juta baris, yang ndak wajar adalah meletakkan di sheet lain di workbook yang sama (bukan diworkbook yang berbeda). Susun data mengikuti series waktu. Proses menggabungkan ini memang membutuhkan waktu proses penggabungan. Tapi kegiatan ini dilakukan hanya sekali setiap kali data baru datang. Setelah itu, proses pencarian bisa dilakukan hanya pada sheet data gabungan. Jika data gabungan hanya 1 sheet, maka fitur advanced filter (kalau mau otomatis dari pencet tombol maka gunakan VBA untuk menjalankannya -> ini namanya otomasi proses bukan membuat aplikasi). Jika ada banyak sheet (karena lebih dari 1juta record dan milih yang ndak wajar), maka proses advanced filter diletakkan pada sebuah loop per worksheet data, dalam loop tersebut, pastikan ada proses copy hasil advanced filter ke sheet lain (hasil akhir) sebelum proses ke sheet data lainnya. Kalau data lebih dari 1 juta dan diletakkan di database seperti access, maka lakukan dengan get external data yang berisi query select disertai proses filter dengan where yang pakai IN atau dengan join ke tabel kriteria (tabel kriterianya harus di kirim ke databasenya dulu kalau pakai join). Kalau data baru bersifat realtime dan datanya diletakkan ditempat yang berbeda-beda (misal per cabang dilokasinya masing-masing), maka manfaatkan database engine dilokasi si excel yang mau memfilter berada untuk mengambil semua data dari semua cabang. Lalu si excel pakai get external data ke database engine tersebut. so, mana yang lebih pas buat Anda, silakan diputuskan dan dikembangkan. Wassalam, Kid. 2013/9/25 <dayatshogu...@yahoo.co.id> > ** > > > *** Bagaimana kalau daripada sekedar forward posting, dilakukan penambahan > informasi. Bisa jadi posting yang lalu tidak ada yang tertarik menanggapi > karena ketidak jelasan keinginan. Coba jabarkan data awalnya yang mana, > data akhirnya yang mana (hasil kerja manualnya), kemudian prosesnya mau > bagaimana, prosesnya seberapa sering, apa saja batasannya, dan sebagainya. > Kuatirnya, kalau sekedar forward terus menerus, tetap tidak ada yang > menanggapi. *** > > Dear rekan2 > > Mohon bantuannya untuk berbagi saran untuk pemecahan vb yang mungkin masih > tersenda karena search data januari 2013 belum tau cara prosess macronya. > Mohon saranya terimakasih > > Regards > Dayat > > Powered by Telkomsel BlackBerry� > > >