Jika ada tombol ( didalam MsgBox ) di klik, VBA akan mengembalikan sebuah * Nilai.* Nilai tombol yg di klik itu unik, seperti pada tabel yg telah Rara berikan di bagian bawah pada email kemarin, seperti ini
Constant Value Description *vbOK* 1 *OK* button pressed *vbCancel* 2 *Cancel* button pressed *vbAbort* 3 *Abort* button pressed *vbRetry* 4 *Retry* button pressed *vbIgnore* 5 *Ignore* button pressed *vbYes* 6 *Yes* button pressed *vbNo* 7 *No* button pressed Jadi *Nilai sebenarnya* adalah = *Bilangan* (bertype LongInteger, disingkat Long) Bahwa kita bisa menulis: If Jawab = *vbOK * Then nilainya sama dengan: if Jawab = *1* Then Artinya *VbOK* (dan kawan2) itu adalah sebuah Constant/ *konstanta *(seperti variable yg tidak dapat diubah ubah)* *bawaan dari VBA yg bertype *Bilangan Long*; bukan Boolean, Bukan String. Begitulah, CMIIW Semua Konstanta bawaan dari VBA ada daftarnya dan bisa dilihat NILAI dan Type datanya (di Help VBA) Ya, Semua Variable SEBAIKNYA dideklarasikan lebih dahulu karena akan mempercepat proses makro dan mengirit memory yg menggunakan variable tsb. Variable yg tidak dideklarasikan akan dianggap *bertype VARIANT* yg memerlukan alokasi memori lebih besar daripada type lain. Lihat bagian "DataType" pada Help VBA Untuk memaksa kita mendeklarasikan variables, kita dapat menuliskan pernyataan Option Explicit di tiap module di bagian General, atau mengEnabled checkbox "Require Variable Declaration" [image: Inline image 1] Jadi menuliskan Opton Explicit *tidak berpengaruh kepada jalannya program*tetapi berpengaruh saat kita mengetikkan code di module. Sekali lagi hal ini (mendeklarsasikan variable) baru akan terasa jika program cukup besar dan panjang. File untuk Test membuktikan perbedaannya bisa diunduh di sini: http://www.box.com/shared/rq4qg6lxiq cmiiw -Rara On Sat, Mar 24, 2012 at 2:30 PM, <[email protected]> wrote: > ** > > mba Rara, > mau tanya dong untuk yang dicomment mba rara dibawah. > > mengenai deklarasi variabel seperti dibawah ; > > kenapa As Long ? koq ga As Boolean, String atau yg lain? > dari sample select case ki semprul kemarin kalau Boolean kondisi nya hanya > 2, true dan false. > bagaimana dengan deklarasi Double? > apakah perlu semua variabel di deklarasikan? > apakah ada bedanya kalau semua -karena saya kurang paham mengenai ini-, > saya beri saja semua deklarasi menjadi As Variant? > saat ini kebetulan saya sedang membuat macro, dan kebetulan tanpa ada > deklarasi, jalan sih jalan, tapi mba rara bilang deklarasi variabel bisa > membuat lebih cepat lagi proses nya. kalau berkenan mohon berbagi ilmunya. > terima kasih sebelumnya. > > salam > vega > > * ------- Original message ------- > > From: Rara Wilis <[email protected]> > > To: [email protected] > * > * > Sent: 21.3., 12:00 > > > > Mohon maaf, hanya ingin menambah setitik dari makro pak Karnadi yg sudah > oke.. > > Kita akan lebih baik membiasakan hal-hal kecil sejak menghadapi > kasus-kasus kecil > > misalnya menuliskan DEKLARASI Variable, sebelum variable digunakan. > > Hal ini sangat berpengaruh terhadap kecepatan program, terutama akan > sangat terasa > > kelak jika kita membuat proyek2 besar > > > > Variable Jawab, sebelum digunakan dapat dideklarasikan sbb > > > > Private Sub Worksheet_Change(ByVal Target As Range) > > Dim Jawab As Long ' atau jika tak tahu type nya > > 'Dim Jawab ' ( as Variant) > > If Target = Cells(1) Then > > If Target <> vbNullString Then > > Jawab = MsgBox("Pilih Ok atau Cancel ??", vbOKCancel, "Pilih > Salah satu !!") > > If Jawab = vbOK Then > > Target(1, 2).Value = "Good Job" > > Else > > Target(1, 2).Value = vbNullString > > End If > > End If > > End If > > End Sub > > '--------- > > MsgBox Return Values > > Constant Value Description > > vbOK 1 OK button pressed > > vbCancel 2 Cancel button pressed > > vbAbort 3 Abort button pressed > > vbRetry 4 Retry button pressed > > vbIgnore 5 Ignore button pressed > > vbYes 6 Yes button pressed > > vbNo 7 No button pressed > > > > CMIIW* >
<<option explicit.PNG>>

