• DİKKAT

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

TextBox'a Veri Girişi Kısıtlama!

Katılım
3 Şubat 2005
Mesajlar
294
Excel Vers. ve Dili
Microsoft Excel 2013 32Bit Türkçe
Forumda yaklaşık 2 gündür arama yapmama rağmen, bazı kodlar buldum ama benim sorunumu çözmedi, bu yüzden yeni konu açmak durumunda kaldım.
Benim sorunum Textbox kutusuna yalnızca A B C D ve E karakterlerinin yazılabilmesini, başka karakter girildiğinde uyarı vermesini istiyorum.

Şimdiden yardımcı olacak arkadaşlar çok teşekkür ederim.
 
Bu kodu denermisiniz.?

Private Sub TextBox1_Change()
deg = TextBox1.Text
If UCase(Right(deg, 1)) = "A" Then
ElseIf UCase(Right(deg, 1)) = "B" Then
ElseIf UCase(Right(deg, 1)) = "C" Then
ElseIf UCase(Right(deg, 1)) = "D" Then
ElseIf UCase(Right(deg, 1)) = "E" Then
Else
MsgBox Right(deg, 1) & " Hatalı Karekter Girdiniz."
End If
End Sub



Private Sub TextBox2_Change()
deg = TextBox2.Text
For i = 1 To Len(deg)
If UCase(Mid(deg, i, 1)) = "A" Then
ElseIf UCase(Mid(deg, i, 1)) = "B" Then
ElseIf UCase(Mid(deg, i, 1)) = "C" Then
ElseIf UCase(Mid(deg, i, 1)) = "D" Then
ElseIf UCase(Mid(deg, i, 1)) = "E" Then
Else
MsgBox Mid(deg, i, 1) & " Hatalı Karekter Girdiniz."
TextBox2.Text = Mid(deg, 1, i - 1)
End If
Next
End Sub
 
Allah razı olsun, şimdilik bir sorun gözükmüyor. Teşekkür ederim. :)
 
Selamlar,

Alternatif olarak aşağıdaki koduda kullanabilirsiniz.

Kod:
Option Explicit
 
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    TextBox1.MaxLength = 1
    Select Case KeyAscii
    Case Asc("A") To Asc("E")
    Case 8
    Case Else
    KeyAscii = 0: MsgBox "Sadece A-B-C-D-E harflerini girebilirsiniz !", vbCritical, "Dikkat !"
    End Select
End Sub
 
Peki Korhan Bey, mesaj vermek yerine Text kutusunu temizlemek istersem kodu nasıl değiştirmeliyim. Benim yapmak istediğim mouse hiç kullanmadan, direk tuşlarla programı yönetebilmek.

Saygılar.
 
2 nolu mesajı yeniden düzenledim.
 
Selamlar,

Mesaj verdirmek istemiyorsanız aşağıdaki şekilde kullanabilirsiniz.

Kod:
Option Explicit
 
Private Sub TextBox1_KeyPress(ByVal KeyAscii As MSForms.ReturnInteger)
    TextBox1.MaxLength = 1
    Select Case KeyAscii
    Case Asc("A") To Asc("E")
    Case 8
    Case Else
    KeyAscii = 0
    End Select
End Sub
 
Merhaba,

Levent Bey'in bir çalışmasının uyarlanmış hali, Regular Expressions uygulaması, alternatif olması açısından yararlı olur sanırım.

Kod:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)
Dim deg As Object
Set deg = CreateObject("VBScript.Regexp")
deg.Pattern = "^[A-E]{1}$"
deg.Global = True
If deg.test(TextBox1) = False Then Cancel = True
Set deg = Nothing
End Sub
 
Macro ile Textbox'a VeriDoğrulama , Giriş Sınırlama

Merhabalar;
Textbox'a giriş sınırlama ile ilgili olarak;
Exceldeki sayfasındaki karşılığı
Veri Doğrulama ile yapıldığını biliyoruz.
Ancak bunun macro ile yapmak istersek;

Örnek Textbox3' e

Yalnızca Sayfa1 deki aşağıdaki bilgileri girmek istediğimizde ne yapmalıyız.

A.......... B.........C.......
1-Ahmet
2-Zeynep
3-15
4-Hasan

Saygılar sunarım.
 
Form üzerinde bahsettiğiniz işlem için ComboBox nesnesini kullanmanız daha uygun olacaktır.

Bu nesne ile ilgili forumda örnekler var. Arama yaparak ulaşabilirsiniz.
 
Geri
Üst