SAYFA üzerindeki nesnelerin klavye ile kontrolü

Katılım
28 Ekim 2006
Mesajlar
242
Excel Vers. ve Dili
Office 2003 Türkçe
herkese merhaba. ya arkadaşlar, klavye tuşlarına görev atama ile ilgili bir çok konu var forumda,baktım.ama sadece userform üzerindeki nesnelere yönelik.bu işin "sayfa"sı da var. peki sayfa üzerindeki nesnelerin olaylarını nasıl klavye tuşlarına atayacağız bununla ilgili de bir örnek verirseniz belki birçok kişinin işine yarar, şu an benim de böyle bir örneğe ihtiyacım var, küçük bir örnek verir misiniz? çok teşekkürler,iyi günler.
 
Katılım
15 Haziran 2006
Mesajlar
3,704
Excel Vers. ve Dili
Excel 2003, 2007, 2010 (TR)
Merhabalar

Nesne olaylarına atadığınız prosedürleri, Application.Onkey metodu ile tuşlara da yaptırabilirsiniz.

1). Yeni bir Çalışma Kitabı açınız
2). Sayfa1 adlı sheet'e bir CommandButton nesnesi yerleştiriniz.
3). Commanbutton'un üzerinde çift click yapıp, kod sayfasına geçiniz.
4). Otomatik oluşan iki satırın arasına şunu yazın.
Kod:
Call Mesaj_Goster
Son durumda, bu kod sayfasında söyle bir kodunuz olmalı.
Kod:
Private Sub CommandButton1_Click()
Call Mesaj_Goster
End Sub
5). VBA Editör'de iken, Sol tarafta gözüken VB Project Penceresinden ThisWorkbook yazan kısma çift tıklayın.
6). Açılan Kod sayfasına aşağıdakileri kopyalayın.
Kod:
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.OnKey "+{A}", ""
End Sub
Private Sub Workbook_Deactivate()
Application.OnKey "+{A}", ""
End Sub
Private Sub Workbook_Open()
Application.OnKey "+{A}", "Mesaj_Goster"
End Sub
7). Şimdi, projenize yeni bir Modül ekleyin. Bu yeni Modül sayfasına aşağıdaki kodları kopyalayın.
Kod:
Sub Mesaj_Goster()
MsgBox "Shift+A tuşu Kombinasyonu veya CommandButton Click olayı ...", vbInformation, "TAMAM MI?"
End Sub
8). Excel Kitabınızı kaydedin ve kapatın.
9). Tekrar açın.
10). Şimdi Sayfa1'de oluşturduğunuz CommandButton'a bassanızda, Shift ve A tuşlarına birlikte de bassanız aynı mesajı alacaksınız.
 

Seyit Tiken

Uzman
Uzman
Katılım
23 Ağustos 2005
Mesajlar
4,651
Excel Vers. ve Dili
Excel : 2010
Bende bir alternatif bir önrek sunuyorum ekli dosya şeklinde : Sayfa üzerindeki buton özelliklerinden "Accelerator" kısmına bakın. Uygulaması : Alt+A ve Alt+B şeklinde deneyiniz.
 
Katılım
28 Ekim 2006
Mesajlar
242
Excel Vers. ve Dili
Office 2003 Türkçe
çok teşekkür ederim sayın Seyit Tiken hocam.sanırım iyice kavramam için epeyce bir alıştırma yapmam gerekir.peki şu kodun anlamı ne
Private Sub Workbook_Deactivate()
Application.OnKey "+{A}", "" yani bu "+{A}", sonra virgülden sonraki şu "" ne oluyor acaba bilmiyorum.bir de bu örneğinizi yön tuşlarına nasıl uyarlayabilirim? bunu da bilirsem daha iyi anlıyacağım heralde. teşekkür ederim.
 
Son düzenleme:
Üst