• DİKKAT

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

Kaydetmeyi engelleme

Katılım
17 Aralık 2010
Mesajlar
98
Excel Vers. ve Dili
2016 tr
Sayın hocalarım,
Oluşturduğum excel dosyama kilit koyup sadece bazı hücrelerde değişiklik yapabilecekleri şekilde oluşturdum. Benim istediğim Kilitsiz hücreleri istediklerini yazabilsinler ama çıkarken yada çıktıklarında ben dosyayı yeniden açtığımda değişiklikleri görmeden ilk oluşturduğum halde görmek istiyorum. Yani kullananın yazdıklarını değişiklikleri kaydetmesin. Bu mümkünmü
 
Private Sub Workbook_BeforeClose(Cancel As Boolean)
Application.DisplayAlerts = False
Application.Quit
End Sub

deneyiniz.
 
Merhaba.

1- BuÇalışmaKitabı adlı kod sayfasına aşağıdaki kodu kopyalayın.

Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Cancel = True
End Sub

2- İmleç End Sub satırında yanıp sönerken F9 tuşuna basın. End Sub arka planı bordo renk olmalı.
3-Kaydet butonuna tıklayın yada CTRL+S tuşlarına basın.
4- Kodlarda bulunan 'Cancel = True satırının başındaki tırnak işaretini silin.
5- F5'e basın.
6- İmleç End Sub satırında yanıp sönerken F9 tuşuna basın. End Sub arka planı rengi beyaz olmalı.

Bundan sonra kaydet butonu, CTRL+S tuşları işlevini yerine getirmez
Dosyada değişiklik yaptıktan sonra kapatınca kaydetmek istiyor musunuz sorusuna "Kaydetme" yada "İptal" seçilmek zorunda bırakılır.
 
C#:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
MsgBox "Değişiklikleri kaydetme izniniz yok. Dosya orijinal haliyle kaydedilecektir.", vbInformation, "Uyarı"
End Sub

kodları buraya kopyalayınız

246793
 
C#:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
MsgBox "Değişiklikleri kaydetme izniniz yok. Dosya orijinal haliyle kaydedilecektir.", vbInformation, "Uyarı"
End Sub

kodları buraya kopyalayınız

Ekli dosyayı görüntüle 246793
teşekkürler hocam çalışmadı ama bir önceki mesajdaki Muzaffer Ali beyin dediği gibi yaptım çalıştı.
Merhaba.

1- BuÇalışmaKitabı adlı kod sayfasına aşağıdaki kodu kopyalayın.

Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
'Cancel = True
End Sub

2- İmleç End Sub satırında yanıp sönerken F9 tuşuna basın. End Sub arka planı bordo renk olmalı.
3-Kaydet butonuna tıklayın yada CTRL+S tuşlarına basın.
4- Kodlarda bulunan 'Cancel = True satırının başındaki tırnak işaretini silin.
5- F5'e basın.
6- İmleç End Sub satırında yanıp sönerken F9 tuşuna basın. End Sub arka planı rengi beyaz olmalı.

Bundan sonra kaydet butonu, CTRL+S tuşları işlevini yerine getirmez
Dosyada değişiklik yaptıktan sonra kapatınca kaydetmek istiyor musunuz sorusuna "Kaydetme" yada "İptal" seçilmek zorunda bırakılır.

Hocam teşekkürler biraz uğraştım ama sizin dediğiniz gibi yaptım çalıştı
 
Muzaffer hocam, maliex hocam ve benim kodları birleştirip, örnek dosya yaptım.

Bu arada maliex hocamın kodları da aynısı, makro ayarını geçici olarak kapattığınız zaman kodları kaydedip aynı sonucu elde edebilirdiniz.
 

Ekli dosyalar

Muzaffer hocam, maliex hocam ve benim kodları birleştirip, örnek dosya yaptım.

Bu arada maliex hocamın kodları da aynısı, makro ayarını geçici olarak kapattığınız zaman kodları kaydedip aynı sonucu elde edebilirdiniz.
Hocam ücretli üyeliğim mevcut değil link atabilirseniz sevinirim. Teşekkürler
 
Geri
Üst