• DİKKAT

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

İlk Harf Büyük KTF sinde Türkçe Karakter Sorunu

Katılım
2 Mart 2005
Mesajlar
2,960
Excel Vers. ve Dili
ev: Ofis 2007- Win Xp
iş: Ofis 2010- Win Vista
Kod:
Sub ILKHARFB()
Dim x As Range
On Error Resume Next
If Selection.Count > 100 Then
MsgBox "Fazla Alan Seçtiniz.", vbCritical + vbDefaultButton1 + vbOKOnly, "UYARI"
Exit Sub
End If
For Each x In Selection
x.Value = Replace(Replace(StrConv(x.Value, vbProperCase), "I", "ı"), "İ", "i")
Next
End Sub

kodlarında
ipsala'da ışıklar teröre lanet için bir dakika söndürüldü.
cümlesini
ıpsala'da ışıklar Teröre Lanet ıçin Bir Dakika Söndürüldü.
şeklinde döndürüyor, Aslında


İpsala'da Işıklar Teröre Lanet İçin Bir Dakika Söndürüldü.
şeklinde dönmesi lazım

Nasıl bir düzenleme olması lazım?

Saygılarımla
 
Burada ben bir noktayı atladım sanırım.

x.Value = Replace(Replace(StrConv(x.Value, vbProperCase), "I", "ı"), "İ", "i")

satırını

x.Value = Replace(Replace(StrConv(x.Value, vbProperCase), "ı", "I"), "i", "İ")

olarak değiştirip deneyebilirmisiniz?
 
Ipsala'da IşIklar Teröre Lanet Içİn Bİr Dakİka Söndürüldü.

olarak döndü hocam şimdide, eğer mümkünse her boşluğu kontrol edip
Kod:
'*Normal Tümce Düzeni
Sub NTC() 
Dim x As Range
On Error Resume Next
    If Selection.Count > 100 Then
        MsgBox "Fazla Alan Seçtiniz.", vbCritical + vbDefaultButton1 + vbOKOnly, "UYARI"
        Exit Sub
    End If

    For Each x In Selection
[B]        metin = LCaseTr(x.Value)                          'tümü küçük harf
        ilkharf = UCaseTr(Left(metin, 1))                'ilk harfi büyük harf yap 
        dgrharf = Right(metin, (Len(metin) - 1))      'diğer harfleri al
        x.Value = ilkharf & dgrharf                        'büyük harfle diğer harfleri birleştir
[/B]    Next
End Sub


Kod:
Function UCaseTr(ByVal metin As String)
    UCaseTr = UCase(Replace(Replace(metin, "ı", "I"), "i", "İ"))
End Function
Function LCaseTr(ByVal metin As String)
    LCaseTr = LCase(Replace(Replace(metin, "I", "ı"), "İ", "i"))
End Function

her kelimeyi kontrol edip uygulanabilirse sorun çözülür sanki
 
Son düzenleme:
hocam çözemezmiyiz bu sorunu
 
Hocam Çözdüm buyrun

Kod:
Sub ILKHARFB()
Dim x As Range
On Error Resume Next
    If Selection.Count > 100 Then
        MsgBox "Fazla Alan Seçtiniz.", vbCritical + vbDefaultButton1 + vbOKOnly, "UYARI"
        Exit Sub
    End If
    
    For Each x In Selection
        Kelime = ""
        SonKelime = ""
        a = Split(x.Value, " ")
        
        For j = 0 To UBound(a) - 1
            Kelime = Trim(Kelime & " " & a(j))
        Next j
    
        SonKelime = Trim(a(UBound(a)))
        Kelime = Evaluate("=PROPER(""" & Kelime & """)")
        SonKelime = Evaluate("=PROPER(""" & SonKelime & """)")
        x.Value = Kelime & " " & SonKelime
    Next
End Sub
 
teşekkür ederim hocam
şimdi tek sorunum büyük küçük harf dönüştür (wordde olan)makrosunu

yapabilmek ama açıkcası64 kere replace yazmak zor geliyor kısası varmı?
 
bir sorun var eğer tek kelime ise kelimenin başına boşluk koyuyor.
 
bir sorun var eğer tek kelime ise kelimenin başına boşluk koyuyor.

Merhaba,

Aşağıdaki kodları bir modüle kopyalayınız.


Kod:
Sub ILKHARFB()
 
    Dim Hucre   As Range
    
    For Each Hucre In Selection
        Hucre = Application.WorksheetFunction.Proper(Application.WorksheetFunction.Trim(Hucre))
    Next Hucre
    
End Sub
 
Merhaba,

Aşağıdaki kodları bir modüle kopyalayınız.


Kod:
Sub ILKHARFB()
 
    Dim Hucre   As Range
    
    For Each Hucre In Selection
        Hucre = Application.WorksheetFunction.Proper(Application.WorksheetFunction.Trim(Hucre))
    Next Hucre
    
End Sub

Merhaba,

Yeni yılda ilk soru bende olsun :)

Bu kod alanındaki Proper yerine Upper veya Lower yazdığımda metot hatası alıyorum. Upper ve Lower içinde bir örnek verebilir misiniz.
 
Geri
Üst