• DİKKAT

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

TextBoxlara Tab ile Geçiş

Merhaba userform üzerinde sağa tıklayın taborder göreceksiniz orada taporder sıralamasını ayarlarsanız istediğiniz sıra ile öğeler üzerinde gezebilirsiniz
 
Cevabınız için teşekkür ederim ancak benim textboxlar userform da değil bizzat excel sayfası içerisinde.
 
Excel VBA kod editörünü açın "ThisWorkbook" kod sayfasına aşağıdaki kodları yapıştırın.

"TextBoxSayisi = 3" kısmına sizin sayfanızda kaç tane textBox varsa ona göre değiştirin.
Burada üç textbox varsayıldı.

Kod:
Dim txt() As New Class1

Private Sub Workbook_Open()
    Dim TextBoxSayisi As Byte
    [COLOR="Red"]TextBoxSayisi = 3[/COLOR]
    ReDim Preserve txt(TextBoxSayisi)
    For a = 1 To TextBoxSayisi
        Set txt(a).txt = ActiveSheet.Shapes(a).OLEFormat.Object.Object
    Next
    Sheets("sayfa1").TextBox1.Activate
End Sub

Kod editörüne Class Kod sayfası ekleyin ve aşağıdaki kodları sayfaya yapıştırın.

Kod:
Public WithEvents txt As MSForms.TextBox

Private Sub txt_KeyDown(ByVal KeyCode As MSForms.ReturnInteger, ByVal Shift As Integer)
    Dim TxtNo As String
    TxtNo = Replace(txt.Name, "TextBox", "") + 1
    If TxtNo = ThisWorkbook.TextBoxSayisi + 1 Then TxtNo = 1
    If KeyCode = 9 Then
        ActiveSheet.Shapes(TxtNo).OLEFormat.Object.Activate
    End If
End Sub

Excel dosyanızı kaydedin kapatın ve yeniden açın.
Şimdi Tab tuşu ile TextBoxlarda ilerleyebilirsiniz.

Sayfaya eklenme sırasına göre TextBoxlar seçilecektir.
 
Son düzenleme:
Kod:
Set txt(a).txt = ActiveSheet.Shapes(a).OLEFormat.Object.Object

Dediklerinişzi aynen yaptım ancak yukarıda belirttiğim kod kısmında "Object doesn't support this property or method" hatası veriyor.
 
sayfanızda kaç tane TextBox nesnesi varsa

Buradaki 3 rakamı yerine yazın.

TextBoxSayisi = 3
 
Geri
Üst