Hücreye Girileni Büyük Harfe Dönüştürme

Katılım
1 Şubat 2006
Mesajlar
21
Biliyorum çok basit bir yolu vardır ama bulamdım ben. Hücreye girdiğim her kelime entere basınca büyük harf olarak değişsin.

Bu forum sayfaları arasında da vardır ama o kadar çok sayfa var ki aramaya kalksam bir günüm gider. Forumda arama yapmanın kolay bir yolunu bilen varsa anlatırsa sevinirim ayrıca.
 
Katılım
20 Eylül 2005
Mesajlar
38
Excel Vers. ve Dili
excel 2003 tr
Peki bu işlem nasıl yapıldı, nerden yapıldı ben çok merak ettim çünkü bende çok uğraştım bulamamıştım.
 

hamitcan

Uzman
Uzman
Katılım
1 Temmuz 2004
Mesajlar
7,712
Excel Vers. ve Dili
Excel 2019 Türkçe
Araçlar-Makro-Visual Basic Düzenleyicisi-Sayfa1 içinde
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Sn. hamitcan'ın kodlarını aşağıdaki gibi düzenlerseniz İ harfindeki problemde ortadan kalkmış olur.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Value = "i" Then Target.Value = "İ"
If Target.Value = "ı" Then Target.Value = "I"
Target = StrConv(Target, vbUpperCase)
End Sub
 
Katılım
21 Aralık 2005
Mesajlar
13
Excel Vers. ve Dili
Excel 2003 türkçe
selam COST CONTROL 'un yazmış olduğu mod sadece baş harfi İ olursa geçerli, İ garfi kelimenin arasında bir yerde ise geçerli olmuyor. Buna bir çözüm var mı acaba?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,243
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Selamlar,

Aşağıdaki gibi denermisiniz. (Alıntıdır.)

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
On Error Resume Next
Kelime = Replace(Target.Value, "i", "İ")
Kelime = Replace(Kelime, "ı", "I")
Target.Value = StrConv(Kelime, vbUpperCase)
End Sub
 
Katılım
16 Mart 2006
Mesajlar
66
Excel Vers. ve Dili
Excel 2007
İngilizce
Merhaba,

Son olarak sayın Cost Control'ün yazdığı kodlarda, sayfaya yeni bir metin girildiğinde problem olmuyor. Ancak sayfada birden fazla satır kopyalayıp aynı sayfaya, ya da başka bir excel sayfasından bu sayfaya metin yapıştırmak istediğimizde harfler büyükharfe çevrilmediği gibi, yapıştırılan yerdeki veriler de siliniyor. Acaba buna bir çözüm bulunabilir mi?
 
Katılım
16 Mart 2006
Mesajlar
66
Excel Vers. ve Dili
Excel 2007
İngilizce
Sevgili fructose,

Aslında bu sayfada belirtilen kodlar benim işime daha çok yarıyor. Haluk Bey'in yaptığı çalışma güzel, ancak benim için çok kullanışlı değil. Bu sayfadaki kodlarda da büyükharfe çevirmede hiçbir problem yok. Ancak birden fazla değer yapıştırılmaya çalışıldığında problem çıkıyor. Eğer bu halledilebilirse daha işe yarar hale gelebilir.
 

Ali

Uzman
Katılım
21 Temmuz 2005
Mesajlar
7,897
Excel Vers. ve Dili
İş:Excel 2016-Türkçe
Diyelim sorun E2:K500 arasında yani büyük yapmak istediğiniz kısım

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
For i = 97 To 122
Range("E2:K500").Replace _
What:=Chr(i), Replacement:=Chr(i - 32), LookAt:=xlPart
Next i
End Sub

olarak bir deneyin
 
Katılım
10 Mayıs 2006
Mesajlar
33
VBA ile uğraşmak istemiyorsanız,
ilgili hücreleri kopyalayıp WORD'e yapıştırın shift + F3 ile hepsini büyük harfe çevirin ve tekrar eXCEL'e yapıştırın

uyguladığınız sayfayada aşağıdaki kodu uygulayın.

Private Sub Worksheet_Activate()
msgbox "işlem tamamlandı"
End Sub
 
Katılım
16 Mart 2006
Mesajlar
66
Excel Vers. ve Dili
Excel 2007
İngilizce
Sevgili fructose,

Yazdığınız kod sayfayı çok ağırlaştırıyor. Ayrıca türkçe karakter problemi var. Bu sayfada son olarak sayın Cost Control'ün yazdığı aşağıdaki kodda büyükharfe çevirmede hiçbir problem yok ve hızlı. Ancak belirttiğim gibi sadece birden fazla hücre yapıştırmada problem oluşturuyor. Bu halledilebilirse bence çok kullanışlı bir VBA.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range) 
On Error Resume Next 
Kelime = Replace(Target.Value, "i", "İ") 
Kelime = Replace(Kelime, "ı", "I") 
Target.Value = StrConv(Kelime, vbUpperCase) 
End Sub
 

Haluk

Özel Üye
Katılım
7 Temmuz 2004
Mesajlar
12,406
Excel Vers. ve Dili
64 Bit 2010 - İngilizce
+
Google Sheets
+
JScript
Altın Üyelik Bitiş Tarihi
m.cay' Alıntı:
....
Bu halledilebilirse bence çok kullanışlı bir VBA.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim MyRng As Range
    On Error Resume Next
    If Selection.Count > 1 Then GoTo ResumeSub:
    Kelime = Replace(Target.Value, "i", "İ")
    Kelime = Replace(Kelime, "ı", "I")
    Target.Value = StrConv(Kelime, vbUpperCase)
    Exit Sub
ResumeSub:
    For Each MyRng In Selection
        Kelime = Replace(MyRng.Value, "i", "İ")
        Kelime = Replace(Kelime, "ı", "I")
        MyRng.Value = StrConv(Kelime, vbUpperCase)
    Next
End
End Sub
 
Katılım
16 Mart 2006
Mesajlar
66
Excel Vers. ve Dili
Excel 2007
İngilizce
Sevgili Haluk,

İlgine çok teşekkür ederim. Şimdi çok güzel ve kullanışlı bir kod oldu. Yalnız bir problem var. Sayfanın sayı olan biçimlendirilmiş hücrelerinde değişiklik veya copy-paste yaptığımızda bu hücrelerin biçimlendirilmesi kayboluyor. Bunu çözebilmek için bu kodu bütün sayfaya değil de, sadece metnin olduğu belirli bir alana -örneğin (c2:c2000) nasıl uygulayabiliriz.
 
Katılım
9 Ekim 2021
Mesajlar
335
Excel Vers. ve Dili
excell 2013
Altın Üyelik Bitiş Tarihi
19-12-2023
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim MyRng As Range
    On Error Resume Next
    If Selection.Count > 1 Then GoTo ResumeSub:
    Kelime = Replace(Target.Value, "i", "İ")
    Kelime = Replace(Kelime, "ı", "I")
    Target.Value = StrConv(Kelime, vbUpperCase)
    Exit Sub
ResumeSub:
    For Each MyRng In Selection
        Kelime = Replace(MyRng.Value, "i", "İ")
        Kelime = Replace(Kelime, "ı", "I")
        MyRng.Value = StrConv(Kelime, vbUpperCase)
    Next
End
End Sub
Sayın Haluk Hocam bu kodu sadece seçilen Bölgeye uygulayan bir makro düğmesine nasıl uyarlayabiliriz.
 
Üst