Çalışma kitabına eklenen kodların hatası

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
533
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
Selamlar arkadaşlar

Ekteki dosyada çalışma kitabı kısmına eklenmesi gereken şu kodlar vardır.
Otomatik büyük harf kodları
Kod:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
On Error Resume Next
Target.Value = UCase(Replace(Replace(Target.Value, "ı", "I"), "i", "İ"))
End Sub
Fakat eklendiğinde hata veriyor. Bu sorunu çözebilir miyiz
Renkli kısımlar kilitli hücrelerdir
 

Ekli dosyalar

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
533
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
Çok teşekkür ederim. Fakat Sayfa1 kod başlığı Worksheet SelectionChange değil de, Worksheet Change olması gerekiyor, çünkü hücreye veri girer girmez açıklama ekleniyor.

Worksheet SelectionChange olursa, hücreye veri girdikten sonra tekrar manuel olarak üstünden geçmek gerekiyor.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
42,174
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Sayfa kodunuzu aşağıdaki gibi değiştiriniz.

C++:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [B2:N1000]) Is Nothing Then
        ActiveSheet.Unprotect
        If Target.Cells.Count = 1 Then
            If Target.Value = "" Then
                Target.ClearComments
            Else
                Target.ClearComments
                Target.AddComment.Text vbLf & "Tarih" & vbLf & Now & vbLf
                Target.Comment.Shape.TextFrame.AutoSize = True
            End If
        ElseIf Target.Cells.Count > 1 Then
            Target.ClearComments
        End If
        ActiveSheet.Protect
    End If
End Sub
Çalışma kitabı kodunu aşağıdaki gibi değiştiriniz.

C++:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    On Error Resume Next
    Application.EnableEvents = False
    Target.Value = UCase(Replace(Replace(Target.Value, "ı", "I"), "i", "İ"))
    Application.EnableEvents = True
End Sub
 

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
533
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Altın Üyelik Bitiş Tarihi
30-09-2026
Sayfa kodunuzu aşağıdaki gibi değiştiriniz.

C++:
Private Sub Worksheet_Change(ByVal Target As Range)
    If Not Intersect(Target, [B2:N1000]) Is Nothing Then
        ActiveSheet.Unprotect
        If Target.Cells.Count = 1 Then
            If Target.Value = "" Then
                Target.ClearComments
            Else
                Target.ClearComments
                Target.AddComment.Text vbLf & "Tarih" & vbLf & Now & vbLf
                Target.Comment.Shape.TextFrame.AutoSize = True
            End If
        ElseIf Target.Cells.Count > 1 Then
            Target.ClearComments
        End If
        ActiveSheet.Protect
    End If
End Sub
Çalışma kitabı kodunu aşağıdaki gibi değiştiriniz.

C++:
Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Range)
    On Error Resume Next
    Application.EnableEvents = False
    Target.Value = UCase(Replace(Replace(Target.Value, "ı", "I"), "i", "İ"))
    Application.EnableEvents = True
End Sub
Çok teşekkür ederim. Düzeldi.
 
Üst