• DİKKAT

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

Küçük karakterleri engellemek için

Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Katılım
31 Ağustos 2011
Mesajlar
151
Excel Vers. ve Dili
Office Professional Plus 2021- Türkçe
Arkadaşlar elimde sürekli çalışma yaptığım 2 adet soft çalışma dosyası mevcut, yeni çalışmalarımı hep bu 2 soft dosya üzerinden yapıyorum.

Benim isteğim bu 2 soft dosyanın içerisine yazılan herşeyin büyük karakter olarak kalmasını sağlamak. Yanlışlıkla bile olsa küçük karakter yazılan bir harfi otomatik olarak büyük harfe çevirebilmenin bir kolay yolu varsa yardımcı olabilir misiniz?

Ekte güncel dosyalarım mevcuttur.
 

Ekli dosyalar

Aşağıdaki kodları ilgili dosyanın This Workbook kod bölümüne yapıştırırsanız tüm dosyada yazılan veriyi büyükharf yapar:

Kod:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
Target = UCase(Replace(Replace(Target, "i", "İ"), "ı", "I"))
End Sub
 
Yusuf Bey kod için teşekkür ederim,fakat 2 dosyada da hata verdi ve dosyayı kapattı.

Run-tine error '-2147417848 (80010108)':
Method "_Default' of object 'Range' failed


Şeklinde uyarı veriyor, yardımcı olabilir misiniz ?
 
Son düzenleme:
Bende de bir kaç defa böyle hata verdi ama şu anda vermiyor. Hiçbir değişiklik yapmadım. Hata devam ediyorsa tecrübeli arkadaşlarımızın ilgilenmesi daha iyi olur.
 
Mevcut dosya üzerinde çalışmayı deniyorum ama sürekli dosya kapanıp duruyor.
 
sayfanın kod bölümüne
Kod:
Private Sub Worksheet_Change(ByVal Target As range)
    Dim RaBereich As range, RaZelle As range
    Application.EnableEvents = False
    Set RaBereich = range("a1:e1000")
    Application.EnableEvents = False
    For Each RaZelle In range(Target.Address)
        If Not Intersect(RaZelle, RaBereich) Is Nothing Then
            RaZelle.Value = UCase(RaZelle.Value)
        End If
    Next RaZelle
    Application.EnableEvents = True
    Set RaBereich = Nothing
End Sub
 
Başka bir altarnatif
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
If Intersect(Target, [A1:E1000]) Is Nothing Then Exit Sub
Kelime = Replace(Target.Value, "i", "İ")
Kelime = Replace(Kelime, "ı", "I")
Target.Value = StrConv(Kelime, vbUpperCase)
End Sub
 
İki formülü de çalıştıramadım benim dosyalarda :(
 
gönderdiğiniz örnek dosya da denemiştim, herhangi bir sorun yok, sayfanın kod bölümüne yapıştırarak deniyorsunuz değilmi?
 
Kodları yazdım başta sorunsuz görünüyor ama bir süre sonra dosya hata veriyor.
 
Hata durumunu gözardı etmek için aşağıdaki gibi kullanabilirsiniz.

Kod:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    On Error Resume Next
    If Not Target.HasFormula Then
        Target = UCase(Replace(Replace(Target, "i", "İ"), "ı", "I"))
    End If
End Sub
 
Anlaşılan ben komudu uygun yere yazmıyorum. Dosya üzerinden yardımcı olabilir misiniz ?
 
Çalışmanızı açın.
ALT+F11 tuşlarına basarak kod editörünü açın.
ThisWorkbook bölümüne çift tıklayın.
Sağ tarafta açılan beyaz pencereye kodu uygulayın.

Son olarak excel sayfalarınıza dönüp hücrelere küçük harfle bir şeyler yazıp denemeler yapın.
 
Alt + F11 yaptığımda boş bir sayfa çıkıyor, kodu ekleyeyim derken ne yaptım ise soldaki menüyü kapattım ve tekrardan açamıyorum. Makro konusunda pek bir bilgim olmadığı için sayfayı eski düzenine getiremedim :( Yine de yardımlarınız için çok teşekkür ederim Korhan Bey
 
Korhan abi çok teşekkür ederim, sayende hem sorunumu giderdim hem de birşeyler öğrendim.
 
Durum
Üzgünüz bu konu cevaplar için kapatılmıştır...
Geri
Üst