• DİKKAT

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

Çalışma sayfasındaki metni büyük harfe dönüştürme

Katılım
8 Nisan 2008
Mesajlar
60
Excel Vers. ve Dili
Ofis 2019 Türkçe 64 Bit
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
Target.Value = UCase(Replace(Replace(Target.Value, "ı", "I"), "i", "İ"))
End Sub

Arkadaşlar; yukarıdaki kod çalışma kitabındaki metinleri büyük harfe dönüştürüyor. Sadece istediğim sayfadaki metinleri büyük harfe dönüştürebilir miyiz? Örnek gönderirseniz sevinirim.
 
Kod:
Sub Uppercase()

   ' Belirtilen aralıktaki her bir hücreye tek tek git.
' Visual Basic for Applications'ta Yazım Düzeni işlevi yoktur.

   For Each x In Range("A1:A5")
      ' Aralıktaki metni büyük harflere dönüştür.
      x.Value = UCase(x.value)
   Next
End Sub
 
Merhaba,
Bütün Türkçe harfleri de içermiyor.
İyi çalışmalar
 
İstediğiniz sayfada çalışması için sayfa adı kontrolü ekleyebilirsiniz.

Kod içindeki Sayfa_Adınız yazan yere kodun çalışmasını istediğiniz sayfa adını yazınız.

C++:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
If Sh.Name = "Sayfa_Adınız" Then
Target.Value = UCase(Replace(Replace(Target.Value, "ı", "I"), "i", "İ"))
End If
End Sub
 
Merhaba,
Bir sebepten dolayı makro görevini yapmadı.
Saygılarımla
 

Ekli dosyalar

.

Bu kodlar işinize yarayabilir.

Kod:
Sub BuyukHarf()
For Each c In Selection.Cells
c.Value = Evaluate("=UPPER(" & """" & c & """" & ")")
Next c
End Sub


Sub KucukHarf()
For Each c In Selection.Cells
c.Value = Evaluate("=LOWER(" & """" & c & """" & ")")
Next c
End Sub


Sub yazım_d()
For Each c In Selection.Cells
c.Value = Evaluate("=PROPER(" & """" & c & """" & ")")
Next c
End Sub


.
 
İstediğiniz sayfada çalışması için sayfa adı kontrolü ekleyebilirsiniz.

Kod içindeki Sayfa_Adınız yazan yere kodun çalışmasını istediğiniz sayfa adını yazınız.

C++:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
If Sh.Name = "Sayfa_Adınız" Then
Target.Value = UCase(Replace(Replace(Target.Value, "ı", "I"), "i", "İ"))
End If
End Sub
Korhan Bey merhaba; kodlar bir defa çalışıyor. Örneğin bir isim yazınca büyük harfe çeviriyor. İkincisinde değişiklik olmuyor ve excel donuyor.
 
.

Bu kodlar işinize yarayabilir.

Kod:
Sub BuyukHarf()
For Each c In Selection.Cells
c.Value = Evaluate("=UPPER(" & """" & c & """" & ")")
Next c
End Sub


Sub KucukHarf()
For Each c In Selection.Cells
c.Value = Evaluate("=LOWER(" & """" & c & """" & ")")
Next c
End Sub


Sub yazım_d()
For Each c In Selection.Cells
c.Value = Evaluate("=PROPER(" & """" & c & """" & ")")
Next c
End Sub


.
İdris hocam zahmetiniz için teşekkür ederim. Kodlarınızı kullandım. makro çalıştır deyince görev yapıyor. Yazıyı yazdıktan sonra enter tuşuna basınca veya başka bir hücreye geçince dönüştürme yapamaz mı?
 
.

O halde sayfa kodlarına şunlardan birini (hangisi işinizi görürse) yazın.

Kod:
Büyük harf için:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
        
            Target.Value = UCase(Replace(Replace(Target.Value, "I", "ı"), "İ", "i"))
            Target.Value = VBA.UCase(Target.Value)
    
End Sub



Küçük harf için:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
  
            Target.Value = LCase(Replace(Replace(Target.Value, "I", "ı"), "İ", "i"))
            Target.Value = VBA.LCase(Target.Value)
    
End Sub



Yazım Düzeni için:

Private Sub Worksheet_SelectionChange(ByVal Target As Range)

         Target.Value = LCase(Replace(Replace(Target.Value, "ı", "I"), "i", "İ"))
         Target.Value = Evaluate("=PROPER(" & """" & Target & """" & ")")
    
End Sub


.
 
Son düzenleme:
@Tevfik_Kursun,

Siz eklediğiniz örnek dosyada kitap kodunu sayfa kodu olarak uygulamışsınız. Bu sebeple sonuç almamanız normaldir. İlk mesajda ve devamında benim cevabımda paylaştığım kodu BuÇalışmaKitabı ya da ThisWorkbook bölümüne uygulamanız gerekiyor.

Ekte örnek dosyayı paylaşıyorum.
 

Ekli dosyalar

Sayın Korhan Hocam,
İlginize çok teşekkür ederim.
Saygılarımla
 
Geri
Üst