• DİKKAT

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

Hücre Silme Engelleme

  • Konbuyu başlatan Konbuyu başlatan hakki83
  • Başlangıç tarihi Başlangıç tarihi

hakki83

Altın Üye
Katılım
30 Eylül 2021
Mesajlar
567
Excel Vers. ve Dili
Excel 2016 Türkçe 32 Bit
Merhaba hocalarımız,

Bir hücredeki verileri (örnek B2), sayfa koruma özelliği dışında, kodlar ile silmeyi engellemeyi yapabilir miyiz?

Teşekkürler.
 
Burada detaylı bilgi var

 
Teşekkürler fakat verdiğiniz linkte sayfa koruma kullanılmış.
Sayfa koruma olmadan sadece kodlarla yapabiliyor muyuz, bunu öğrenmek istemiştim.
 
Teşekkürler fakat verdiğiniz linkte sayfa koruma kullanılmış.
Sayfa koruma olmadan sadece kodlarla yapabiliyor muyuz, bunu öğrenmek istemiştim.

dener misiniz

Kod:
Dim prevValue As Variant

Private Sub worksheet_SelectionChange(ByVal target As Range)

    prevValue = target.Value
End Sub

Private Sub worksheet_change(ByVal target As Range)

If Len(prevValue) = 0 Then Exit Sub

    If target.Row > 1 And target.Column > 1 Then

        If target.Value <> prevValue Then
            target.Value = prevValue


            MsgBox "Düzenlemenize izin verilmiyor!", vbCritical + vbOKOnly

        End If

    End If

End Sub
 
Önerilen kod çoklu hücre işlemlerinde sağlıklı sonuç vermeyecektir.
 
dener misiniz

Kod:
Dim prevValue As Variant

Private Sub worksheet_SelectionChange(ByVal target As Range)

    prevValue = target.Value
End Sub

Private Sub worksheet_change(ByVal target As Range)

If Len(prevValue) = 0 Then Exit Sub

    If target.Row > 1 And target.Column > 1 Then

        If target.Value <> prevValue Then
            target.Value = prevValue


            MsgBox "Düzenlemenize izin verilmiyor!", vbCritical + vbOKOnly

        End If

    End If

End Sub
Tamer42 hocam teşekkürler.
Tüm sayfa değil de sadece B2 hücresinde (silme engelleme) geçerli olacak şekilde yapar mısınız?
 
Tamer42 hocam teşekkürler.
Tüm sayfa değil de sadece B2 hücresinde (silme engelleme) geçerli olacak şekilde yapar mısınız?

IF koşulunu

Kod:
If target.Row =2  And target.Column =2 Then
şeklinde düzenleyebilirsiniz.

yada kodun başına

Kod:
If Intersect(target, [B2]) Is Nothing Then Exit Sub
 
Teşekkürler Tamer42 hocam.
Bilgisayara geçer geçmez hemen deneyeceğim.
 
Hocam yalnız şunu fark ettim.
Kodunuzda birden fazla if ile başlayan satır var. Hangisini değiştirmem gerekiyor ?
 
If target.Row > 1 And target.Column > 1 Then
Tamer42 hocamız ilginiz için teşekkürler. Olmuştur fakat sadece B2’yi değil de birden fazla hücreyi seçince, B2 hücresi silinebiliyor. Bunu önleyebilir miyiz acaba?

(Bir de hocam sadece öğrenmek için, hani msgbox satırının en sonunda vbOkOnly kodunun vazifesi nedir?)
 
Son düzenleme:
Tamer42 hocamız ilginiz için teşekkürler. Olmuştur fakat sadece B2’yi değil de birden fazla hücreyi seçince, B2 hücresi silinebiliyor. Bunu önleyebilir miyiz acaba?

(Bir de hocam sadece öğrenmek için, hani msgbox satırının en sonunda vbOkOnly kodunun vazifesi nedir?)


worksheet_SelectionChange olayını aşağıdaki gibi düzenleyip çoklu seçimi engelelyebilirsiniz

Kod:
Private Sub worksheet_SelectionChange(ByVal target As Range)

   If target.Count > 1 Then
      MsgBox "Üzgünüz, birden fazla seçime izin verilmiyor!.", vbCritical
      ActiveCell.Select
   End If

    prevValue = ActiveCell.Value
    
End Sub
 
Geri
Üst