Hücre içeriği

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,078
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Arkadaşlar sayın hocalarım, gözden geçir bölümünde sayfa koruması yaparken, hücrelere yazı yazılsın ama silinmesin mümkün mü? Ben göremedim.
Yoka bunun için makro mu gerekir.
Şimdiden teşekkür ederim saygılarımla.
 

Korhan Ayhan

Administrator
Yönetici
Admin
Katılım
15 Mart 2005
Mesajlar
41,547
Excel Vers. ve Dili
Microsoft 365 Tr-En 64 Bit
Forumda Locked ifadesi ile arama yaparsanız arşiv konularına erişebilirsiniz.

Bazıları;

 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
456
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Sub KorumaUygula()
Cells.Locked = False
ActiveSheet.Protect Password:="Şifre", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Bu yöntem, hücrelere yazı yazılmasını sağlamak ve ardından hücrelerin silinmemesini sağlamak için bir çözüm sunar. Ancak, kullanıcılar makro çalıştırma yetkisine sahip olmalıdır ve makro çalıştırma güvenlik ayarlarını etkinleştirmiş olmalıdır.
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,078
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Sub KorumaUygula()
Cells.Locked = False
ActiveSheet.Protect Password:="Şifre", DrawingObjects:=True, Contents:=True, Scenarios:=True
End Sub

Bu yöntem, hücrelere yazı yazılmasını sağlamak ve ardından hücrelerin silinmemesini sağlamak için bir çözüm sunar. Ancak, kullanıcılar makro çalıştırma yetkisine sahip olmalıdır ve makro çalıştırma güvenlik ayarlarını etkinleştirmiş olmalıdır.
Hocam deneyeceğim. Umarım doğru anlatabilmişimdir. "Sayfa1"de veri girişi her zaman serbest olacak. Ancak silinemeyecek.
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,078
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Forumda Locked ifadesi ile arama yaparsanız arşiv konularına erişebilirsiniz.

Bazıları;

Hocam ilginize teşekkür ederim. Hepsini kontrol edip deneyeceğim.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,839
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Sayfanın kod kısmına kopyalayınız.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Bak As Range
    For Each Bak In Target.Cells
        If Bak.Value = "" Then
            Application.EnableEvents = False
            Application.Undo
            Application.EnableEvents = True
            Exit For
        End If
    Next
End Sub
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,078
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Merhaba.
Sayfanın kod kısmına kopyalayınız.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Bak As Range
    For Each Bak In Target.Cells
        If Bak.Value = "" Then
            Application.EnableEvents = False
            Application.Undo
            Application.EnableEvents = True
            Exit For
        End If
    Next
End Sub
Çok teşekkür ederim hocam. Bu tam oldu.
Emeğinize sağlık.
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,078
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Merhaba.
Sayfanın kod kısmına kopyalayınız.
Kod:
Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Bak As Range
    For Each Bak In Target.Cells
        If Bak.Value = "" Then
            Application.EnableEvents = False
            Application.Undo
            Application.EnableEvents = True
            Exit For
        End If
    Next
End Sub
Hocam, tekrar yazdım sizi rahatsız ettim ama ben bu dosyayı, Korhan hocamın yazdığı kodları kullanarak kendi dosyama uyarladım.
Şimdi dosyanın kullanıcıları var, (örneğin Ahmet, Ali, Mehmet)
Bu kullanıcılar giriş yapıyor. Giriş yapanı kaydediyor.
Korhan hocamın kodlarıyla da ne değişiklik yaptı onu kaydediyor.
Aslında sayfa korumaya alsak kolay olurdu ama giriş yapan kullanıcı adı ve ne yaptığını yazamıyor. Hata veriyor. Sayfa korumalı yazılamadı diyor.
Ben bunun için istemiştim.
Yazdığınız kod mükemmel çalışıyor.
Tek bir şey dışında, yazılıyor silinemiyor. Ancak üzerine başka bir şey yazılabiliyor.
Bizim elamanlar zaten birbirine suç atmayı çok sever. A3 hücresindeki giriş yapan kullanıcı adını değiştirir.
Bunun önüne geçmek mümkün mü? Bir kere yazılsın tamam.
Biraz uzun oldu özür dilerim. Umarım doğru anlatabilmişimdir.
Teşekkür ederim.
Saygılarımla.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,839
Excel Vers. ve Dili
2019 Türkçe
Doğru anladıysam aşağıdaki işinizi görecektir.

Kod:
Dim Kontrol As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Bak As Range
    For Each Bak In Target.Cells
        If Bak.Value = "" Or Kontrol Then
            Application.EnableEvents = False
            Application.Undo
            Application.EnableEvents = True
            Exit For
        End If
    Next
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then
        Kontrol = True
    ElseIf Target.Value <> "" Then
        Kontrol = True
    Else
        Kontrol = False
    End If
End Sub
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,078
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Doğru anladıysam aşağıdaki işinizi görecektir.

Kod:
Dim Kontrol As Boolean

Private Sub Worksheet_Change(ByVal Target As Range)
    Dim Bak As Range
    For Each Bak In Target.Cells
        If Bak.Value = "" Or Kontrol Then
            Application.EnableEvents = False
            Application.Undo
            Application.EnableEvents = True
            Exit For
        End If
    Next
End Sub

Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    If Target.Cells.Count > 1 Then
        Kontrol = True
    ElseIf Target.Value <> "" Then
        Kontrol = True
    Else
        Kontrol = False
    End If
End Sub
Evet hocam. Böylece içerik değiştiremezler.
Çok teşekkür ederim. Emeğinize sağlık. Var olun.
 
Üst