• DİKKAT

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

Ad ve soyadı büyük yazma

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,494
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Arkadaşlar, benim dosyalarımda kullandığım kod var, adın baş harfini soyadın tamamını büyük harfle yazmak için. Bunu userfom içinde textbox'a nasıl uyarlayabilirim.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

    On Error GoTo Son
    If Intersect(Target, [D:D]) Is Nothing Or Target.Row < 2 Or Target.Value = "" Then Exit Sub
  
    Dim Ad As String, Soyad As String
    Dim Dizi() As String
    Dim i As Integer
  
    Dizi = Split(Target.Value, " ")
    For i = 0 To UBound(Dizi) - 1
        Ad = Trim(Ad & " " & Dizi(i))
    Next i
  
    Soyad = Trim(Dizi(UBound(Dizi)))
    Ad = Application.WorksheetFunction.Proper(Ad)
    Soyad = Evaluate("=UPPER(""" & Soyad & """)")
    Application.EnableEvents = False
    Target.Offset(0, 0) = Ad & " " & Soyad
  
    Target.Offset(0, 0).Characters(Len(Ad) + 1, Len(Soyad) + 1).Font.Bold = False
    Target.Offset(0, 0).Characters(Len(Ad) + 1, Len(Soyad) + 1).Font.ColorIndex = 1
  
    Application.EnableEvents = True

Sütun ve satır bilgisini siliyorum hata veriyor.
Şimdiden teşekkür ederim.
 
Merhaba,

Deneyiniz. Sizin kodları kullandım.
Kod:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

    Dim Ad As String, Soyad As String
    Dim Dizi() As String
    Dim i As Integer

    Dizi = Split(TextBox1, " ")
    For i = 0 To UBound(Dizi) - 1
        Ad = Trim(Ad & " " & Dizi(i))
    Next i

    Soyad = Trim(Dizi(UBound(Dizi)))
    Ad = Application.WorksheetFunction.Proper(Ad)
    Soyad = Evaluate("=UPPER(""" & Soyad & """)")

    TextBox1 = Ad & " " & Soyad
   
End Sub
 
Merhaba,

Deneyiniz. Sizin kodları kullandım.
Kod:
Private Sub TextBox1_Exit(ByVal Cancel As MSForms.ReturnBoolean)

    Dim Ad As String, Soyad As String
    Dim Dizi() As String
    Dim i As Integer

    Dizi = Split(TextBox1, " ")
    For i = 0 To UBound(Dizi) - 1
        Ad = Trim(Ad & " " & Dizi(i))
    Next i

    Soyad = Trim(Dizi(UBound(Dizi)))
    Ad = Application.WorksheetFunction.Proper(Ad)
    Soyad = Evaluate("=UPPER(""" & Soyad & """)")

    TextBox1 = Ad & " " & Soyad
  
End Sub

Hocam, öncelikle ilginize teşekkür ederim. Şöyle bir hata alıyorum.
Ekran Alıntısı.PNG
 
Kodları TextBox2 ye yazmışsınız. Kodların içindeki TextBox1 olan bölümleri TextBox2 yaparak deneyiniz.
Kod:
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)

    Dim Ad As String, Soyad As String
    Dim Dizi() As String
    Dim i As Integer

    Dizi = Split(TextBox2, " ")
    For i = 0 To UBound(Dizi) - 1
        Ad = Trim(Ad & " " & Dizi(i))
    Next i

    Soyad = Trim(Dizi(UBound(Dizi)))
    Ad = Application.WorksheetFunction.Proper(Ad)
    Soyad = Evaluate("=UPPER(""" & Soyad & """)")

    TextBox2 = Ad & " " & Soyad
  
End Sub
 
Kodları TextBox2 ye yazmışsınız. Kodların içindeki TextBox1 olan bölümleri TextBox2 yaparak deneyiniz.
Kod:
Private Sub TextBox2_Exit(ByVal Cancel As MSForms.ReturnBoolean)

    Dim Ad As String, Soyad As String
    Dim Dizi() As String
    Dim i As Integer

    Dizi = Split(TextBox2, " ")
    For i = 0 To UBound(Dizi) - 1
        Ad = Trim(Ad & " " & Dizi(i))
    Next i

    Soyad = Trim(Dizi(UBound(Dizi)))
    Ad = Application.WorksheetFunction.Proper(Ad)
    Soyad = Evaluate("=UPPER(""" & Soyad & """)")

    TextBox2 = Ad & " " & Soyad
 
End Sub
Hocam pardon ilkini değiştirdim de, ikinciyi unutmuşum. Yalnız şöyle bir şey oldu, çözemedim. Çalışıyor ama yazdığımı bir üst satıra TextBox1'e yazıyor.

.Ekran Alıntısı.PNG
 
Yanlış uygulamış olabilir misiniz. Örnek ekleyebilir misiniz.

TextBox2 = Ad & " " & Soyad
 
Yanlış uygulamış olabilir misiniz. Örnek ekleyebilir misiniz.

TextBox2 = Ad & " " & Soyad
Hocam, yardımlarınız için çok teşekkür ederim. Çözdüm. 1'e yaz diyormuş. Emeğinize sağlık.
Sağlıklı günler dilerim.
 
Geri
Üst