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

Kirim email ke