Hücredeki HARFLER otomatik BÜYÜK yazılsın

Katılım
15 Temmuz 2013
Mesajlar
90
Excel Vers. ve Dili
2016 TR
Selamlar Sayın Üstatlar;
Sorum Şu; SADECE aşağıdaki hücrelere veri yazdığımda, Caps Lock tuşuna bağımlı olmaksızın, (küçük harfle de yazsam) sonuçta otomatik olarak BÜYÜKHARF olsunlar. Böyle otomatik çalışan bir makro yazabilir miyiz?

hücreler:
A1
B5
D10
AB7
AK3
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
VBA editörü ile sayfanızın kod bölümüne
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Target.Cells.Count > 1 Or Target.HasFormula Then Exit Sub
    On Error Resume Next
    If Not Intersect(Target, Range("A1,B5,D10,AB7,AK3")) Is Nothing Then
        Application.EnableEvents = False
        Target = UCase(Target)
        Application.EnableEvents = True
    End If
    On Error GoTo 0
End Sub
uygulayınız.
 
Katılım
15 Temmuz 2013
Mesajlar
90
Excel Vers. ve Dili
2016 TR
Elinize Sağlık Sayın Üstat, Teşekkür ederim güzel olmuş.
YALNIZ; i, İ, ı, I, bu dört harfi çeviremiyor. Düzeltmemiz mümkün müdür Sn Turist.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,122
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki satırı kırmızı satır gibi değiştirip deneyin.

Kod:
Target = UCase(Target)
Kod:
[COLOR="Red"]Target = UCase(Replace(Replace(Target, "i", "İ"), "ı", "I")))[/COLOR]
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Aşağıdaki satırı kırmızı satır gibi değiştirip deneyin.

Kod:
Target = UCase(Target)
Kod:
[COLOR="Red"]Target = UCase(Replace(Replace(Target, "i", "İ"), "ı", "I")))[/COLOR]
Sn.Korhan Ayhan,
Türkçe karakter düzeltmede katkınız için teşekkür ederim.
 

RedStar

Altın Üye
Katılım
16 Temmuz 2006
Mesajlar
144
Excel Vers. ve Dili
Excel 2013 Dil Türkçe
Altın Üyelik Bitiş Tarihi
24-08-2029
Üstadlar başka bir konu açmak istemedim.

Küçük harfde büyük harfde veya küçük büyük harfte kullansam yazdığım bütün kelimelerin sadece ilk harfinin büyük diğerlerinin küçük harfle yazılmasını nasıl sağlayabiliriz.

BUgün Çok güzel BİR Gündü.

Bugün Çok Güzel Bir Gündü.

Çalışma sayfasındaki C3 F3 ve H3 hücrelerinden başlayarak çalışma sayfasındaki C F ve H sütunlarında bu işlemi nasıl yapabiliriz.Teşekkürler.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,122
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Aşağıdaki kodu deneyiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Alan As Range, Son As Long, Veri As Range
    Son = Rows.Count
    Set Alan = Union(Range("C3:C" & Son), Range("F3:F" & Son), Range("H3:H" & Son))
    If Intersect(Target, Alan) Is Nothing Then Exit Sub
    If Target.Cells.Count = Cells.Count Then Exit Sub
    Application.EnableEvents = False
    On Error Resume Next
    For Each Veri In Target
        If Not Intersect(Alan, Veri) Is Nothing Then
            If Veri.Text <> "" Then
                Veri = WorksheetFunction.Proper(Veri.Text)
            End If
        End If
    Next
    On Error GoTo 0
    Application.EnableEvents = True
End Sub
 
Katılım
23 Eylül 2013
Mesajlar
1,348
Excel Vers. ve Dili
Excel 2007 İngilizce -
Excel 2010 Türkçe -
Excel 2013 Türkçe -
Hayırlı akşamlar,
Bir modül ekleyip denermisiniz.Hücre aralığınızı kendinize göre ayarlayın.
Kod:
Sub Abc()
For Each x In Range("C3:C100,F3:F100,H3:H100")
x.Value = Application.Proper(x.Value)
Next
End Sub
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Aşağıdaki kodu deneyiniz.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Alan As Range, Son As Long, Veri As Range
    Son = Rows.Count
    Set Alan = Union(Range("C3:C" & Son), Range("F3:F" & Son), Range("H3:H" & Son))
    If Intersect(Target, Alan) Is Nothing Then Exit Sub
    [COLOR="red"]If Target.Cells.Count = Cells.Count Then[/COLOR] Exit Sub
    Application.EnableEvents = False
    On Error Resume Next
    For Each Veri In Target
        If Not Intersect(Alan, Veri) Is Nothing Then
            If Veri.Text <> "" Then
                Veri = WorksheetFunction.Proper(Veri.Text)
            End If
        End If
    Next
    On Error GoTo 0
    Application.EnableEvents = True
End Sub
Korhan Bey,
Kod:
If Target.Cells.Count = Cells.Count Then
satırında HATA veriyor.
 

Korhan Ayhan

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

2007 ve sonraki versiyonlarda hücre sayısı çok fazla olduğu için uyum sorunu oluşuyor. Hata bundan kaynaklanıyor. Kodu aşağıdaki gibi düzenlerseniz sorun düzelecektir.

Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Alan As Range, Son As Long, Veri As Range
    Son = Rows.Count
    Set Alan = Union(Range("C3:C" & Son), Range("F3:F" & Son), Range("H3:H" & Son))
    If Intersect(Target, Alan) Is Nothing Then Exit Sub
    If Val(Application.Version) < 12 Then
        If Target.Cells.Count = Cells.Count Then Exit Sub
    Else
        If Target.Cells.CountLarge = Cells.CountLarge Then Exit Sub
    End If
    Application.EnableEvents = False
    On Error Resume Next
    For Each Veri In Target
        If Not Intersect(Alan, Veri) Is Nothing Then
            If Veri.Text <> "" Then
                Veri = WorksheetFunction.Proper(Veri.Text)
            End If
        End If
    Next
    On Error GoTo 0
    Application.EnableEvents = True
End Sub
 

turist

Destek Ekibi
Destek Ekibi
Katılım
18 Kasım 2009
Mesajlar
5,102
Excel Vers. ve Dili
2013 64Bit
English
Korhan Bey,
Yeni kodlarla denendiğinde HATA yok, fakat Kodlar işlev görmüyor.
Ancak; C3... F3... H3... satırlarında yazılanlar bulunduğu satırlara kopyalandığında Kod çalışıyor.
Ekli dosyada örneği görebilirsiniz.
 

Ekli dosyalar

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,122
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Seçime odaklanınca tek hücre üzerindeki işlemi atlamışım. Üstteki önerdiğim kodları revize ettim. Tekrar deneyiniz.
 

meleklerim

Altın Üye
Katılım
2 Ekim 2013
Mesajlar
347
Excel Vers. ve Dili
ofis 2019 türkçe
windows 10 pro türkçe
Altın Üyelik Bitiş Tarihi
23-07-2025
bu konu benimde ilgimi çekti. Bana lazım olan BÜYÜKHARF kısmı. Başka bir hücreden kopyala yapıştır yaptığım tablo verilerinin A sütununda olanlarının hepsinin BÜYÜKHARFE dönüşmesini istiyorum. Bunun kodunu verebilir misiniz acaba?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
43,122
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Yapıştırma işleminden sonra aşağıdaki kodu çalıştırıp deneyin.

Hücre aralığını dilediğiniz gibi değiştirebilirsiniz.

Kod:
Sub BUYUK_HARF()
    Dim Veri As Range
    
    For Each Veri In Range("A1:A1000")
        Veri.Value = UCase(Replace(Replace(Veri.Text, "i", "İ"), "ı", "I"))
    Next
    
    MsgBox "İşleminiz tamamlanmıştır.", vbInformation
End Sub
 

meleklerim

Altın Üye
Katılım
2 Ekim 2013
Mesajlar
347
Excel Vers. ve Dili
ofis 2019 türkçe
windows 10 pro türkçe
Altın Üyelik Bitiş Tarihi
23-07-2025
teşekkürler Korhan bey, işimi gördü. elinize sağlık
 
Üst