Suwun terimakasih banyak mas Kid,
Mengikuti langkah pelan2 dan teratur akhirnya berhasil hehehe
Sebenarnya awalnya proses setelah pencet huruf adalah melakukan proses ngeklik, 
tapi pertanyaan ke milisnya saya ganti jadi proses nampilin MsgBox, misal 
pencet huruf A maka cmdA.Object = True

Dengan bantuan penyelesaian dari mas Kid diuwik uwik dikit akhirnya bisa, 
diakhir script saya tambahin
    If lblInpo.Caption = "A" Then cmdA.Object = True
    If lblInpo.Caption = "TA" Then cmdTA.Object = True
    If lblInpo.Caption = blablabla yg lain
Langkah no. 4 ada kendala sedikit, yg ditampilkan si TextBox hanya angka saja, 
gimana kalo salah pencet angka pengen ngapus? Tapi sudah saya sempilin keycode 
8 dan 46

Sekarang lagi coba uwik2 nancepin scriptnya ke General biar bisa dipake banyak 
TextBox, soalnya ada 10 TextBox biar ga kebanyakan scriptnya

Sekali lagi makasih banyak mas Kid
Wassalam,




________________________________
 From: Mr. Kid <mr.nm...@gmail.com>
To: BeExcel <belajar-excel@yahoogroups.com> 
Sent: Thursday, September 26, 2013 8:24 AM
Subject: Re: [belajar-excel] KeyDown kombinasi
 


  
mas Opik,

Coba langkah ini ya : (pelan-pelan)
1. deklarasikan dalam scope module (di userform kalau pakai userform, di 
worksheet kalau pakai worksheet) untuk variabel berikut ini : (nama variabel -> 
tipe datanya)
    a. dblTime -> double       'waktu pencet terakhir
    b. dblBatas -> double      'batas detik antar pencet tombol untuk 
dinyatakan pencet bersamaan
    c. sChar -> string              'nyimpan karakter di tombol terakhir yang 
dipencet

2. set nilai awal variabel (letakkan di event initialize kalau pakai userform, 
di event activate kalau di worksheet)

dbltime=timer

schar=vbnullstring
dblbatas=0.5    'berarti kalau kurang dari 0.5 detik pencet tombol lagi, maka 
masih dianggap sambungan yang tadi

'jadi kalau dalam waktu 2 menit dia pencet tombol secara konsisten kurang dari 
0.5 detik, maka akan dianggap pencet bersamaan

'wakakakakakka

'atur sendiri batas yang lain supaya bisa batasi dalam 0.5 detik terakhir ini 
pencet berapa tombol, gitu ya


3. atur update nilai variabel saat user pencet sesuatu (misal di textbox 
bernama txtL1). Letakkan di event keydown si txtL1

dim dblCurTime as double


'bagian atur update nilai variabel saat user pencet tombol

dblcurtime=timer

if dblcurtime-dbltime < dblbatas then

    schar=schar & chr$(keycode)

else

   schar=chr$(keycode)

endif
dbltime=dblcurtime


'tampilkan pesan disini.

'jangan pakai msgbox ah, gangguin orang ngetik dan akan membuat batas waktu 
pasti lebih dari 0.5 detik

'pakai label control aja, font-nya digedein dan dikasih warna gonjreng (biar 
eye catching gitu)

'misal si label dikasih nama lblinpo

lblinpo.caption=schar



4. user pencet angka aja yang dibolehkan (alias boleh ditulis oleh si textbox 
bernama txtL1). Lanjutkan yang nomor 3 ya

'bagian atur hanya angka do ang

select case keycode

case 48 to 57    'kode ASCII untuk angka do ang

     'minum kopi aja gih

case else

    keycode=0    'supaya yang ditulis si textbox adalah karakter 0 (null) atau 
gak ada apa-apa

end select


5. selesai dan siap dicoba. Pastikan udah ada control yang namanya lblinpo di 
nomor 3 bagian akhir ya

6. jangan lupa disave, supaya gak nangis kalo ternyata cekripnya bikin crash 
(wakakaka... soale ditulis apa yang terlintas sajah... gak bisa nyoba)


:)


Wassalam,

Kid.




2013/9/25 lapendosol opik <lapendo...@yahoo.com>

 
>  
>Dear rekan-rekan Be-Excel,
>Saya ingin tanya masalah KeyDown ini. Misalkan saya punya property TextBox, 
>jika pencet huruf tertentu akan melakukan proses tertentu. Misalnya kalo 
>pencet huruf A maka akan muncul pesan "Pencet Huruf A". Bagaimana jika pencet 
>2 huruf berturut-turut bisa untuk melakukan proses tertentu? Misal pencet 
>hurut A dan S akan muncul pesan "Pencet Huruf AS".
>Berkat bantuan rekan-rekan sebelumnya membantu saya dalam pembuatan kode VBE 
>nya, berikut:
>
>
>Private Sub txtL1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift 
>As Integer)
>    'pencet huruf A muncul pesan "Pencet A"
>    If KeyCode = 65 Then MsgBox "Pencet A"
>   'pengennya pencet huruf A dan S muncul pesan "Pencet AS"
>
>    If KeyCode = 65 + KeyCode = 83 Then MsgBox "Pencet AS"
>    'pencet selain angka, txtL1.Value = NullString
>
>    If KeyCode > 57 And KeyCode < 96 Or KeyCode > 105 Then KeyCode = 0
>End Sub
>
>
>Yg berwarna merah sudah saya otak atik pakai And Or + tapi hasilnya tidak 
>sesuai. Bagaimana caranya untuk kasus seperti ini?
>Apakah harus diberi semacam timer? jika dalam waktu 1 detik pencet huruf A 
>maka keluar pesan "Pencet A". Jika dalam waktu 1 detik pencet huruf A dan S 
>maka keluar pesan "Pencet AS". Mohon bantuannya rekan-rekan.
>Trimakasih sebelumnya
>Wassalam,
>

 

Kirim email ke