Ç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
Altın Üyelik Bitiş Tarihi
05-04-2025
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.
 

cems

Altın Üye
Katılım
2 Eylül 2005
Mesajlar
2,579
Excel Vers. ve Dili
office 2010 tr 32bit
Altın Üyelik Bitiş Tarihi
13-06-2029
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
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,869
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba,
Bütün Türkçe harfleri de içermiyor.
İyi çalışmalar
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,157
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İ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
 

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,869
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Merhaba,
Bir sebepten dolayı makro görevini yapmadı.
Saygılarımla
 

Ekli dosyalar

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
.

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

.
 
Katılım
8 Nisan 2008
Mesajlar
60
Excel Vers. ve Dili
Ofis 2019 Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
05-04-2025
İ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.
 
Katılım
8 Nisan 2008
Mesajlar
60
Excel Vers. ve Dili
Ofis 2019 Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
05-04-2025
.

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ı?
 

Merhum İdris SERDAR

Moderatör
Yönetici
Katılım
21 Ekim 2005
Mesajlar
17,094
Excel Vers. ve Dili
Excel, 365 - İngilizce
.

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:

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,157
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
@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

Tevfik_Kursun

Altın Üye
Katılım
30 Temmuz 2012
Mesajlar
3,869
Excel Vers. ve Dili
Office 2016 Pro - Türkçe 64 Bit
Altın Üyelik Bitiş Tarihi
12-02-2029
Sayın Korhan Hocam,
İlginize çok teşekkür ederim.
Saygılarımla
 
Üst