AccessTr.neT
Excel Vba User Form'da Keydown Kullanımı Hakkında. - Baskı Önizleme

+- AccessTr.neT (https://accesstr.net)
+-- Forum: Microsoft Excel (https://accesstr.net/forum-microsoft-excel.html)
+--- Forum: Excel Cevaplanmış Soruları (https://accesstr.net/forum-excel-cevaplanmis-sorulari.html)
+--- Konu Başlığı: Excel Vba User Form'da Keydown Kullanımı Hakkında. (/konu-excel-vba-user-form-da-keydown-kullanimi-hakkinda.html)

Sayfalar: 1 2


Excel Vba User Form'da Keydown Kullanımı Hakkında. - Oğuz Türkyılmaz - 20/04/2021

Merhaba Access uygulamalarımda Form un Form_KeyDown yordamına yazdığım

Kod:
Select Case KeyCode
   
Case vbKeyF10

        MsgBox "F10 tuşuna basıldığında gerçekleşmesi istenen eylem buraya yazılır"
   
End Select

kod kalıbıyla Fonksiyon tuşlarına Form Açma Form Kapama gibi eylemleri atayabiliyordum.

Mevcut Excel çalışmamda Ana_Sayfada userformun keydown yordamına yazdığım KAYDET butonunun olay yordamı olan  Kayıt ekleme kodları çalışmadı. F9 tuşuna bastığımda kayıt ekleme eyleminin gerçekleşmesi içi kodları nasıl revize etmem gerekir. Bilgi vermenizi Rica ederim.

Kod:
Private Sub UserForm_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)

Select Case KeyCode
                Case vbKeyF9
     
                        If MsgBox("Girdiginiz veriler kaydedilecektir, Emin misiniz...?", vbExclamation + vbYesNo, "Firma Tanımlama Formu") = vbNo Then Exit Sub
           
                        Dim Firma, YeniFirma
           
                        Firma = TextBox_FirmaAdi.Value
           
                        YeniFirma = IIf(Application.CountIf(Columns(2), Firma) > 0, 1, 0)
           
                        If YeniFirma > 0 And TextBox_FirmaAdi.Value <> "" Then
           
                        If MsgBox("Aynı Adla Yapılmış Firma Kaydı Bulundu...Kayıt Yapılsın mı...?", vbExclamation + vbYesNo, "Firma Tanımlama Formu") = vbNo Then Exit Sub
           
                        End If
           
           
                                ' Application.ScreenUpdating = False
           
                        With ThisWorkbook.Worksheets("Ana_Sayfa")
                              'Alttaki kod eger A sütunu bossa son satir olarak 2 verir, 1 tane veri olsa dahi son satiri son dolunun bir alt satir no verir-----------------
                        If WorksheetFunction.CountA(.Range("A2:A" & Rows.Count)) = 0 Then
                              SonSatir = .Range("A" & Rows.Count).End(3).Row
                              ElseIf WorksheetFunction.CountA(.Range("A2:A" & Rows.Count)) > 0 Then
                              SonSatir = .Range("A" & Rows.Count).End(3).Row + 1
                        End If
         
                        .Cells(SonSatir, 1) = WorksheetFunction.Max(.Range("A2:A" & Rows.Count)) + 1
                        .Cells(SonSatir, 2) = TextBox_FirmaAdi.Value
                        .Cells(SonSatir, 3) = ComboBox_FirmaUnvani.Value
                       
                        .Cells(SonSatir, 4) = TextBox_YetkiliKisi.Value
                        .Cells(SonSatir, 5) = TextBox_Telefon.Value
                        .Cells(SonSatir, 6) = TextBox_Gsm.Value
                        .Cells(SonSatir, 7) = TextBox_Email.Value
                        .Cells(SonSatir, 8) = TextBox_Adres.Value
                        .Cells(SonSatir, 9) = TextBox_Aciklama.Value
                       
                        .Cells(SonSatir, 10) = ComboBox_Ilce.Value
                        .Cells(SonSatir, 11) = ComboBox_Sehir.Text
                        .Cells(SonSatir, 12) = ComboBox_Bolge.Value
                        .Cells(SonSatir, 13) = ComboBox_Temsilci.Value
                        .Cells(SonSatir, 14) = ComboBox_RouteDay.Value
                        .Cells(SonSatir, 15) = ComboBox_YetkiliBayilik.Value
                       
                        checkboxKontrol SonSatir
                        .Cells(SonSatir, 26) = TextBox_Tarih.Value
                       
                        .Cells(SonSatir, 27) = ComboBox_Kaynak.Value
                        .Cells(SonSatir, 28) = ComboBox_Ziyaret.Value
                        .Cells(SonSatir, 29) = ComboBox_Katalog.Value
                       
                    '    .Protect sifre
                        End With
                        Call checkboxKontrol(SonSatir)
                        Call temizle
                   
                        TextBox_Tarih = Format(Date, "dd.mm.yyyy")
                   
                        TextBox_Tarih.SetFocus
                   
                        With TextBox_Tarih
                            .SelStart = 0
                            .SelLength = .TextLength
                        End With
                       
                        'Application.ScreenUpdating = True
           
            End Select

End Sub




RE: Excel Vba User Form'da Keydown Kullanımı Hakkında. - Oğuz Türkyılmaz - 26/04/2021

Bu açtığım konuda userform da Access deki gibi Formun özellikler menüsünde tuş önizleme olayı maalesef bulunmadığından çözememiştim başka bir yol da yok gibi duruyor. Fakat veri girişleri yaparken seri bir şekilde mouse kullanmadan Access deki gibi Klavye kısa yolları tanımlamak Userform da mümkün mü. Yani Alt+ K tuşuna basarak kayıt etme işlevini yerine getirmem mümkün olurmu olursa nasıl yapılabilir. Teşekkürler.


Re: Excel Vba User Form'da Keydown Kullanımı Hakkında. - feraz - 26/04/2021

Linkteki 3.mesajı uygulayın Img-grin
Alt tuşu ile oluyormuş.

https://www.vbforums.com/showthread.php?524674-RESOLVED-Excel-VBA-Button-Shortcut-Keys

[Resim: do.php?img=10960]


RE: Excel Vba User Form'da Keydown Kullanımı Hakkında. - Oğuz Türkyılmaz - 26/04/2021

Teşekkürler Feraz Hocam. Bu Özelliği Formda sadece 2 butona tanımlayabildim.(Kaydet ve Kapat) Diğerlerine ne hikmetse atayamıyorum.


RE: Excel Vba User Form'da Keydown Kullanımı Hakkında. - feraz - 26/04/2021

(26/04/2021, 22:16)Oğuz Türkyılmaz yazdı: Teşekkürler Feraz Hocam. Bu Özelliği Formda sadece 2 butona tanımlayabildim.(Kaydet ve Kapat) Diğerlerine ne hikmetse atayamıyorum.
Rica edeim abey.Kapat için yanılmıyorsam özellklerden cancel vardı o tru ise false,false ise true yapın.


RE: Excel Vba User Form'da Keydown Kullanımı Hakkında. - feraz - 26/04/2021

Dosyanızda denedim hepsi çalışıyor bende abey.

Resimdeki gibi true yapın ve esc ye tıklayın kapanır.

[Resim: do.php?img=10961]