Pak Lukman,

1. Pertanyaan : apakah harusnya data  di kolom   A2:D34  semua nya terisi
dulu. setelah itu baru mengerjakan   I2:M34 .
>> Bukankah I2:M34 membutuhkan data A2:D34 agar bisa memilih data dari
tabel-tabel referensi yang ada di sheet lain ?
>> Jadi proses loop untuk mangambil nilai dari tabel referensi harus
disediakan.
>> Cara penyediaannya bisa dengan membuat seluruh baris terisi penuh.
>> Bisa juga dengan menyimpannya disebuah variabel, tapi harus ada baris
pengecek setiap baris data yang diproses tentang keberadaan nilai-nilai
yang dibutuhkan tersebut (ketika data tidak terisi penuh setiap
record-nya). Jika hasil cek tersebut adalah nullstring karena cellnya
kosong, maka akan memakai nilai variabel yang ada. Jika ternyata tidak
nullstring, maka isi variabel harus diganti dengan yang baru ini. Proses
ini akan membutuhkan penambahan cek kondisi sebanyak jumlah kolom key,
sebelum loop terhadap tabel referensi.

2. lalu O2:T34 , terakhir  V2:AA9 bolehkan bila  itu di kerjakan
berbarengan ?
>> Dalam pemrograman, sebenarnya tidak ada boleh dan tidak. Yang selalu ada
adalah memungkinkan atau tidak.
>> Jika memang memungkinkan untuk sekaligus diproses, maka lakukan saja
jika memang diinginkan demikian dan cocok dengan efisiensi proses yang
terbentuk.
>> Jika tidak memungkinkan diproses bersamaan (dalam sebuah prosedur) dan
dicari cara agar memungkinkan juga boleh.
>> Jika tidak memungkinkan dan lebih memilih untuk diproses pada prosedur
lain juga tidak apa-apa.
>> Umumnya, sebuah prosedur dibuat tidak terlalu panjang agar mudah untuk
memodifikasi dan lebih besar kemungkinannya untuk digunakan pada proses
lainnya.
>> Sebuah prosedur bisa memanggil prosedur lain untuk bekerja. Dengan kemampuan
ini, maka sebenarnya sebuah prosedur bisa disusun secara spesifik untuk
suatu proses tertentu. Kemudian urutan proses bisa dibuat di sebuah
prosedur lain yang isinya memanggil prosedur-prosedur proses yang spesifik
tadi.


Pada dasarnya, kecepetan kerja seluruh fitur bawaan Excel, bekerja lebih
cepat daripada kerja VBA untuk melakukan hal yang sama.
Dengan demikian, maka akan relatif cenderung lebih cepat jika bisa
memanfaatkan fitur-fitur Excel (formula adalah salah satu fitur
Excel)dalam proses otomasi ketimbang menyusun algoritma sendiri untuk
melakukan
proses tersebut. Jadi, ada ruang untuk bisa mendapatkan proses otomasi yang
efisien. Kadang kala beberapa algoritma harus disusun sendiri agar bisa
memanfaatkan fitur Excel yang sesuai kebutuhan secara optimum.

Contoh :
Ada sebuah tabel berisi ratusan ribu record (misal di xl2007 ke
atas)dengan jumlah kolom yang banyak (anggap saja lebih dari 12
kolom). Susunan
record adalah terurut berdasar kolom tanggal. Ada record yang harus dihapus
karena kesalahan input, yang tandanya jelas yaitu kolom tertentu adalah
blank (bukan nullstring) yang letaknya sangat tidak beraturan.
Untuk kasus seperti ini :
1. Jika dengan menyusun algoritma sendiri berupa loop per record, maka akan
ada proses yang lambat akibat penggunaan VBA untuk memeriksa kolom tersebut
kosong atau tidak, kemudian menghapus baris tersebut jika kosong. Hasil
akhirnya, proses dengan loop akan sangat lambat karena harus menganalisa
ratusan ribu record dengan alat bernama VBA yang relatif lebih lambat
dibanding alat yang digunakan fitur-fitur Excel.

2. Jika dengan menggunakan fitur (bisa salah satu) :
>> A. advanced filter berkriteria kemudian delete baris
>> B. autofilter kriteria blank kemudian delete baris
>> C. special cell blank kemudian delete baris
maka akan ada kelambatan proses meski sudah menggunakan fitur Excel secara
menyeluruh, akibat terbentuknya banyak area (letak baris yang harus dihapus
ada di banyak tempat secara acak).

3. Jika dengan membuat kolom bantu diisi nomor baris (bentuk values),
kemudian data di sort berdasar kolom kriteria yang akan dihapus, akan hanya
akan terbentuk satu area yang harus dihapus. Maka proses hapus baris akan
lebih cepat. Selanjutnya proses diakhir dengan sort ulang berdasar kolom
bantu nomor baris tadi, diikuti menghapus kolom bantu tersebut.

Cara 2 lebih cepat dari cara 1. Cara 3 lebih cepat dari cara 2.

Dengan contoh seperti diatas, maka sebenarnya pemrograman dengan VBA lebih
diarahkan untuk mendapatkan proses otomasi yang  efisien. Jadi, untuk suatu
kasus, bukan permasalahan harus/tidak harus atau boleh/tidak boleh, tetapi
cenderung kearah proses mana yang paling efisien yang bisa disusun.

Wassalam,
Kid.


2012/11/9 lkm jktind <[email protected]>

> Pak Kid.
>
> Pertanyaan : apakah harusnya data  di kolom   A2:D34  semua nya terisi dulu
> . setelah itu baru mengerjakan   I2:M34 .  lalu O2:T34 , terakhir  V2:AA9
> bolehkan bila  itu di kerjakan berbarengan ?
>
>
> awal di sheet("3")   dari baris kedua  sampai bawah semua nya kosong.
>
> Lalu saya isi dengan kata kunci  Konfirmasi  ,  Nama sekuritas , No Acc dan
> tgl transaksi.
>    dengan perincian  transaksi  :  Ticker (nama saham) , kode , volume dan
> harga .
>
> dan selanjutnya dikerjakan oleh macro.
>
> di work book :  terdiri dari  Sheet :
> 1. sheet  input data.          ---------- dari kolom  A2  ~ M kebawah
> hasil nya ke sheet data transaksi saham
>                                      ---------- dari kolom  V2 ~ AA
> kebawah  hasil nya  ke sheet data dana nasabah.
>                                      ---------- dari kolom  O2 ~ T kebawah
> .  hanya untuk melihat/ memeriksa saat  input data
>                                     untuk satu nomer konfirmasi , memang
> saya hanya input sekali .  baik ticker nya 1 atau lebih (15) macam saham.
>      Sheet  coba_proses =  sheet input data
> 2. sheet Transaksi Saham
> 3. sheet Data base
> 4. sheet Data Dana nasabah
> 5. sheet  Data sisa stock saham (per tanggal) ,berikut harga avr  dari
> pembelian , Laba/rugi . dll nya.
>
> Macro dari buatan pak Kid nya sudah saya lengkapi  dan terletak di modul 1.
> dan hasil nya akan nampak di sheet coba_proses
>
> dari contoh kasus yg bapak kirimkan. saya baru tau cara kerja nya variable.
> di macro excel.
>
> Pertanyaan : apakah harusnya data  di kolom   A2:D34  semua nya terisi dulu
> . setelah itu baru mengerjakan   I2:M34 .
>
>  .
> Adapaun cara looping ini , bila memungkinkan akan saya coba untuk digunakan
> mengambil data dari file PDF , lalu di input ke excel.  yang bentuk atau
> pun urutan dari file pdf  itu seringnya berubah ubah. menamai  nama
> perkiraan .
>
>
> Salam
>
> Lukman
>
>
>
>
> 2012/11/8 Mr. Kid <[email protected]>
>
> > **
> >
> >
> > Pak Lukman,
> >
> > Kalau ndak salah tangkep maksudnya adalah ada data yang key-nya tidak
> > ditulis disemua baris, tetapi hanya di baris-baris pertama kali si key
> > muncul. Jadi baris berikutnya, yang key-nya sama dengan record sebelumnya
> > akan berupa cell kosong.
> >
> > Coba pelajari proses manualnya dulu. Setelah bisa memahami alur
> > manualnya, baru coba ulangi proses manual itu dengan disertai record
> macro.
> > Kalau sudah dapat record macronya nanti, baru mulai pasang deklarasi
> > variabel untuk range datanya dan sebagainya. Hasil akhirnya akan didapat
> > proses utuh untuk hal tersebut.
> >
> > Coba proses manual ini.
> > Asumsi, kolom kosong mulai ada di kolom AB.
> > 1. klik cell AB2 dan pasang formula :
> > =AB1
> >
> > 2. klik AB2 yang berisi formula itu, lalu copy (tekan CTRL  C)
> >
> > 3. ke tabel data, blok header beserta datanya hanya pada kolom-kolom key
> > (atau kolom-kolom yang memiliki blank cell yang akan diisi).
> > Misal header dan data tersebut adalah di A1 sampai D12345 yang merupakan
> > kolom-kolom key ada blank cell yang mau disi. Kolom setelah D (mulai E
> > sampai Z) adalah kolom yang sudah terisi penuh atau bukan key.
> > maka blok A1:D12345
> >
> > 4. tekan CTRL  G  -> tekan tombol Special -> pilih blankcells -> tekan OK
> > >> bagian ini adalah goto -> special -> blank cells
> >
> > 5. sudah dapat cell blank ter-select oleh proses nomor 4, maka
> paste(tekan CTRL
> > V)
> >
> > 6. Lanjutkan dengan paste values
> > >> Blok seluruh kolom A sampai D -> tekan CTRL C -> klik kanan yang
> > terblok -> pilih Paste Special -> pilih Values -> tekan OK
> >
> > 7. selesai.
> >
> > Maka seluruh kolom key sudah terisi penuh, dan proses loop bisa dipanggil
> > untuk memproses data yang sudah penuh terisi tersebut.
> >
> > Wassalam,
> > Kid.
> >
>
>
> ------------------------------------
>
> ---------------------------------------------------------------------
> bergabung ke milis (subscribe), kirim mail kosong ke:
> [email protected]
>
> posting ke milis, kirimkan ke:
> [email protected]
>
> berkunjung ke web milis
> http://tech.groups.yahoo.com/group/belajar-excel/messages
>
> melihat file archive / mendownload lampiran
> http://www.mail-archive.com/[email protected]/
> atau (sejak 25-Apr-2011) bisa juga di :
> http://milis-belajar-excel.1048464.n5.nabble.com/
>
> menghubungi moderators & owners: [email protected]
>
> keluar dari membership milis (UnSubscribe):
> kirim mail kosong ke  [email protected]
> ---------------------------------------------------------------------Yahoo!
> Groups Links
>
>
>
>

Kirim email ke