Hücreye küçük harf yazıldığı anda büyük harfe çevirme

Katılım
15 Ekim 2009
Mesajlar
93
Excel Vers. ve Dili
İş : Türkçe Excel 2010
Arkadaşlar öncelik yeni konu açtığın için kusura bakmayın.
Forumda Haluk hocanın konusunuda inceledim süper bir çalışma ama sağ tık menüsüne seçenek eklemiş. Benim istediğim aşağıdaki gibi


Tablomda

B5-B6-B13-B14-B21-B22-B29-B30-B37-B38
D5-D6-D13-D14-D21-D22-D29-D30-D37-D38

hücrelerine küçük harfle veri girildiği zaman otomatik olarak büyük harfe dönüşmesini istiyorum. yani diyelim B5 hücresine "excel" yazıp enter'a bastığımda otomatik "EXCEL" Olması.

bunu kodla çözmemiz mümkün mü?
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,355
Excel Vers. ve Dili
Ofis 365 Türkçe
Merhaba,

Aşağıdaki kodları ilgli sayfanın kod bölümüne kopyalayıp deneyiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    If Intersect(Target, [B5:B6,B13:B14,B21:B22,B29:B30,B37:B38,D5:D6,D13:D14,D21.D22,D29:D30,D37:D38]) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    Target.Value = BuyukHarf(Target.Value)
    Application.EnableEvents = True
    
End Sub
 
Function BuyukHarf(Veri As String)
 
    BuyukHarf = UCase(Replace(Replace(Veri, "i", "İ"), "ı", "I"))
    
End Function
 
Katılım
15 Ekim 2009
Mesajlar
93
Excel Vers. ve Dili
İş : Türkçe Excel 2010
Merhaba,

Aşağıdaki kodları ilgli sayfanın kod bölümüne kopyalayıp deneyiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
 
    If Intersect(Target, [B5:B6,B13:B14,B21:B22,B29:B30,B37:B38,D5:D6,D13:D14,D21.D22,D29:D30,D37:D38]) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    Target.Value = BuyukHarf(Target.Value)
    Application.EnableEvents = True
    
End Sub
 
Function BuyukHarf(Veri As String)
 
    BuyukHarf = UCase(Replace(Replace(Veri, "i", "İ"), "ı", "I"))
    
End Function
Necdet Bey;

Çok teşekkür ederim hemen denedim ve istediğim gibi oldu yazılanı anında büyük harf yaptı.
Fakat kopyala yapıştır yaparken yada yeni yazı yazarken bazen hata veriyor.

Uyarı Şu

Run-Time Erro '13':
Type mismatch

End ve Debug seçenekleri çıkıyor.
Debug seçeneğini tıklayınca kod ekranındaki " Target.Value = BuyukHarf(Target.Value) "
satırını sarıya boyuyor. Dosyayı kapatıp açınca düzeliyor.

Düzelme şansı var mı?
 
Son düzenleme:

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Kodlardaki If Intersect(Target... satırından sonraki alt satıra aşağıdaki satırı ilave edin.

Kod:
If Selection.Count > 1 Then Exit Sub
.
 
Katılım
15 Ekim 2009
Mesajlar
93
Excel Vers. ve Dili
İş : Türkçe Excel 2010
Kodlardaki If Intersect(Target... satırından sonraki alt satıra aşağıdaki satırı ilave edin.

Kod:
If Selection.Count > 1 Then Exit Sub
.
Ömer Bey;

teşekkürler şimdi hata vermiyor ama sadece B5:B6,B13:B14,B21:B22,B29:B30,B37:B38 hücrelerini büyük yapıyor. D5:D6,D13:D14,D21.D22,D29:D30,D37:D38 hücrelerini yapmıyor.
 

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Intersect(Target, [B5:B6,B13:B14,B21:B22,B29:B30,B37:B38,D5:F6,D13:F14,D21:F22,D29:F30,D37:F38]) Is Nothing Then Exit Sub
    On Error Resume Next
    Application.EnableEvents = False
    Target.Value = BuyukHarf(Target.Value)
    Application.EnableEvents = True
    
End Sub
 
Function BuyukHarf(Veri As String)
 
    BuyukHarf = UCase(Replace(Replace(Veri, "i", "İ"), "ı", "I"))
    
End Function
.
 
Katılım
15 Ekim 2009
Mesajlar
93
Excel Vers. ve Dili
İş : Türkçe Excel 2010
Ömer Bey;

verdiğiniz kodu olduğu gibi yapıştırdım.

dosyayı ekledim bakmanız mümkün mü?
 

Ekli dosyalar

Ömer

Moderatör
Yönetici
Katılım
18 Ağustos 2007
Mesajlar
22,184
Excel Vers. ve Dili
Microsoft 365 Tr
Ofis 2016 Tr
Birleştirilmiş hücre probleminden dolayı sorun oldu. Yukarıdaki kodları güncelledim.
 
Katılım
15 Ekim 2009
Mesajlar
93
Excel Vers. ve Dili
İş : Türkçe Excel 2010
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    
    If Intersect(Target, [B5:B6,B13:B14,B21:B22,B29:B30,B37:B38,D5:F6,D13:F14,D21:F22,D29:F30,D37:F38]) Is Nothing Then Exit Sub
    On Error Resume Next
    Application.EnableEvents = False
    Target.Value = BuyukHarf(Target.Value)
    Application.EnableEvents = True
    
End Sub
 
Function BuyukHarf(Veri As String)
 
    BuyukHarf = UCase(Replace(Replace(Veri, "i", "İ"), "ı", "I"))
    
End Function
.
Çok teşekkür ederim Bu kodla hatasız ve mükemmel çalışıyor.
Umarım birçok arkadaşada bu konunun faydası dokunur.

Vakit ayırdığınız için Allah Razı Olsun.
 

Necdet

Moderatör
Yönetici
Katılım
4 Haziran 2005
Mesajlar
15,355
Excel Vers. ve Dili
Ofis 365 Türkçe
Sorun kalmamış :) Teşekkürler Ömer bey.
 
Katılım
23 Temmuz 2018
Mesajlar
4
Excel Vers. ve Dili
Türkçe
Merhaba, bu kod çok işime yaradı fakat bir sorunla karşılaşıyorum. tablom da kod bölümünde aşağıda da göreceğiniz üzere hem otomatik sayı artırma hem koşula bağlı otomatik tarih saat yazma ve hemde büyük harfe dönüştürme işlemini yapamıyorum. desteğe ihtiyacım var yardımcı olmanızı rica ederim. bu kodlamaya nasıl bir ekleme ile yazdığım hücrenin harfleri büyük harf olur

kodlama;
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [B2:B5536]) Is Nothing Then Exit Sub
On Error Resume Next
If Target.Offset(-1, -1).Value = "" Then
Target.Offset(0, -1).Value = 1
Else
Target.Offset(0, -1).Value = Target.Offset(-1, -1).Value + 1
End If
Dim WorkRng As Range
Dim Rng As Range
Dim xOffsetColumn As Integer
Set WorkRng = Intersect(Application.ActiveSheet.Range("B:B"), Target)
xOffsetColumn = 2
If Not WorkRng Is Nothing Then
Application.EnableEvents = False
For Each Rng In WorkRng
If Not VBA.IsEmpty(Rng.Value) Then
Rng.Offset(0, xOffsetColumn).Value = Now
Rng.Offset(0, xOffsetColumn).NumberFormat = "dd.mm.yyyy, hh:mm:ss"
Else
Rng.Offset(0, xOffsetColumn).ClearContents
End If
Next
Application.EnableEvents = True
End If
End Sub
 

Ömer BARAN

Uzman
Katılım
8 Mart 2011
Mesajlar
12,997
Excel Vers. ve Dili
Office 2013 ( 32 bit ) TÜRKÇE
Altın Üyelik Bitiş Tarihi
(18.03.2020) - Uzman olduğu için tarih geçersiz oldu.
Merhaba Sayın @hsen .
Sorunuzu, muhtemel tüm seçeneklerin gerçekleştiği ve bu seçeneklere göre hangi sonuçların alınması gerektiğinin örneklendirildiği,
yapılacak işleme ilişkin kısa/net olacak şekilde açıklamaların eklendiği bir örnek belge üzerinden sorarsanız daha hızlı sonuca ulaşabilirsiniz.

Örnek belge hazırlama ve ekleme konusundaki kısa açıklama cevabımın altındaki İMZA bölümünde var.
.
 
Katılım
20 Eylül 2018
Mesajlar
132
Excel Vers. ve Dili
2016-Türkçe
Altın Üyelik Bitiş Tarihi
19-01-2023
Birleştirilmiş hücre probleminden dolayı sorun oldu. Yukarıdaki kodları güncelledim.
Ömer Bey,
Bende de H10 dan R10 a kadar hücreler birleştirilmiş durumda. Kodu kullandığımda yazıyı büyütme işlemi yapmıyor.! Bunu nasıl sağlatabilirim?
 

Korhan Ayhan

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

Kod:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Son
    If Intersect(Target, Range("H10:R10")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    Target = UCase(Replace(Replace(Target, "i", "İ"), "ı", "I"))
Son: Application.EnableEvents = True
End Sub
 
Katılım
20 Eylül 2018
Mesajlar
132
Excel Vers. ve Dili
2016-Türkçe
Altın Üyelik Bitiş Tarihi
19-01-2023
Deneyiniz.

Kod:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo Son
    If Intersect(Target, Range("H10:R10")) Is Nothing Then Exit Sub
    Application.EnableEvents = False
    Target = UCase(Replace(Replace(Target, "i", "İ"), "ı", "I"))
Son: Application.EnableEvents = True
End Sub
Merhaba Korhan Bey.
Denedim fakat çalışmadı.!
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,163
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Çalışmayan dosyanızı eklerseniz kontrol edebiliriz.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,163
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Ben dosyanızda kodu göremedim. Kodu nereye uyguladınız.
 
Katılım
20 Eylül 2018
Mesajlar
132
Excel Vers. ve Dili
2016-Türkçe
Altın Üyelik Bitiş Tarihi
19-01-2023
Çok özür dilerim..
Denedikten sonra kaydetmemişim.!
Kaydedilmiş hali..
 
Üst