• DİKKAT

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

Textbox' ta Ad Soyad Sorunu

  • Konbuyu başlatan Konbuyu başlatan ynmcan
  • Başlangıç tarihi Başlangıç tarihi
Katılım
30 Ağustos 2008
Mesajlar
677
Excel Vers. ve Dili
2010 türkçe
Merhaba arkadaşlar;

UserForn üzerindeki TextBox' a Ad ve Soyad yazmaktayım.

Forumda bulup dosyama uyarladığım aşağıdaki kod ile; Yazdığım Ad ın ilk karakterini büyük diğerlerini küçük, Soyadı nın ise bütün karakterlerini büyüğe çeviriyorum.

Ancak Soyadını yazdıktan sonra yanlışlıkla boşluk bırakınca Soyadı da Ad formatına ( ilk karakteri büyüğe diğerleri küçüğe ) dönüşüyor.

Bu sorunu bir türlü çözemedim. Yardımcı olursanız sevinirim.

Örnek dosyam ekte.
Kod:
 a = Split(TextBox1)
    For j = 0 To UBound(a) - 1
        Ad = Trim(Ad & " " & a(j))
    Next j

    soyad = Trim(a(UBound(a)))
    Ad = Evaluate("=PROPER(""" & Ad & """)")
    soyad = Evaluate("=UPPER(""" & soyad & """)")
    TextBox1 = Ad & " " & soyad
 

Ekli dosyalar

Tabiiki bir işlem yapılınca bazı kabuller yapmak lazım.
Mesela siizn yaptığınız kodlamada en son girilen boşluktaktan sonraki bölüm soyad kabul edilmiş.Bir boşluk yapınca ilk 2 boşluktan sonrakileri ad sonra girilecek olanıda soyad kabul ediyor.
Mesela en sona boşluk koyduktan sonra bir kelime daha yazın .Göreceksiniz ki o kelime Büyük olacak.
Onun için sizde boşluk bırakmayın.
Benim ilk planda yaptığım tesbit budur.
Kolay gelsin.:cool:
 
Tabiiki bir işlem yapılınca bazı kabuller yapmak lazım.
Mesela siizn yaptığınız kodlamada en son girilen boşluktaktan sonraki bölüm soyad kabul edilmiş.Bir boşluk yapınca ilk 2 boşluktan sonrakileri ad sonra girilecek olanıda soyad kabul ediyor.
Mesela en sona boşluk koyduktan sonra bir kelime daha yazın .Göreceksiniz ki o kelime Büyük olacak.
Onun için sizde boşluk bırakmayın.
Benim ilk planda yaptığım tesbit budur.
Kolay gelsin.:cool:

Syn; Evren Gizlen;
Yaptığınız açıklama Doğrultusunda
Kod ta kırmızı ile belirtiğim değişikliği yaptım.
Böylece adı boşluktan önce değilde boşluktan sonraki ilk karakteri yazınca PROPER biçimine sokuyor. Şu ana kadar bir sorun çıkmadı
Verdiğiniz bilgiler için teşekkür ederim.
Örnek dosyam ekte.
Kod:
Private Sub TextBox1_Change()

a = Split(TextBox1)
    For j = 0 To UBound(a) - 1
        Ad = Trim(Ad & " " & a(j))
    Next j
On Error Resume Next
Soyad = Trim(a(UBound(a)))

[COLOR="Red"]If Soyad = "" Then
Soyad = Evaluate("=UPPER(""" & Soyad & """)")
Else
Ad = Evaluate("=PROPER(""" & Ad & """)")
End If[/COLOR]

Soyad = Evaluate("=UPPER(""" & Soyad & """)")
TextBox1 = Ad & " " & Soyad

End Sub
 

Ekli dosyalar

Tebrik ederim.
İyi çalışmalar.:cool:
Syn; Evren Gizlen;
Yaptığınız açıklama Doğrultusunda
Kod ta kırmızı ile belirtiğim değişikliği yaptım.
Böylece adı boşluktan önce değilde boşluktan sonraki ilk karakteri yazınca PROPER biçimine sokuyor. Şu ana kadar bir sorun çıkmadı
Verdiğiniz bilgiler için teşekkür ederim.
Örnek dosyam ekte.
Kod:
Private Sub TextBox1_Change()

a = Split(TextBox1)
    For j = 0 To UBound(a) - 1
        Ad = Trim(Ad & " " & a(j))
    Next j
On Error Resume Next
Soyad = Trim(a(UBound(a)))

[COLOR="Red"]If Soyad = "" Then
Soyad = Evaluate("=UPPER(""" & Soyad & """)")
Else
Ad = Evaluate("=PROPER(""" & Ad & """)")
End If[/COLOR]

Soyad = Evaluate("=UPPER(""" & Soyad & """)")
TextBox1 = Ad & " " & Soyad

End Sub
 
Bu kodlar çok güzel, ancak son yıllarda sayısı iyice artan çift soyadı kullanan kadınları da dikkate alarak kodu uyarlamanız mümkün mü ?
 
Geri
Üst