Userformdaki kontrollere Class Modüle uygulamak

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Kod:
If KeyCode = 27 Then CommandButton5_Click 'ANA MENÜ
If KeyCode = 116 Then CommandButton1_Click 'KAYDET
If KeyCode = 117 Then CommandButton2_Click 'DEĞİŞTİR
If KeyCode = 118 Then CommandButton3_Click 'SİL
If KeyCode = 119 Then CommandButton4_Click 'FORMU TEMİZLE
If KeyCode = 120 Then CommandButton6_Click 'TÜMÜNÜ SİL
If KeyCode = 121 Then CommandButton7_Click 'DOSYAYI KAYDET
If KeyCode = 122 Then CommandButton8_Click 'KAYIT BUL
Yukarıdaki kodları Class Modüle ile Userform üzerindeki bütün kontroller üzerinde çalıştırmak istiyorum. Bunun için örnek bir kod verebilirmisiniz.

Dahada açıklamak gerekirse Userform üzerindeyken hangi kontrol üzerinde olursam olayım (F5,F6,F7,F8,F9,F10,F11,F12) tuşlarına bastığımda ilgili prosedürü çağırmak istiyorum.
 

Levent Menteşoğlu

Administrator
Yönetici
Admin
Katılım
13 Ekim 2004
Mesajlar
16,057
Excel Vers. ve Dili
Excel 2010-32 bit-Türkçe
Excel 365 -32 bit-Türkçe
Bütün kontrolleri tek bir class module sanıyorum bağlama imkanı yok. Her nesne tipi için ayrı ayrı yazmanız gerekiyor. Bunun yerine commandbuttonların accelerator özelliklerini kullanmanızı öneririm. Her butonun properties penceresindeki bu özelliğe bir harf atayın. Daha sonra alt+atadığınız harfe bastığınızda o tuşa ait kodu çalıştırabilirsiniz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,247
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sn. leventm

Çözümü önceki mesajımda vermiş olduğum kodu Userform üzerinde kullandığım kontrollerin KeyDown prosedürlerine yazarak yaptım. Tabi bu haliyle kodlarda biraz olsun fazlalık oldu. Zaten sorumu sormadan önce Class örneklerini incelemiştim kendimce uyarlamaya çalıştım fakat ordada kodlar uzayacaktı diye düşünerek sorma gereği duydum belki daha kısa bir yolu vardır diye sağlık olsun bu haliylede işimi görüyor. :hey:
 
Üst