• DİKKAT

    DOSYA İndirmek/Yüklemek için ÜCRETLİ ALTIN ÜYELİK Gereklidir!
    Altın Üyelik Hakkında Bilgi

  • Forum yazılımı güncelenmiştir.

    Beklenmedik durumlar görürseniz lütfen yönetime iletin.

Çözüldü Tab Tuşu sorunu

  • Konbuyu başlatan Konbuyu başlatan FERAZ
  • Başlangıç tarihi Başlangıç tarihi
Katılım
5 Kasım 2006
Mesajlar
603
Excel Vers. ve Dili
TÜRKCE Excel 2021 32bit
Merhabalar.
Alttaki gibi kod yazdım lakin resimdeki gibi boşluk çıkıyor her comboboxta tab tuşuna basıp Textboxa geçince.
Acaba çözüm nedir?

Rich (BB code):
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyTab Then  'Enter
        Me.TextBox1.SetFocus
    End If
End Sub



https://www.dropbox.com/s/wok9l1bnksktd09/Enter Tusu.xlsm?dl=0
 
Merhaba.
UserForm_Initialize kodunu aşağıdaki gibi değiştirin.
Rich (BB code):
Private Sub UserForm_Initialize()
    Me.TextBox1.MaxLength = 10
    Me.TextBox1.Value = Format(Date, "mm.dd.yyyy")
    Me.ComboBox1.SetFocus
End Sub
 
Merhaba Ömer hocam.
Kodu deneyeceğim bugün nasipse.
Tarih sadece bir örnekti.
Başka verilerde olabilir.
Bu durumda Textbox uzunluk işe yarar mı?
 
Yanlış hatırlamıyorsam forumda, Sayın Korhan AYHAN'ın hazırladığı örnek belge var idi.
Kullanıcıyı, Textbox'lara belli kriterlere göre veri (sadece sayı, sadece metin, sadece tarih gibi) yazmaya zorlayan bir uygulamaydı.
Rastlarsam ilgili konu sayfasının adresini buradan paylaşırım.

Ayrıca;
-- userformdaki nesneler arasında TAB tuşunu kullanarak belli bir sırayla gezinti yapmak için,
nesnelerin TabIndex değerleri üzerinden birşeyler yapılabilir,
-- ya da TextBox_Change koduna aşağıdaki gibi satırlar eklenebilir.
Rich (BB code):
Private Sub TextBox1_Change()
Application.OnKey "{TAB}", "ComboBox1.SetFocus"
TextBox1.Text = Replace(TextBox1.Text, Chr(9), "")
End Sub
 
Son düzenleme:
Ömer hocam kusura bakmyyın biraz geç cevap yazıyorum.
İlk mesajınız tarih için sorun olmuyor,lakin textbox boş vs ise sonuç olumsuz.
İkinci kodunuzu ise test ettim olmadı sonuç olarak.
 
Forumda sorulan sorulara, deneme (max.length 0 iken, textboxta tarih yokken vs) yapmadan afaki cevap yazmışlığım pek yoktur.
Eklediğiniz örnek belgeye, belirttiğim kod'u uyguladığımda bir sorunla karşılaşmamışım ki cevap yazmışım.

Verdiğim kod TextBox'ta iken TAB'a basıldığında, boşluk eklemeden Combobox'a geçilmesini sağlar, Combobox'tan TAB tuşuyla
TextBoxa geçildiğinde de BOŞLUK sorunu yaşanmadan Textbox'a geçilmesini sağlar.

Sorun yaşanan belgeyi foruma ekleyin, ben veya başka bir forum üyesi çözüm yolunda mesafe alınmasını sağlayacak öneride bulunur.
.
 
Kodların tamamını ekler misiniz?
Belki ben eksik birşeyler yapmış olabilirim.
Tabii tarih olayını koda eklemeden ilgili kodu alttaki gibi yapıp.

Private Sub UserForm_Initialize()
Me.ComboBox1.SetFocus
End Sub
 
Son düzenleme:
Alternatif;

Kod:
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyTab Then
        KeyCode = 0
        Me.TextBox1.SetFocus
    End If
End Sub
 
Alternatif;

Kod:
Private Sub ComboBox1_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    If KeyCode = vbKeyTab Then
        KeyCode = 0
        Me.TextBox1.SetFocus
    End If
End Sub

Çalıştı Korhan hocam elinize sağlık. KeyCode = 0 keramet bundaymış:)
 
Önerimin uygulandığı belge ekte.
Ben bir sorun göremiyorum.

Eklediğim belgeye, fareyle BURAYA tıklayarak da erişebilirsiniz.
.
 

Ekli dosyalar

Son düzenleme:
Bir önceki cevabıma, eklediğim belgeye erişim için bağlantı adresi ekledim.
Sayfayı yenileyerek bir önceki cevabımı kontrol ediniz.
.
 
Bir önceki cevabıma, eklediğim belgeye erişim için bağlantı adresi ekledim.
Sayfayı yenileyerek bir önceki cevabımı kontrol ediniz.
.

Haklısınız Ömer hocam.
Benim denemede nedense olmamıştı ne kadar denediysem :unsure:
Elinize sağlık güzel olmuş.

Korhan hocamızın eklediği KeyCode = 0 daha cazip geldi.
Application.OnKey bu kodu biraz araştırayım ilginç birşeye benziyor.

Belki senkeys yernine Application.OnKey koduyla yazıcı sayfası felan açtırabilirim.
Çünkü sendkeys Numlock ışığını kapatıyor.

Kolay gelsin.
 
Application.OnKey "{TAB}", "ComboBox1.SetFocus" bunu silip TextBox1.Text = Replace(TextBox1.Text, Chr(9), "") sadece bu kodu kullanıncada sorun olmadı kod çalışmasında.
 
Merhaba @Haluk Bey.
Bu dosya dikkatimden kaçmış demekki (Sayfadaki düğme ile ilgili kod ilişkilendirmesi unutulmuş galiba).
Özellikle gg/aa/yyyy ve/veya aa/gg/yyyy girişi çok işe yarar olmuş. Sağ olunuz.

Benim bahsettiğim belge/userform bu değildi. Userform gözümün önüne geliyor dikeylemesine ve daha fazla sayıda textbox'un olduğu,
herbirinde farklı veri tipinde veri girişine zorlayan kodlamalar vardı.
Yine yanlış hatırlamıyorsam diyeceğim, Sayın @Korhan Ayhan 'ın hazırladığı bir belge idi.
.
 
Merhaba.
Bu tarih formatı dosyasına erişemediğim için bişey söyleyemeyeceğim.

Asıl konu Numlock ışık olayı idi :)
Sorun giderildi.Sadece doda eğer Numlock kapalıysa açma komutu ilave edilirse süper olur olmazsada önemli değil :)
 
Son düzenleme:
Teşekkürler Sayın AYHAN. (y)

Kendisinin hazırladığı belgedeki UserForm'un arkaplan rengini bile hatırlıyorum.
Bahsettiğim Sayın @Korhan Ayhan 'ın hazırladığı belge bu idi.
UserForm olaylarında çok işinize yarayacaktır.
.
 
Geri
Üst