• DİKKAT

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

istenmeyen harf yada kelimenin engellenmesi

Katılım
24 Ağustos 2007
Mesajlar
120
Excel Vers. ve Dili
2003 türkçe
Saygıdeğer Dostlar
Bir alan içinde bulunması istemediğimiz harfler veya kelimeler için varsayılan değer nasıl belirtilecek. Örneğin harfler girilmeyecek. ğ,ş,ı,ö,ç Kelime için örnek ağaç Ekteki dosyada düzenlenip yayınlanırsa seviniriz.Saygılarımla
 
Sayın meraklı biri
Verdiğin ekli dosyayı niye eklediğinizi hiç anlayamadım. Konuyla ne ilgisi var ki?
Bir de şöyle bir sorum var. Gerçekten böylesine ilginç konuları nereden buluyorsun? Adını gerçekten hakettiğini düşünüyorum. :)))
 
Sn mehmetdemiral
Teşekkür ederim.Ben sizler kadar acces te üstad değilim.Sizlerden 1 2 bilgi almak güzel diye düşünüyorum.Sonra benim adres defterim var.Orada bazı işlerimi kolaylaştıracağımı düşünüyorum.Daha doğrusu adres defterimi kişiselleştiriyorum.Gerçekten sizce ilginç mi bilmiyorum..Bu soruyu şunun için sormuştum. Adres defterimde e mail alanı var.o bölüme girerken yanlış harf girişinin olmamasını istiyorum..İkaz versin istiyorum.Teşekkür ederim.
 
Bu şekilde kodlarla falan yapılabilir. Ama ben geçerlilik kuralı diye bir alan var. Belki orada yapabilirsin. Alanın geçerlilik kuralına -ben de bakacağım birazdan- böyle bir kural eklenir mi denemek lazım. Kolay gelsin.
 
Ek dosyaya bakabilirsiniz

Sn mehmetdemiral ekteki dosyaya bak
Burada örneğin a harfi istenmiyor.ve oluyor Ancak birkelime yazdığımda 1 2 a bulunnunca bunu dikkate almıyor.İşinizi kolaylaştırır diye gönderiyorum.Saygılar
 
Son düzenleme:
Elbette.. O &#231;ok basit bir &#351;ey <>"a" &#351;eklinde a olmayan bir de&#287;er yaz&#305;lmas&#305;n&#305; sa&#287;lam&#305;&#351;. Belki like ve * ile kullan&#305;l&#305;rsa ve birden &#231;ok tan&#305;m and ile ba&#287;lan&#305;rsa bu y&#246;ntem i&#351;&#351;e yarar. Ama u&#287;ra&#351;mak laz&#305;m. Bo&#351; an&#305;mda denerim. Ama &#231;ok basit bir &#351;ekilde bir mod&#252;l yaz&#305;larak baz&#305; karakterlerin giri&#351;inin engellenmesi m&#252;mk&#252;n olur diye d&#252;&#351;&#252;n&#252;yorum. Ama kod yazma konusunda ben de o kadar iyi de&#287;ilim. Ancak bildi&#287;im birka&#231; kodu kullanabiliyorum. Burada ana dili gibi kod kullananlar var, onlar&#305;n yard&#305;m etmesi laz&#305;m. Mesela akl&#305;ma ilk gelenleri s&#246;yleyeyim: Modal&#305;, Beab05 veya Yeni54...
 
ger&#231;ekten gizel bir soru idi tebrik ederim.

i&#351;e yarayacak bir konu &#246;nce yaz&#305;n&#305; okuyunca bende &#351;a&#351;&#305;rm&#305;&#351;t&#305;m.
sonra ne i&#231;in oldu&#287;unu yaz&#305;n&#305;z&#305; okuyunca hak verdim.
 
Birka&#231; yol var bunun i&#231;in.
&#214;rne&#287;in, Alan&#305;n &#231;&#305;k&#305;&#351;&#305;nda kontrol edilebilir.
Veya Tu&#351;a bas&#305;lma an&#305; kontrol edilebilir veya de&#287;i&#351;me an&#305; kontrol edilebilir.
Ne yap&#305;labilir?
Girimesi yasak olan harf ya da harf gruplar&#305; bir tabloya toplan&#305;r. (Siz de b&#246;yle yapm&#305;&#351;s&#305;n&#305;z zaten)
Bir function olu&#351;turulur boolean tipinde veya ba&#351;ka bir tip d&#246;nd&#252;ren.
Bu fonksiyon i&#231;inde tablo select edilir,
her bir kay&#305;t i&#231;in instr komutu ile yasak olan harf yada harf grubu var m&#305; bak&#305;l&#305;r.
Var ise true ya da belirledi&#287;in bir geri d&#246;n&#252;&#351; de&#287;eri d&#246;nd&#252;r&#252;l&#252;r.
Buna g&#246;re de gerekli mesajlar verilerek ilerleme sa&#287;lan&#305;r.
 
Replace i&#351;inizi g&#246;rmez mi? &#214;rne&#287;in "&#246;" harfini "o" ve "&#287;" harfini "g" harfine d&#246;n&#252;&#351;t&#252;rmek gibi;

Kod:
=replace(replace([alan ismi];"&#246;";"o");"&#287;";"g")

alan i&#231;indeki t&#252;m "&#246;" ler "o" ya "&#287;" ler "g" ye d&#246;n&#252;&#351;&#252;r..
 
Son düzenleme:
Sn beab05
Bu kodu nereye yerle&#351;tirece&#287;iz Hatalarla kar&#351;&#305;la&#351;&#305;yorum Yard&#305;mc&#305; olursan&#305;z sevinirim.sayg&#305;lar
 
bunu deneyin hem t&#252;rk&#231;e karakterlere izin vermez hemde tam olarak mail adresi yazmadan kabul etmez

Private Sub emailadres_AfterUpdate()
If IsEmailAddress(emailadres.Value) = False Then
MsgBox "email adresi yanl&#305;&#351;", vbInformation, "uyar&#305;"
End If
End Sub

Function IsEmailAddress(ByVal strEmailAddr As String) As Boolean

' Checks if strEMailAddr could represent a valid e-mail address.
' Does not check validity of domain name.

' Allowed characters.
Const cstrValidChars As String = "@_-.0123456789abcdefghijklmnopqrstuvwxyz"
Const cstrDot As String = "."
Const cstrAt As String = "@"
' Minimum length of an e-mail address (a@a.ca).
Const cintAddressLenMin As Integer = 6

Dim strValidChars As String
Dim booFailed As Boolean
Dim intPos As Integer
Dim intI As Integer

' Convert to lowercase.
strEmailAddr = LCase(strEmailAddr)
' Check that strEMailAddr contains allowed characters only.
For intI = 1 To Len(strEmailAddr)
If InStr(cstrValidChars, Mid(strEmailAddr, intI, 1)) = 0 Then
booFailed = True
End If
Next
If booFailed = False Then
' Check that the first character is not cstrAt.
booFailed = Left(strEmailAddr, 1) = cstrAt
If booFailed = False Then
' Check that the first character is not a cstrDot.
booFailed = Left(strEmailAddr, 1) = cstrDot
If booFailed = False Then
' Check that length of strEMailAddr exceeds
' minimum length of an e-mail address.
intPos = Len(strEmailAddr)
booFailed = (intPos < cintAddressLenMin)
If booFailed = False Then
' Check that none of the last two characters of strEMailAddr is a dot.
booFailed = (InStr(intPos - 1, strEmailAddr, cstrDot) > 0)
If booFailed = False Then
' Check that strEMailAddr does contain a cstrAt.
intPos = InStr(strEmailAddr, cstrAt)
booFailed = (intPos = 0)
If booFailed = False Then
' Check that strEMailAddr does contain one cstrAt only.
booFailed = (InStr(intPos + 1, strEmailAddr, cstrAt) > 0)
If booFailed = False Then
' Check that the character leading cstrAt is not cstrDot.
booFailed = (Mid(strEmailAddr, intPos - 1, 1) = cstrDot)
If booFailed = False Then
' Check that the character following cstrAt is not cstrDot.
booFailed = (Mid(strEmailAddr, intPos + 1, 1) = cstrDot)
If booFailed = False Then
' Check that strEMailAddr contains at least one cstrDot
' following the sign after cstrAt.
booFailed = Not (InStr(intPos, strEmailAddr, cstrDot) > 1)
End If
End If
End If
End If
End If
End If
End If
End If
End If

IsEmailAddress = Not booFailed

End Function
 
Sn beab05
Bu kodu nereye yerleştireceğiz Hatalarla karşılaşıyorum Yardımcı olursanız sevinirim.saygılar

Merhaba;

Kodu her şekilde kullanabilirsiniz, isterseniz aktif metin kutusunun güncelleştirme sonrasına isterseniz başka bir metin kutusu denetim kaynağında. Çok basit ve pratiktir, karakterleri oto değiştirmek amacınıza uyuyorsa tabii ki;)
 
Sn gulsum1
&#199;ok te&#351;ekk&#252;r ederim ,ger&#231;ekten faydal&#305; bir kod.sayg&#305;lar
 
sn beab05
Sizin verdiğiniz replace = harf karakterini değiştirme formülünü formda yerleştirdim aşağıdaki şekilde ikaz veriyor.Nedenini anlıyamadım.Yardımcı olursanız sevinirim.
 
Private Sub kelimeler_KeyPress(KeyAscii As Integer)
If KeyAscii = 246 Then '(&#246;) ise
KeyAscii = 211 '(o) yap
ElseIf KeyAscii = 231 Then '(&#231;) ise
KeyAscii = 99 '(c) yap
ElseIf KeyAscii = 351 Then '(&#351;) ise
KeyAscii = 115 '(s) yap
ElseIf KeyAscii = 252 Then '(&#252;) ise
KeyAscii = 117 '(u) yap
ElseIf KeyAscii = 287 Then '(&#287;) ise
KeyAscii = 103 '(g) yap
ElseIf KeyAscii = 305 Then '(&#305;) ise
KeyAscii = 105 '(i) yap
End If
End Sub

istedi&#287;in bu
 
buda senin ekledi&#287;in son &#246;rnek san&#305;r&#305;m sen ad&#305; soyad&#305; alan&#305;ndaki veriyi ingilizce karaktere &#231;evireceksin

Private Sub Ad&#305;_soyad&#305;_Exit(Cancel As Integer)
Dim deger As String
Dim deger1 As String
Dim deger2 As String
say = Len(Me.Ad&#305;_soyad&#305;)
For i = 1 To say
deger = Mid(Me.Ad&#305;_soyad&#305;, i, 1)
deger1 = Replace(Replace(Replace(deger, "&#246;", "o"), "&#287;", "g"), "&#351;", "s")
deger2 = deger2 + deger1
Next i
Me.de&#287;er = deger2
End Sub

daha basit bir hali vard&#305;r eminim bu benim na&#231;izane &#246;rne&#287;im
 
Geri
Üst