Oke. sama-sama. @BeExceller, Kasus ini bisa dirunut pada materi-materi belajarvba sebagai berikut : 1. pemahaman tentang sebuah methods bernama CountA milik object WorksheetFunction memiliki banyak argumen >> hal ini bisa dibaca lebih lanjut di bab tentang Methods suatu >> object<http://b-excel.blogspot.com/2013/08/belajarvba-007-property-methods-events.html>yang >> mengenalkan tentang methods.
2. pemahaman tentang prosedur berargumen, karena sebuah methods adalah sebuah prosedur Sub atau Function yang beberapa methods membutuhkan suatu argumen >> hal ini dapat dibaca lebih lanjut di bab tentang Prosedur jenis >> Function<http://b-excel.blogspot.com/2013/07/belajarvba-005-procedure-seri-2.html>sebagai >> perkenalan tentang function >> dilanjutkan pada Cara memanggil prosedur >> berargumen<http://b-excel.blogspot.com/2013/07/belajarvba-005-procedure-seri-1.html>sebagai >> perkenalan dengan prosedur-prosedur berargumen 3. argumen dalam sebuah deklarasi prosedur membutuhkan pemahaman tentang datatype. >> Pada kasus ini dikhususkan pada datatype variant karena argumen dari methods CountA milik object WorksheetFunction seluruhnya ber-datatype variant. >> datatype telah dijabarkan secara singkat di bab tentang >> Datatype<http://b-excel.blogspot.com/2013/07/belajarvba-004-tipe-data-variabel.html> >> contoh penggunaan datatype melalui bentuk deklarasi variabel dan pembahasan khusus tentang datatype Variant juga ada disana<http://b-excel.blogspot.com/2013/07/belajarvba-004-tipe-data-variabel.html> . Kasus ini adalah contoh manfaat dari mempelajari VBA secara perlahan dan penuh kesabaran. Katika bertemu tooltip seperti gambar ini : [image: Inline image 2] akan dengan segera tahu bahwa : 1. dibutuhkan variabel hasil ber-datatype double sebagai penampung nilai proses baris kode tersebut >> hal ini tampak pada tooltip tentang methods CountA( blablabla ) As Double >> maka ada proses Dim seperti Dim dblHasil As Double >> digunakan pada baris kode berupa dblHasil = 2. methods CountA membutuhkan argumen >> minimal dibutuhkan 1 bijik nilai untuk mengisi Arg1 yang tidak diberi kurung siku, yang berarti harus ada dan bukan sekedar optional >> total jumlah argumen yang bisa dimasukkan kedalam methods CountA adalah 30 bijik (dari Arg1 sampai [Arg30]) >> argumen selain Arg1 bersifat optional, alias bisa diisi jika ada nilai yang akan disuplaikan. >> setiap argumen memiliki datatype variant karena tidak ada As datatype tertentu >> karena setiap argumen ber-datatype variant, maka setiap argumen bisa menerima data berupa array yang berisi banyak elemen >> jadi methods CountA bisa mengkomputasi buanyak sekali cells selama bisa ditampung setiap argumen dan maksimal hanya ada 30 area range. jadi, Arg1 bisa berisi ribuan cells, Arg2 bisa berisi ribuan cells, dst >> ketika yang akan dikomputasi adalah item-item data yang setiap sebuah item data akan mengisi sebuah argumen, maka hanya bisa diisi dengan 30 item data untuk 30 argumen yang disediakan oleh methods CountA Wassalam, Kid. 2013/8/15 hendrik karnadi <[email protected]> > ** > > > Terima kasih Mr. Kid. > > Salam, > HK > > ------------------------------ > *From:* Mr. Kid <[email protected]> > *To:* BeExcel <[email protected]> > *Sent:* Wednesday, 14 August 2013, 11:00 > > *Subject:* Re: [belajar-excel] Ada apa dengan Excel .... > > > :) > > Jadi, "A:A" pada WorksheetFunction.CountA("A:A") adalah sebuah teks > (ber-datatype string). > Bunyi diatas, jika dipasang pada sebuah cell yang menggunakan fungsi > CountA, akan membentuk formula berbunyi : > =CountA( "A:A" ) > dan bukan > =CountA( *A:A *) > karena *A:A* bertipe range. > Maka, WorksheetFunction.CountA( argumen ) harus diisi dengan ekspresi > yang menghasilkan datatype range. > Untuk mendapatkan range yang merujuk ke seluruh cell di kolom A, antara > lain bisa dengan : > Range("A:A") > Columns(1) > Range("a1").EntireColumn > dan sebagainya. > > Wassalam, > Kid. > > > > > > > > > 2013/8/15 hendrik karnadi <[email protected]> > > ** > > Terima kasih Mr Kid atas cluenya. > > Dengan tanda " " akan selalu menghasilkan 1, tidak tergantung ada atau > tidaknya data pada kolom A > > Pertanyaannya: > Bagaimana scriptnya jika saya ingin menghitung jumlah cacah (banyaknya > data) pada kolom A ? > JIka saya tulis a = WorksheetFunction.CountA("A:A") maka a akan selalu > bernilai 1 > JIka saya tulis a = WorksheetFunction.CountA(A:A) maka akan menghasilkan > "syntax > error" > > Apakah harus ditulis a = WorksheetFunction.CountA(Columns(1)) > > Terima kasih. > > Salam, > HK > > ------------------------------ > *From:* Mr. Kid <[email protected]> > *To:* BeExcel <[email protected]> > *Sent:* Wednesday, 14 August 2013, 23:21 > *Subject:* Re: [belajar-excel] Ada apa dengan Excel .... > > > oh oke. > > Kalau begitu, bagaimana kalau dimulai dari clue-nya dulu, yaitu : > pada > Range("A" & WorksheetFunction.CountA("A:A")).Select > Bagian : > "A:A" > akan sama hasilnya jika diganti dengan bentuk berikut : > "Kid belajar Excel bersama BeExceller" > > :) > > Wassalam, > Kid. > > > > > 2013/8/14 Hendrik Karnadi <[email protected]> > > ** > > Mr. Kid, > Ini pertanyaan serius, bukan Quiz.. > > Terima kasih. > > Salam, > HK > > > Sent from Samsung Mobile > > "Mr. Kid" <[email protected]> wrote: > > ini quiz atau bukan ya... > > Kid. > > > 2013/8/12 hendrik karnadi <[email protected]> > > ** > > Rekan2 Be-Excelers, > > Untuk mengisi waktu luang (mumpung masih libur) saya coba ber-main2 dengan > Excel. > Ada pertanyaan yang menggelitik ketika kita membandingkan formula dengan > macro. > > Ketika kolom A kosong > - Formula : =CountA(A:A) menghasilkan angka 0 > - Mengapa perintah macro : Range("A" & > WorksheetFunction.CountA("A:A")).Select mengarahkan penunjuk sel ke sel > A1 (bukan A0 - tidak ada) ? > > Mungkin ada jawaban atas misteri tsb, selain "default" (dari sononya) ..... > > Terima kasih. > > Salam, > HK > > > > > > > > > >
<<xl007_gen25_worksheetfunction_counta.gif>>

