Userformu F tuşları ile kontrol etmek

Katılım
5 Aralık 2007
Mesajlar
635
Excel Vers. ve Dili
Office 2007
Altın Üyelik Bitiş Tarihi
08-05-2021
Merhaba,
Dosyanın açılışına yazılan Application.OnKey "{F11}", "GÖSTER" şeklinde bir kod ile F11 tuşu GÖSTER makrosunu çalıştırıyor. Bu kodu userformun İnitialize olayına yazdım ama etkili olmadı. Userformda F tuşlarını kullanmanın bir yolu var mıdır? Umarım vardır..:)
İlgilenen arkadaşlara teşekkür ederim.
 
Katılım
18 Ocak 2007
Mesajlar
136
Excel Vers. ve Dili
2003 türkçe
Merhaba arkadaşlar userform1 deyken ctrl + shift + b tuşlarına basınca userform2 açılsın istiyorum. Yardımcı olurmusunuz. Teşekkür ederim
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
verdiğim linkten bir şey çıkmadı anladığım kadarı ile.

öyleyse şunu önerebilirim.

tasarım modunda iken diğer userformu açan bir commandbutton ekleyin. üzerini tıklayın. özellikler penceresine gelin. burada "Accelerator" özelliğine gelin. caption'ında yer alan harflerden sadece birini bu özelliğe yazın. örneğin ana form açıldığında bu butonun üzerinde Form2_Aç gibi bir ibare çıkacaksa "r" veya "f" yazabilirsiniz.

formun içinde iken butonun caption'ında bu harfin altının çizili olduğunu göreceksiniz. Alt ve r veya f tuşlarına bastığınızda bu butona basılmış gibi olacak, butona atanan kod çalışacaktır.

bu aynı menülerdeki kısa yol tuşlarının yerine gibidir. ingilizce xl2003 için konuşursak Alt+e tuşlarına bastığımızda "edit" menüsünün açılması gibi.


öte yandan, bir tık ile işlem yapabilecekken neden iki eylem ile aynı işi yapmak istediğinizi bir gözden geçirin derim.
 
Son düzenleme:

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
linkteki bilgileri inceleyince şöyle bir durum söz konusu olabilir.

userformdaki bütün kontroller için aşağıdaki tarzda event kodları yazarsanız bir tuşa bastığınızda işle yaptırabilirsiniz.

benim örnekte herhangi bir nesnenin veya userform'un üzerinde iken "q" tuşuna basıldığında Userform2 görüntülenmekte.

userform2un kod modülüne kopyalanacak.

Kod:
Private Sub Userform_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 81 Then
    UserForm2.Show
    End If
End Sub

Kod:
Private Sub Commandbutton1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 81 Then
    UserForm2.Show
    End If
End Sub

Kod:
Private Sub TextBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 81 Then
    UserForm2.Show
    End If
End Sub

Kod:
Private Sub CheckBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = 81 Then
    UserForm2.Show
    End If
End Sub
 
Katılım
18 Ocak 2007
Mesajlar
136
Excel Vers. ve Dili
2003 türkçe
Teşekkürler keycodeyi kullanarak yapabiliyorum. Benim istediğim ctrl - alt - shift tuş kombinasyonunu kullanarak yapmak. Bilgisi olan arkadaşlar yardim edebilirmi. Teşekkür ederim
 

mancubus

Destek Ekibi
Destek Ekibi
Katılım
6 Ocak 2010
Mesajlar
2,224
Excel Vers. ve Dili
İŞ: 2021 Win Eng
ne güzel.

gerçi siz biliyorsunuzdur ama bir çok kaynaktan araştırarak yeni öğrendiğim bir bilgiyi, bu konuyu okuyabilecek başkaları için, dipnot olarak düşmüş olayım.

"'KeyPreview property' VB ve Access formlarında bulunurken, excel formlarında bulunmaz. dolayısıyle excel VBA'de formları tuş'larla yönetmek için KeyDown, KeyPress, KeyUp 'event' kodlarını kullanmasınız."
 
Üst