Geçerli hücreye değer yazarken hata

Katılım
31 Aralık 2011
Mesajlar
378
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
08-10-2020
Merhabalar arkadaşlar.
Aşağıdaki gibi geçerli hücreye yazılan metnin ilk harflerini büyük yapmaya çalışıyorum. Birinci kullanımda işlem 2 saniye civarında sürerken ikinci kullanımda hata uyarısı görmeden uygulama kapanıyor. Bunun sebebi ne olabilir? Geçerli hücredeki metnin baş harflerini büyük yapmak için nasıl bir kod yazmalıyım?
Teşekkürler.

Private Sub Worksheet_Change(ByVal Target As Range)
Dim Str As String, Current As String
Current = Target.Value
Str = StrConv(Current, vbProperCase)
If Not Target Is Nothing Then
Target.Value = Str
End If
End Sub

Private Sub Worksheet_Change(ByVal Target As Range)
Application.ScreenUpdating = False
Dim Str As String, Current As String
Current = Target.Value
Str = StrConv(Current, vbProperCase)
If Not ıntersect(Target, [A1:L1]) Is Nothing Then
Target.Value = Str
End If
Application.ScreenUpdating = True
End Sub
 

Korhan Ayhan

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

C++:
Option Explicit

Private Sub Worksheet_Change(ByVal Target As Range)
    On Error GoTo 10
    Application.EnableEvents = False
    Target = WorksheetFunction.Proper(Target)
10  Application.EnableEvents = True
End Sub
 
Katılım
31 Aralık 2011
Mesajlar
378
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
08-10-2020
merhaba hocam.
Elinize sağlık çalışıyor. Bende öğrenmek isterim. Bunu acaba nasıl yaptık? Buradaki mantık nedir?
Teşekkürler.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,253
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
İşin sırrı Application.EnableEvents = False satırındadır. Bu satır sayfa olaylarını (Events) pasif hale getirir. Yani olaylarin tekrar tekrar çalışmasını engeller. Sonraki satır ise kelimelerin baş harfini büyük harfe çeviren fonksiyondur. Bunun excel karşılığı YAZIM.DÜZENİ fonksiyonudur. Sonraki satır ise sayfa olaylarını tekrar eski haline alır.
 
Katılım
31 Aralık 2011
Mesajlar
378
Excel Vers. ve Dili
2016 türkçe
Altın Üyelik Bitiş Tarihi
08-10-2020
Merhaba
Hocam açıklamanız için teşekkür ederim. Benim sorunumo zaman evenlerin tekrar çalışmasından kaynaklanıyor? Ben debuk işleminde bunu farkedemedim. Bunun yolu nedir?
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,253
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Tecrübe ve Araştırma..
 
Üst