• DİKKAT

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

çalışma kitabını kaydetmeyi ve farklı kaydetmeyi engelleme

Katılım
9 Ocak 2011
Mesajlar
88
Excel Vers. ve Dili
2007 türkçe
çalışma kitabını kım kullanırsa kullansın kaydet ve farklı kaydet seceneklerini kullanamasın bunu nasıl basarırız yardımcı olacak arkadaslar varmı acaba.
 
çalışma kitabını kım kullanırsa kullansın kaydet ve farklı kaydet seceneklerini kullanamasın bunu nasıl basarırız yardımcı olacak arkadaslar varmı acaba.
Merhaba,
Thisworkbook bölümüne aşağıdaki kodu yapıştırın.
Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Cancel = True
End Sub
 
çok tesekkurler fakat bu koddu yazdıktan sonra bir kerelıgıne çalışma kıtabını kaydedıp cıkmam lazım kı o kod orda kalsın . kaydetme yapamadıgım için kod sılınıyor :) buna nasıl bi çare bulucaz.
 
çok tesekkurler fakat bu koddu yazdıktan sonra bir kerelıgıne çalışma kıtabını kaydedıp cıkmam lazım kı o kod orda kalsın . kaydetme yapamadıgım için kod sılınıyor :) buna nasıl bi çare bulucaz.

merhaba
Sayfa1 A1 hücresi boş ise kayıt yapar yoksa yapmaz
Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Sheets("Sayfa1").Range("A1") <> "" Then
Cancel = True
End If
End Sub
 
ihsan bey, hücre doluysa yapmasın istiyorum. bunu nasıl yaparız. birde tek sayfa değilde.
mesela 3 sayfa ise kitap bu 3 sayfada a1 a2 a3 hücreleri doluysa kaydetme yapmasın diyebilirmiyiz.
şimdiden çok tesekkur ederım cvbnıza.
 
ihsan bey, hücre doluysa yapmasın istiyorum. bunu nasıl yaparız. birde tek sayfa değilde.
mesela 3 sayfa ise kitap bu 3 sayfada a1 a2 a3 hücreleri doluysa kaydetme yapmasın diyebilirmiyiz.
şimdiden çok tesekkur ederım cvbnıza.

merhaba
Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If Sheets("Sayfa1").Range("A1") <> "" And Sheets("Sayfa1").Range("A2") <> "" _
And Sheets("Sayfa1").Range("A3") <> "" Or Sheets("Sayfa2").Range("A1") <> "" And _
Sheets("Sayfa2").Range("A2") <> "" And Sheets("Sayfa2").Range("A3") <> "" Or _
Sheets("Sayfa3").Range("A1") <> "" And Sheets("Sayfa3").Range("A2") <> "" And _
Sheets("Sayfa3").Range("A3") <> "" Then
Cancel = True
End If
End Sub
bunun dener misiniz
 
çok tesekkurler fakat bu koddu yazdıktan sonra bir kerelıgıne çalışma kıtabını kaydedıp cıkmam lazım kı o kod orda kalsın . kaydetme yapamadıgım için kod sılınıyor :) buna nasıl bi çare bulucaz.
Merhaba,
Makro güvenlik seviyesini "Yüksek" konumuna getirip dosyanızı kapatıp yeniden açın. Sonrasında verdiğim kodu kopyalayın. Dosyayı kaydettikten sonra güvenlik seviyesini düşürün ve dosyayı yeniden başlatın.
 
ihsan bey, malesef olmuyor. hücrelerden biri boş kalsa kaydediyor.
biraz daha detaylı yazayım
örnek : sayfa1 a6:s14 arasındaki hücreler dolysa kaydetme
sayfa2 b7:s17 arasındaki hücreler doluysa kaydetme

fakat bu doluysa kaydetmede bazı hücrelerde formül var bunuda dolu görürse kaydeder sanırım.
nasıl olacak
bunun daha kısa bi olu yokmu :)
 
sayın leumruk , çok teşekkür ederim.
son bi şey daha sorabılırmıyım. dosyayı kaydetme işini bir butona atayabilirmiyim.
verdiğiniz kod çok güzel dosyayı kaydetmeyi engellıyor.
fakat ben sayfa 1 de olmak şartıyla bir buton olusturup sadece bu butonla kaydet yapabılırmıyım (farklı kaydet değil)
 
Aşağıdaki kodu herhangi bir modüle kopyalayın ve bir buton oluşturarak makroyu butona bağlayın
Kod:
Public knt As Boolean
Sub kaydet()
knt = True
ThisWorkbook.Save
knt = False
End Sub
Bu kodu da Thisworkbook bölümüne kopyaladıktan sonra sadece butonla kayıt yapabileceksiniz.
Kod:
Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
If knt = False Then Cancel = True
End Sub
 
Çok teşekkürler sayın leumruk. Sayenizde çok yararlı bir kod öğrendik. Sağlıcakla kalın.
 
Merhabalar, bu kod farklı kaydetmeyi engelliyo ancak iki kişi aynı anda dosyayı görüntülüyorsa kaydete basınca farklı kaydet'e yönlendiriyo. Bunun önüne geçmek mümkün mü ?
 
Geri
Üst