• DİKKAT

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

VBA da PROPER çalışıyor, UPPER olunca çalışmıyor

Katılım
26 Ocak 2007
Mesajlar
4,625
Excel Vers. ve Dili
Ofis 2016
Merhaba Arkadaşlar,

Aşağıdaki kodlar aynı tipteler. PROPER olan normal şekilde çalışıyor ama UPPER olan çalışmıyor. Bu fonksiyonların yapıları farklı mı ?
nerede hata yapıyorum acaba ?

*** ÇALIŞMIYOR ***
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Value = WorksheetFunction.Upper(Target.Value)
End Sub

*** ÇALIŞIYOR ***
Private Sub Worksheet_Change(ByVal Target As Range)
Target.Value = WorksheetFunction.Proper(Target.Value)
End Sub
 
target.value yerine target.text dener misin?
 
Benim bildiğim UPPER değil de UCASE kullanılıyor.
 
Merhaba,

Aşağıdaki şekli ile dener misiniz?

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)

    Target.Value = UCase(Target.Value)

End Sub

Edit: @YUSUF44 'ün cevabını görmemişim.
 
Merhaba,

Bildiğim kadarıyla UCase ve LCase fonksiyonlarında Türkçe karakter sıkıntısı var.
Ben aşağıdaki kodları fonksiyon olarak kullanıyorum.

Kod:
Function BKH(Sozcuk As String, Optional Tip As Integer = 2) As String

    'Tip    1. Küçük Harf
    '       2. Büyük Harf
    '       3. Yazım Düzeni
    
    If Tip = 1 Then
        BKH = Evaluate("=LOWER(" & """" & Sozcuk & """" & ")")
    ElseIf Tip = 2 Then
        BKH = Evaluate("=UPPER(" & """" & Sozcuk & """" & ")")
    Else
        BKH = Application.WorksheetFunction.Proper(Sozcuk)
    End If
    
End Function
 
Geri
Üst