hehehe... sebaiknya diuji saja.

misal buat prosedur seperti ini (di sebuah module :: di VBE, menu Insert ->
Module -> ketik script)
public sub UjiVariabel()
     dim kHasil, kBayar As Range

     kHasil = 7

end sub

kemudian, coba run prosedur tersebut. mestinya tidak muncul error, karena
variabel kHasil bukan bertipe object, jadi bisa diisi suatu nilai konstanta
dan bisa diisi tanpa menggunakan klausa Set.

sekarang ganti kHasil=7 dengan kBayar=7
lalu run lagi prosedurnya.
Akan muncul error, karena variabel range akan diisi sebuah konstanta dan
proses pengisiannya tanpa klausa set.
Jadi tipe data kHasil bukanlah object. Tipe data kBayar adalah object,
yaitu object range.


pengujian juga bisa dilakukan dengan prosedur berikut :
public sub TipeVariabel()
     dim kHasil, kBayar As Range

     msgbox "Variabel kHasil bertipe nomor : " & vartype(kHasil) & vbcrlf &
"Variabel kBayar bertipe nomor : " & vartype(kBayar)
end sub
lalu run prosedurnya. daftar nomor vartype adalah sebagai berikut :

Constant Value Description *vbEmpty* 0 Empty <HV01200929.htm>(uninitialized)
*vbNull* 1 Null <HV01200929.htm> (no valid data) *vbInteger* 2 Integer *
vbLong* 3 Long integer *vbSingle* 4 Single-precision floating-point number *
vbDouble* 5 Double-precision floating-point number *vbCurrency* 6 Currency
value *vbDate* 7 Date value *vbString* 8 String *vbObject* 9 Object *vbError
* 10 Error value *vbBoolean* 11 Boolean value *vbVariant* 12
*Variant*(used only with
arrays <HV01200929.htm> of variants) *vbDataObject* 13 A data access object
*vbDecimal* 14 Decimal value *vbByte* 17 Byte value
*vbUserDefinedType* 36 Variants
that contain user-defined types *vbArray* 8192 Array
Variabel kBayar akan bernomor 9 karena bertipe Object, yaitu object range.
Variabel kHasil akan bernomor 0 (empty) karena belum diketahui secara pasti
bertipe apa, dan cenderung sebagai variant.
Variabel bertipe variant yang diisi sebuah array variant akan langsung
menghasilkan tipe variant.
Jika deklarasi untuk kHasil diganti dengan kHasil as Variant, maka hasil
run prosedur akan tetap menghasilkan kHasil bernomor 0.
Artinya, kHasil memang bertipe Variant. Variabel kBayar bertipe object,
yaitu object range.

Jika sebelum baris msgbox diberi perintah :
kHasil="tes tes 123"
kemudian prosedur TipeVariabel di run kembali, maka kHasil menghasilkan
nomor 8 (string), dan kBayar tetap 9 (object dalam hal ini sebagai object
range).

Wassalam,
Kid.







2012/11/8 aji mumpung <[email protected]>

> **
>
>
> ternyata tipe datanya Variant ya.. tadinya saya kira tipe datanya bisa
> Range semua hehehe..
>
> terima kasih mr Kid untuk koreksinya, ini menjadi tambahan ilmu untuk saya
>
> wassalam,
>
> -aji mumpung-
>
> Pada 8 November 2012 00:03, Mr. Kid <[email protected]> menulis:
>
> **
>>
>>
>> Deklarasi variabel seperti :
>> Public kGender, kNama, kHasil, kBayar As Range
>> akan menghasilkan :
>> 1. variabel bertipe variant :
>>          kGender,kNama,kHasil
>> 2. variabel bertipe range :
>>          kBayar
>>
>> Datatype bertipe variant bisa diisi dengan object. Katanya sebaiknya
>> menggunakan tipe data yang memang secara eksplisit sesuai dengan tipe
>> data yang akan disimpan didalamnya.
>>
>> Akan lebih baik jika deklarasi menjadi :
>> Public kGender as range, kNama as range, kHasil as range, kBayar As Range
>>
>> Wassalam,
>> Kid.
>>
>>
>>
>>
>> 2012/11/7 aji mumpung <[email protected]>
>>
>>> Public kGender, kNama, kHasil, kBayar As Range
>>
>>
>>
>  
>

Kirim email ke