Terima kasih Mr. Kid atas masukannya.

Ceritanya saya ingin membuat beberapa prosedur dan "memasukkannya" sebagai 
AddIns untuk membantu teman2 yang kesulitan pake macro.

Sebagai sample saya ingin mem buat dua prodedur:
1. Menggunakan event Workbook_Open untuk mengucapkan salam...
Private Sub Workbook Open ()
MsgBox "Hello" & VbCrLf & _
"How are  you today?", 64, "GREETINGS"
Suara

2. Saya tulis prosedur Suara di Module1...(untuk mengeluarkan suara yang 
ditulis pada sel aktif file yang dibuka)
Sub Suara()
Application.ActiveCell.Speak
End Sub

Saya punya satu file bernama "Contoh" yang di sel aktifnya ada tulisan.."Hello, 
how are you today?".

Inginnya, pada saat file Contoh dibuka keluar msgbox butir1 (sdh ok) dan pada 
saat User menekan tombol "OK" keluar suara "Hello, how are you today" (error).

Yang terjadi (ketika User membuka file Contoh dan menekan tombol "Ok"), keluar 
message
Run time error 91:
Object Variable or With block variable not set
(Warna kuning ada pada prosedur Suara).

Namun jika prosedur Suara saya jalankan tersendiri pada saat file Contoh sdh 
tampak (terbuka) dan sel pointer berada pada sel aktif maka akan keluar suara
"Hello, how are you today".

Demikian ceritanya Mr. Kid.
Mohon petunjuk bagaimana caranya supaya prosedur1 dan 2 bisa ngelink (prosedur 
2 langsung dieksekusi pada saat User menekan tombol "OK"

Terima kasih.

Salam,
HK


Sent from Samsung Mobile

<div>-------- Original message --------</div><div>From: "'Mr. Kid' 
[email protected] [belajar-excel]" <[email protected]> 
</div><div>Date:20/02/2016  7:07 AM  (GMT+07:00) </div><div>To: BeExcel 
<[email protected]> </div><div>Subject: Re: [belajar-excel] 
Application.Onkey </div><div>
</div>Pak HK,

Begini :
1. Workbook X menjalankan prosedur TANPA input parameter di workbook X
         Application.OnKey "keynya disini" , 
"nama_prosedur_di_workbook_yang_sama"
2. Workbook X menjalankan prosedur DENGAN input parameter di workbook X
        (
            misal prosedur yang dijalankan memiiki 2 input parameter, 
                 parameter 1 meminta nilai bertipe text atau datetime
                 parameter 2 meminta nilai bertipe numerik atau boolean
        )
         Application.OnKey "keynya disini" , 
"'nama_prosedur_di_workbook_yang_sama ""Param1"" , Param2'"
    >> param1 adalah nilai text atau datetime yang ditulis sebagai text 
berformat YYYY-MM-DD
    >> param2 adalah nilai numerik atau boolean

3. Workbook X menjalankan prosedur TANPA input parameter di workbook A yang 
terbuka di instansi Excel yang sama
     *** kalau terbuka di instansi Excel yang berbeda, maka tidak mungkin 
dilakukan
         Application.OnKey "keynya disini" , "'nama 
workbook.ekstensinya'!nama_prosedur_di_workbook_A"

4. Workbook X menjalankan prosedur DENGAN input parameter di workbook A yang 
terbuka di instansi Excel yang sama
     *** kalau terbuka di instansi Excel yang berbeda, maka tidak mungkin 
dilakukan
         Application.OnKey "keynya disini" , "'nama 
workbook.ekstensinya'!'nama_prosedur_di_workbook_A ""Param1"" , Param2'"

Untuk nomor 3 dan 4, jika workbook A belum terbuka, penulisan workbooknya harus 
lengkap (file fullname alias ada path-nya).


Regards,
Kid




2016-02-19 18:00 GMT+07:00 hendrik karnadi [email protected] 
[belajar-excel] <[email protected]>:
 
Dear Be-Exceler,
Saya sedang mencoba menggunakan VBA...."Application.OnKey" yang menurut panduan 
penulisannya adalah sbb :
Application.OnKey(Key As String,[Procedur])

Saya ingin menjalankan Prosedur bernama Coba yang ada di Workbook lain 
(bersifat public)  setelah menekan tombol Enter.
Saya tulis seperti ini:
Application.OnKey "{Enter}", "{Coba}"

Namun prosedur Coba tidak dijalankan...

Pertanyaan saya:
Bagaimana penulisannya agar prosedur Coba bisa dijalankan ?

Terima kasih.

Salam,
HK

Kirim email ke