• DİKKAT

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

iki sayfa arsındaki sayfaları makro ile koruma

numan şamil

Destek Ekibi
Destek Ekibi
Katılım
27 Ocak 2011
Mesajlar
1,238
Excel Vers. ve Dili
Ofis 2013 Türkçe
Merhaba arkadaşlar

Sub Sayfa_Koru()
For Each syf In Worksheets
syf.Protect 12345, DrawingObjects:=True, Contents:=True, Scenarios:=True
syf.EnableSelection = xlUnlockedCells
syf.Protect 12345
Next
End Sub
Forumda bulduğum kodlar (kilidli hücreleri) çalışma sayfaların tümünde koruma sağlıyor Çalışma sayfaların değilde bazı sayfa arlığını
örn:ilk sayfa ve son sayfa arasındaki tüm çalışma sayfalarındaki kilitli hücreleri korumak istersek kodlarda ne gibi bir değişiklik yapmamız gerekmekte dir
iyi çalışmalar
 
Merhaba arkadaşlar

Sub Sayfa_Koru()
For Each syf In Worksheets
syf.Protect 12345, DrawingObjects:=True, Contents:=True, Scenarios:=True
syf.EnableSelection = xlUnlockedCells
syf.Protect 12345
Next
End Sub
Forumda bulduğum kodlar (kilidli hücreleri) çalışma sayfaların tümünde koruma sağlıyor Çalışma sayfaların değilde bazı sayfa arlığını
örn:ilk sayfa ve son sayfa arasındaki tüm çalışma sayfalarındaki kilitli hücreleri korumak istersek kodlarda ne gibi bir değişiklik yapmamız gerekmekte dir
iyi çalışmalar

merhaba

bu kodu deneyiniz.
Kod:
Sub Sayfa_Koru()
For i = 2 To Worksheets.Count - 1
Sheets(i).Protect 12345, DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets(i).EnableSelection = xlUnlockedCells
Next
End Sub
 
Merhaba ilginize teşekkür ederim
kodları denedim
Yanılmıyorsam koruma kilidi açılmış hücreleri seç kutucuğu işaretli sayfaların hepsinde koruma yapıyor benim istediğim mümkünse tabi çalışma kitabı içerisinde (kodlar arasına yazılacak olan) belirleyeceğim iki çalışma sayfası arasındaki tüm "kilidi açılmış hücreleri seç kutucuğu işaretli sayfaların " korumaya alınması gönderdiğim ekte ilksayfa ve sonsayfa (bu isimleri değiştirebilmeliyim) arasındaki sayfaları koruma yapmasıdır
birde korumayı kaldırmak için ayrı bir koda ihtiyacım olacak onuda istediğimde aktif hale getireceğim
iyi çalışmalar
 

Ekli dosyalar

merhaba

sayfa1 A1 ve A2'ye korunmayacak sayfa adlarını yazarak deneyiniz.

Kod:
Sub Sayfa_Koru()
koruma1 = Sheets("Sayfa1").Range("a1").Text
koruma2 = Sheets("Sayfa1").Range("a2").Text

For i = 1 To Worksheets.Count
If Not (Sheets(i).Name = koruma1 Or Sheets(i).Name = koruma2) Then
Sheets(i).Protect 12345, DrawingObjects:=True, Contents:=True, Scenarios:=True
Sheets(i).EnableSelection = xlUnlockedCells
End If
Next
End Sub
Kod:
Sub Koruma_Kaldır()
For i = 1 To Worksheets.Count
Sheets(i).Unprotect 12345
Next
End Sub
 

Ekli dosyalar

Merhabalar
Kusuruma bakmayın detaylı bilgi veremedim çalışma kitabımın boyutu fazla bu yüzden basit bir örnek dosya gönderdim
çalışma kitabımda sürekli eklenen yaklaşık 120 sayfa var bu sayfalarda bazı sayfalar korumasız bazı sayfalar sayfa korumalı bazı sayfalarda hücre korumalı ve bunların kullanıcıya göre şifreleri farklı farklı
Yani korunan ve korunmayan sayfa sayısı miktarı fazla
Toplu olarak korunmasını istediğim sayfalar grubu bir arada ve (örn:ilksayfa ve son sayfa adlı sayfalar arasında bu korunacak sayfalarda kilidi açılmış hücreleri seç kutucuğu işaretlenmiş vaziyette
Benim istediğim bu ilksayfa ve sonsayfa arasındaki sayfaları toplu olarak parolalı korumaya almak (korunacak ve korunmayacak hücreler ayarlanmış vaziyette) ve istediğimde korumayı kaldırmak
Merak ve öğrenmek istediğimden soruyorum
"koruma1 = Sheets("Sayfa1").Range("a1").Text"
"koruma2 = Sheets("Sayfa1").Range("a2").Text"
ne manaya geldiğini biraz açıklayabilirmisiniz korunacak veya korunmayacak sayfalar ve hücreler gibi mi?
 
Son düzenleme:
Arkadaşlar mümkün olmayan bir şeymi istedim bilmiyorum?
sorum anlaşılmıyormu?
bu konuda olumlu veya olumsuz fikri olan arkadaşlardan cevap bekliyorum.
 
merhaba

önceki örnekte, Sayfa1'in A1 ve A2 hücrelerine yazdığımız sayfa adlarından başkasını korumaya alıyorduk.
dosyanızda ilksayfa ve sonsayfa diye sayfa adı vardı, sayfa1 ve sayfa5 de diyebilirdik. o zaman sayfa1 ve sayfa5 harici sayfaları korurduk.
bunlara koruma1 ve koruma2 diye ad vermiştik.

ek dosyada; userform üzerinde 1. listede mevcut sayfa adları var. korumak istediğiniz sayfayı seçip "listeye ekle" kopçasına bastığınızda korunan sayfalar listesine aktararak seçtiğiniz sayfaya koruma şifresi koyar.
aynı şekilde 2.listeden seçtiğiniz sayfa adını "listeden kaldır" kopçasıyla kaldırabilir, sayfa korumasını da iptal edersiniz.
 

Ekli dosyalar

Sayın uzmanamele
teşekkür ederim sizi yoruyoruz
Gönderdiğiniz dosyayı inceledim.
dosyayı incelemek için sayfa adlarını sıra ile sayfa1- ilksayfa-sayfa2-sayfa3-sayfa4-sonsayfa-sayfa5-sayfa6 şeklinde düzenledim.
userforumda korunacak sayfa listesine sayfa2-sayfa3-sayfa4 aktardım ve koruma yap butonuna bastığımda sayfa1-sayfa2-sayfa3-sayfa4-sayfa5-sayfa6 korunuyor bu durumda sadece korunacaklar listesine alınan sayfa2-sayfa3-sayfa4 korunması gerkmiyormu?
Ayrıca benim tam olarak istediğim ilksayfa ve sonsayfa arasında kalan sayfaların korunması bu sayfalar arasındaki sayfalar taşı veya kopyala sistemi ile sürekli artmaktadır bu iki sayfa arasındaki sayfalar arttıkça korunacak sayfalara otomatik dahil olması tabi mümkünse?
iyi çalışmalar
 
merhaba

son dosyayı ilk dosya üzerine yaptığım için karıştırmışsınız.

sadece userform ile koruma yapabilir veya sadece önceki dosyadaki kodları kullanabilirsiniz.
1.listeden2.listeye taşınırken zaten korunuyor ayrıca başka makro çalıştırmanıza gerek yok
 
Merhaba
Sanırım Userform açarak yapılan koruma işlerimi kolaylaştıracak bunu dosyama entegre etmeye çalışacağım Ancak güvenlik açısından şöyle birşey olabilirmi?
1) Userforum aç butonuna bastığımızda forum açılmadan şifre kutucuğu açılsa şifre girilip okeylendikten sonra userforum açılsa
2) Userforumda kitaptaki sayfalar listesi içerisinde korunacak sayfaları seçerken önünde onay kutusu olupta onay kutusunu işaretlediklerimi korumaya yap butonu ile korumaya alabilirmiyim.(korumayı kaldırda aynı şekilde)
buna göre koruma yap ve korumayı kaldır butonların kodlarını düzenleyebilirmisiniz

Hocam kusura bakma habire birşeyler istiyoruz sayfa sayısı oldukça fazla olduğu ve devamlı arttığı için işlemleri daha çabuk yapmak istiyorum

ekte yapmaya çalıştığım taslak bir userforum olan örnek dosya ekliyorum gerekli
düzenlemeleri yapabilirmisiniz?

iyi çalışmalar
 

Ekli dosyalar

Son düzenleme:
Soruda düzenleme yapılıp 10 nolu mesajdaki dosya ona göre güncellendi
 
Merhaba
Sanırım Userform açarak yapılan koruma işlerimi kolaylaştıracak bunu dosyama entegre etmeye çalışacağım Ancak güvenlik açısından şöyle birşey olabilirmi?
1) Userforum aç butonuna bastığımızda forum açılmadan şifre kutucuğu açılsa şifre girilip okeylendikten sonra userforum açılsa
2) Userforumda kitaptaki sayfalar listesi içerisinde korunacak sayfaları seçerken önünde onay kutusu olupta onay kutusunu işaretlediklerimi korumaya yap butonu ile korumaya alabilirmiyim.(korumayı kaldırda aynı şekilde)
buna göre koruma yap ve korumayı kaldır butonların kodlarını düzenleyebilirmisiniz

Hocam kusura bakma habire birşeyler istiyoruz sayfa sayısı oldukça fazla olduğu ve devamlı arttığı için işlemleri daha çabuk yapmak istiyorum

ekte yapmaya çalıştığım taslak bir userforum olan örnek dosya ekliyorum gerekli
düzenlemeleri yapabilirmisiniz?

iyi çalışmalar

Modül1 deki kod
Kod:
Sub Düğme1_Tıklat()
sifre = InputBox("şifre giriniz.", "şifre penceresi", "")
If sifre = "" Then
MsgBox "ŞİFREYİ BOŞ GEÇEMEZSİNİZ."
Exit Sub
End If
If sifre = "10" Then
UserForm1.Show 0
Else
MsgBox "şifre yanlış"
Exit Sub
End If
End Sub

userfom1 deki kod

Kod:
Private Sub CheckBox1_Click()
Dim i As Integer
For i = 1 To ListBox1.ListCount
ListBox1.Selected(i - 1) = CheckBox1.Value
Next
End Sub
Private Sub CommandButton1_Click()
Dim i As Integer
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
Worksheets(ListBox1.List(i, 0)).Protect Password:="10", Contents:=True, Scenarios:=True
End If
Next
End Sub
Private Sub CommandButton2_Click()
For i = 0 To ListBox1.ListCount - 1
If ListBox1.Selected(i) = True Then
Worksheets(ListBox1.List(i, 0)).Protect Password:="10", Contents:=False, Scenarios:=False
End If
Next
End Sub
Private Sub UserForm_Initialize()
Dim sSheet
For Each sSheet In Sheets
ListBox1.AddItem sSheet.Name
Next sSheet
End Sub
 
Merhaba halit hocam hızır gibi yetiştiniz
kodlarınız gayet güzel çalışıyor Ellerinize sağlık
Hocam bilgi amaçlı soruyorum "DrawingObjects:=True" ve "EnableSelection = xlUnlockedCells"
ne anlama geliyor bilgi verebilirmisiniz. (sizin kodlarla alakalı değil öğrenmek amaçlı soruyorum)

Ayrıca hocam sizden bir ricam var
Çok muzdarip olup çözüm bulamadığım Txt dosyalarına kritere göre veri çekmek başlığı altında ( Makro-VBA) sorunuma müsait olduğunda bir göz atabilirmisiniz

teşekkür eder saygılar sunarım.
 
Son düzenleme:
Kod:
ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

Sayfayı koru penceresinde çalışma sayfasını ve kilitli hücrelerin içeriğini koru tikinin seçimi ile ilgili

Kod:
ActiveSheet.EnableSelection = xlUnlockedCells

aynı bölümde kilidi açılmış hücreleri seç tikinin seçimi ile ilgili
 
Açıklamalarınız için çok teşekkür ederim
iyi çalışmalar
 
Geri
Üst