• DİKKAT

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

Birde fazla Sayfalardaki aynı kodu bir seferde değiştirmek

Katılım
5 Ocak 2009
Mesajlar
1,586
Excel Vers. ve Dili
2003 Türkçe
Selam Arkadaşlar,
Excel dosyamın içinde onlarca sayfa var ve her sayfadaki kodlar içinde aşağıdaki ifade var
Kod:
user = Environ("username")
sifre = "1234"
If user = "ergun.guler" Then
evimdeki veya başka bilgisayada iken tüm sayfaları "ergun.guler" kısmını tek tek değiştiriyorum.
(aynı şey sifre içinde olabilir)
Tek bir yerden değiştirebilmem mümkün müdür?
Mesela workbook bir kod yazılsa
burada
kullanıcı="ergun.guler" olsa

sayfalarda da "ergun.guler" yerine kullanıcı olsa

sadece workbooktaki kullanıcı değiştirildiği zaman tüm sayfalar için değişse nasıl olur?
Ben biraz uğraştım. Ancak yapamadım
İyi çalışmalar.
 
Kod:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
    user = Environ("username")
    sifre = "1234"
    If user = "ergun.guler" Then
End Sub
şeklinde deneyin.
 
Sayın Hamitcan,
Workbook'ta aşağıdaki kod var
Kod:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)

'*************ergun.guler harici kişilere "insört-veri" giriş sayfasını engeller*****************

user = Environ("username")
If user <> "ergun.guler" Then
If ActiveSheet.Name = "insört-veri" Then
Sheets(sayfa).Select
MsgBox "Bu Sayfayı Görmeye Yetkiniz Yok!", vbCritical, "Sayın " & user

End If
End If
sayfa = ActiveSheet.Name
End Sub
Bu sadece "insört-veri" sayfasına girişi engelliyor.
diğer tüm sayfalardaki kodlar aşağıdaki gibidir.
(Bazı sayfalarda özellik kısıtlamaları farklıdır)
Kod:
Private Sub Worksheet_Activate()

'************ BU SAYFADA SADECE SÜZME YAPILABİLİR***********
user = Environ("username")
sifre = "1234"

ActiveSheet.Unprotect Password:=sifre
ActiveSheet.Columns("O:AC").EntireColumn.Hidden = True
Cells.Locked = True
ActiveSheet.Protect Password:=sifre, AllowFiltering:=True

If user = "ergun.guler" Then
ActiveSheet.Unprotect Password:=sifre
ActiveSheet.Columns("O:AC").EntireColumn.Hidden = False
End If
  
End Sub
Sizin verdiğiniz denemeye çalıştım ama beceremedim. Daha doğrusu nasıl yapacağım hususunda kafam karıştı. Yardımcı olabilir misiniz?
Bir de şöyle birşey demedim onu da beceremedim. aşağıda izah ettim. hem bu sayede meramımı daha anlatmış olurum umarım:
bir tane Modül açtım. Modüle;

Kod:
Dim yetkili As String
Sub yetki()
 yetkili = "ergun.guler"
End Sub
ekledim.
Diğer ilgili sayfalarda ilgili yerine
Kod:
Call yetki/CODE] ekledim. 
[CODE]
............
If user = yetkili Then
...............
şeklinde kullandım.
 
Selamlar,

Ekteki örnek dosyayı incelermisiniz. Sanıyorum dosyadaki mantığı kendinize uyarlayabilirsiniz.
 

Ekli dosyalar

Selamlar,

Ekteki örnek dosyayı incelermisiniz. Sanıyorum dosyadaki mantığı kendinize uyarlayabilirsiniz.

Sayın Korhan Ayhan,
Ellerinize sağlık tam istediğim gibi. Çok teşekkür ederim.
Şifrelemede bir sorun var şöyle ki;
modüldeki Sifre'yi değiştirdiğim zaman sayfalara tıklar tıklamaz hata veriyor. parola yanlış diyor.
mesela eski sifrem 1234 idi yenisini modülden 12345 yaptım hata verdi.
bu sorunu şöyle hallediyorum. Dosyayı yeniden açıyorum, makroları devre dışı bırakıyorum. Sonra Tüm sayfalardaki korumaları tek tek eski şifre ile kaldırıyorum. kaydedip kapatıyorum. Yeniden makroları etkinleştirerek açıyorum.
Kısacası sifre değiştirme işi bayağı zahmetli oluyor.

sayfalardaki kodlar genelde aşağıdaki gibidir.

Kod:
Private Sub Worksheet_Activate()
'************ BU SAYFA SADECE GÖRÜNTÜLENEBİLİR***********
ActiveSheet.Unprotect Password:=Sifre
Cells.Locked = True
ActiveSheet.Protect Password:=Sifre

If Users = Yetkili Then
ActiveSheet.Unprotect Password:=Sifre
End If
  
End Sub
 
Selamlar,

Modüldeki şifreyi değiştirdikten sonra Auto_Open isimli makroyu çalıştırırsanız problem yaşamazsınız.
 
Selamlar,

Modüldeki şifreyi değiştirdikten sonra Auto_Open isimli makroyu çalıştırırsanız problem yaşamazsınız.
Selamlar,
Zaten denemiştim.
önceki sifre 1234 iken 12345 yapınca hata veriyor. Zaten sayfa koruması el ile kaldırdığımda eski şifre girince kabul ediyor.

elbette siz daha iyi bilirsiniz ancak, aşağıdaki kırmızı alanda sayfa korumasını kaldırmak istiyor. şifre:12345 'dir diyor oysaki daha önceden 1234 ile şifrelenmiş. Doğru mudur?
Kod:
Private Sub Worksheet_Activate()
'************ BU SAYFA SADECE GÖRÜNTÜLENEBİLİR***********
[B][COLOR="Red"]ActiveSheet.Unprotect Password:=Sifre[/COLOR][/B]
Cells.Locked = True
ActiveSheet.Protect Password:=Sifre

If Users = Yetkili Then
ActiveSheet.Unprotect Password:=Sifre
End If
  
End Sub
 
Selamlar,

Sayfa korumasındaki eski şifreyi direk modülden değiştirirseniz tabiki hata mesajı alırsınız.
 
Selamlar,

Sayfa korumasındaki eski şifreyi direk modülden değiştirirseniz tabiki hata mesajı alırsınız.
Siz koda sifreyi de ekediğiniz için ben de aynı zamanda şifre de değiştirilebilir zannetmiştim.
Sağlık olsun şifreyi eskisi gibi her bir sayfa üzerinden yaparım
Mahsuru yok ise, bir iki ufak soru sorabilir miyim?

environ("username") ile application.username arasındaki fark nedir?

environ ne demektir?

environ("..........") daki .......... yere başka neler kullanılabilir?
 
Geri
Üst