Yapıştırma fonksiyonu varsayılan olarak nasıl sadece değer yapıştır olarak ayarlanır? (Module olmamalı, istenilen sayfa veya sütun için olmalı)

Katılım
18 Aralık 2018
Mesajlar
3
Excel Vers. ve Dili
Excel 2010 - Türkçe
Merhaba arkadaşlar, aşağıdaki makro ilgili sütuna girilen değerleri büyük harf yaptıktan sonra Türkçe karakterleri ingilizce karakterlere çeviriyor. Fakat bu makronun 2 sıkıntısı var.
1- Sorumda belirttiğim üzere yapıştırma fonksiyonun burada varsayılan olarak sadece değer yapıştırmasını istiyorum. Çünkü bu sütunda veri doğrulamadan 50 karakterin üzerine çıktığında uyarı vermesini ayarladım. Fakat farklı hücreden aldığım değerleri biçimlendirme ile yapıştırınca bu ayar gidiyor. 50 karakter sınırını makroya eklemeyi denemedim. Ekleyen olursa çok makbule geçer.
Asıl sorum varsayılan yapıştırmanın sadece değer olması için nasıl bir kod yazılmalı? İnternetteki örnekler hep modül üzerinden gitmiş. Modüle kısayol olarak da ctrl+v atamışlar. Fakat benim istediğim aşağıdaki makronun içinde yani sayfada veya istenilen sütunda olması. Ayrıca ctrl+v veya sağ tık yapıştır fark etmemeli. Tüm yapıştırmalarda çalışmalı, tetikleyiciye ihtiyacı olmamalı.
2- İki hücreden fazla değeri yapıştırınca makro etkinleşmiyor, yapışan hücrelerdeki harfler küçük kalıyor. Fakat hücrelerin içine teker teker girip çıkınca düzeliyor. Bunun çözümüne de ihtiyacım var. Teşekkür ederim.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
   
    On Error GoTo ErrHandler

   
    If Intersect(Target, Range("e:e")) Is Nothing Or Target.Cells.Count <> 1 Then
        Exit Sub
    End If

    Application.EnableEvents = False
    Target = UCase(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Replace(Target, "Ç", "C"), "ç", "C"), "ğ", "G"), "Ğ", "G"), "ı", "I"), "İ", "I"), "Ö", "O"), "ö", "O"), "Ş", "S"), "ş", "S"), "Ü", "U"), "ü", "U"))
ErrHandler:

    Application.EnableEvents = True

End Sub
Not: Soru kısmına sığabildiği kadar karakteri ekledim, diğer sorduğum sorulara yer kalmadı.
 
Üst