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�
>
>  
>

Kirim email ke