Salt okunur dosyada 3 ayrı sütunun gizlenmesi

Katılım
3 Mayıs 2006
Mesajlar
108
Merhaba,

Örnekte yer alan dosya normalde şifreli bir dosya. Bu dosyanın ortakta kullanılan bir kısayolu var. İlgili kişiler kısayolunu açıp içindeki güncel bilgileri görmek istediklerinde I,J,K,L sütunlarını görmesin istiyoruz. Çünkü o sütunlarda fiyatlar yer alıyor.

Talep şu: Ben ana dosyayı açıp her türlü verileri gireceğim. Ortakta kullanılan kısayollu dosyadaki I,J,K,L sütunları gizli olmalı ve açamasınlar.

Örnek Dosya

İlginize şimdiden teşekkür ederim.
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,828
Excel Vers. ve Dili
2019 Türkçe
Merhaba.

Gözden Geçir sekmesinde Sayfayı Koru seçin. Bir Parola girin ve tamamı tıklatın.
Sütun gizleme ve gösterme parola korumalı oldu.
 
Katılım
3 Mayıs 2006
Mesajlar
108
Merhaba.

Gözden Geçir sekmesinde Sayfayı Koru seçin. Bir Parola girin ve tamamı tıklatın.
Sütun gizleme ve gösterme parola korumalı oldu.
Bilgilendirmeniz için teşekkür ederim. Verdiğiniz çözümde ana sayfada veya kısa yollu olan dosyada yaptığım her şey otomatikman diğer dosyada da aynısı oluyor. Ben ana dosyada I-J-K-L sütunlarını görecem ve veri girişi yapacağım. Ama kısa yolunda bu sütunlar gözükmeyecek.
 
Katılım
3 Mayıs 2006
Mesajlar
108
Bilgilendirmeniz için teşekkür ederim. Verdiğiniz çözümde ana sayfada veya kısa yollu olan dosyada yaptığım her şey otomatikman diğer dosyada da aynısı oluyor. Ben ana dosyada I-J-K-L sütunlarını görecem ve veri girişi yapacağım. Ama kısa yolunda bu sütunlar gözükmeyecek.
Sn. Dalgalıkur,

Sormuş olduğum son soru ile ilgili bir dönüşünüz olacak mı? Bilgi rica ederim
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,828
Excel Vers. ve Dili
2019 Türkçe
Merhaba.
Dosyanız ekte.
Göster/Gizle butonuna basarak sutun gizleyip gösterebilirsiniz.
Butona bastığınızda parola soracak sayfa koruma parolası "123" tür

https://www.dosyaupload.com/6b58
 
Katılım
3 Mayıs 2006
Mesajlar
108
Merhaba.
Dosyanız ekte.
Göster/Gizle butonuna basarak sutun gizleyip gösterebilirsiniz.
Butona bastığınızda parola soracak sayfa koruma parolası "123" tür

https://www.dosyaupload.com/6b58
Sn. Dalgalıkur,

Çözüm ve desteğiniz için çok teşekkür ederim. Yalnız tüm araç çubuğundaki sekmeler aktiv değil. (Giriş,Ekle,Sayfa Düzeni Formüller vs...) onları aktiv edip, yazmış olduğunuz makroyu da görebilirsem diğer alternatif dosyalarımda da uygulamak isterim.

İlginize yeniden teşekkür ederim.
 
Katılım
3 Mayıs 2006
Mesajlar
108
Sn. Dalgalıkur,

Çözüm ve desteğiniz için çok teşekkür ederim. Yalnız tüm araç çubuğundaki sekmeler aktiv değil. (Giriş,Ekle,Sayfa Düzeni Formüller vs...) onları aktiv edip, yazmış olduğunuz makroyu da görebilirsem diğer alternatif dosyalarımda da uygulamak isterim.

İlginize yeniden teşekkür ederim.

Sn. Dalgalıkur,

Ben yukarıda sormuş olduğum soruları biraz kurcalayarak buldum ve çözdüm. Teşekkür ederim.

İlerledikçe kafamda bir soru oluştu;

Ben ana dosyada tüm sütunlar açıkken içine verir girerken, başka biri "salt okunur" olarak dosyayı açtığında gözükmemesi gereken sütunları ( I,J,K,L )gösterememe gibi bir olayımız mümkün müdür?
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,828
Excel Vers. ve Dili
2019 Türkçe
Anladığım kadarıyla, başka bilgisayarda siz dahi olsanız görünmesini istemediğiniz sütunların hiç bir zaman görünmesini istemiyorsunuz.

Doğru anladıysam, öncelikle sayfanın korumasını kaldırın ve dosyadaki yazmış olduğum kodu silin, aşağıdaki kodları kopyalayın.

Kod:
Private Sub CommandButton1_Click()
    On Error Resume Next
    Dim Parola As String
    Parola = InputBox("Lütfen şifre giriniz.")
    Unprotect Environ("ComputerName") & Parola
    Columns("I:L").EntireColumn.Hidden = Not Columns("I:L").EntireColumn.Hidden
    Protect Environ("ComputerName") & Parola
End Sub
Bundan sonra yazmış olduğunuz kodun başına "Bilgisayar Adı" ekleneceğinden başka bilgisayarda çalışan şifreyi bilen biri dahi olsa sütunları göremeyecektir.

İsterseniz butonu kaldırıp, bu kodu bilgisayarın açılışına ekleyerek sadece sizin bilgisayarınızda otomatik çalışmasını sağlayabiliriz.
Eğer böyle olmasını isterseniz. Aşağıdaki kodu "BuÇalışmaKitabı(ThisWorkkook)" adlı kod sayfasına kopyalayın.

Kod:
Dim Parola As String

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    With Worksheets("genel")
        .Columns("I:L").EntireColumn.Hidden = True
        .Protect Environ("ComputerName") & Parola
    End With
End Sub

Private Sub Workbook_Open()
    On Error Resume Next
    Parola = InputBox("Lütfen şifre giriniz.")
    With Worksheets("genel")
        .Unprotect Environ("ComputerName") & Parola
        .Columns("I:L").EntireColumn.Hidden = False
    End With
End Sub
 
Son düzenleme:
Katılım
3 Mayıs 2006
Mesajlar
108
Anladığım kadarıyla, başka bilgisayarda siz dahi olsanız görünmesini istemediğiniz sütunların hiç bir zaman görünmesini istemiyorsunuz.

Doğru anladıysam, öncelikle sayfanın korumasını kaldırın ve dosyadaki yazmış olduğum kodu silin, aşağıdaki kodları kopyalayın.

Kod:
Private Sub CommandButton1_Click()
    On Error Resume Next
    Dim Parola As String
    Parola = InputBox("Lütfen şifre giriniz.")
    Unprotect Environ("ComputerName") & Parola
    Columns("I:L").EntireColumn.Hidden = Not Columns("I:L").EntireColumn.Hidden
    Protect Environ("ComputerName") & Parola
End Sub
Bundan sonra yazmış olduğunuz kodun başına "Bilgisayar Adı" ekleneceğinden başka bilgisayarda çalışan şifreyi bilen biri dahi olsa sütunları göremeyecektir.

İsterseniz butonu kaldırıp, bu kodu bilgisayarın açılışına ekleyerek sadece sizin bilgisayarınızda otomatik çalışmasını sağlayabiliriz.
Eğer böyle olmasını isterseniz. Aşağıdaki kodu "BuÇalışmaKitabı(ThisWorkkook)" adlı kod sayfasına kopyalayın.

Kod:
Dim Parola As String

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    With Worksheets("genel")
        .Columns("I:L").EntireColumn.Hidden = True
        .Protect Environ("ComputerName") & Parola
    End With
End Sub

Private Sub Workbook_Open()
    On Error Resume Next
    Parola = InputBox("Lütfen şifre giriniz.")
    With Worksheets("genel")
        .Unprotect Environ("ComputerName") & Parola
        .Columns("I:L").EntireColumn.Hidden = False
    End With
End Sub
Sn. Dalgalıkur,

Öncelikle ilginize tekrardan çok teşekkür ederim.

Aşağıdaki



"Private Sub CommandButton1_Click()
On Error Resume Next
Dim Parola As String
Parola = InputBox("Lütfen şifre giriniz.")
Unprotect Environ("ComputerName") & Parola
Columns("I:L").EntireColumn.Hidden = Not Columns("I:L").EntireColumn.Hidden
Protect Environ("ComputerName") & Parola
End Sub"
Anladığım kadarıyla, başka bilgisayarda siz dahi olsanız görünmesini istemediğiniz sütunların hiç bir zaman görünmesini istemiyorsunuz.

Doğru anladıysam, öncelikle sayfanın korumasını kaldırın ve dosyadaki yazmış olduğum kodu silin, aşağıdaki kodları kopyalayın.

Kod:
Private Sub CommandButton1_Click()
    On Error Resume Next
    Dim Parola As String
    Parola = InputBox("Lütfen şifre giriniz.")
    Unprotect Environ("ComputerName") & Parola
    Columns("I:L").EntireColumn.Hidden = Not Columns("I:L").EntireColumn.Hidden
    Protect Environ("ComputerName") & Parola
End Sub
Bundan sonra yazmış olduğunuz kodun başına "Bilgisayar Adı" ekleneceğinden başka bilgisayarda çalışan şifreyi bilen biri dahi olsa sütunları göremeyecektir.

İsterseniz butonu kaldırıp, bu kodu bilgisayarın açılışına ekleyerek sadece sizin bilgisayarınızda otomatik çalışmasını sağlayabiliriz.
Eğer böyle olmasını isterseniz. Aşağıdaki kodu "BuÇalışmaKitabı(ThisWorkkook)" adlı kod sayfasına kopyalayın.

Kod:
Dim Parola As String

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    With Worksheets("genel")
        .Columns("I:L").EntireColumn.Hidden = True
        .Protect Environ("ComputerName") & Parola
    End With
End Sub

Private Sub Workbook_Open()
    On Error Resume Next
    Parola = InputBox("Lütfen şifre giriniz.")
    With Worksheets("genel")
        .Unprotect Environ("ComputerName") & Parola
        .Columns("I:L").EntireColumn.Hidden = False
    End With
End Sub
Sn. Dalgalıkur,

Tekrardan desteğiniz için teşekkür ederim. Aşağıdaki kod daha uygun gözüküyor. Yalnız, mevcut dosyayı sütunlar
Anladığım kadarıyla, başka bilgisayarda siz dahi olsanız görünmesini istemediğiniz sütunların hiç bir zaman görünmesini istemiyorsunuz.

Doğru anladıysam, öncelikle sayfanın korumasını kaldırın ve dosyadaki yazmış olduğum kodu silin, aşağıdaki kodları kopyalayın.

Kod:
Private Sub CommandButton1_Click()
    On Error Resume Next
    Dim Parola As String
    Parola = InputBox("Lütfen şifre giriniz.")
    Unprotect Environ("ComputerName") & Parola
    Columns("I:L").EntireColumn.Hidden = Not Columns("I:L").EntireColumn.Hidden
    Protect Environ("ComputerName") & Parola
End Sub
Bundan sonra yazmış olduğunuz kodun başına "Bilgisayar Adı" ekleneceğinden başka bilgisayarda çalışan şifreyi bilen biri dahi olsa sütunları göremeyecektir.

İsterseniz butonu kaldırıp, bu kodu bilgisayarın açılışına ekleyerek sadece sizin bilgisayarınızda otomatik çalışmasını sağlayabiliriz.
Eğer böyle olmasını isterseniz. Aşağıdaki kodu "BuÇalışmaKitabı(ThisWorkkook)" adlı kod sayfasına kopyalayın.

Kod:
Dim Parola As String

Private Sub Workbook_BeforeClose(Cancel As Boolean)
    On Error Resume Next
    With Worksheets("genel")
        .Columns("I:L").EntireColumn.Hidden = True
        .Protect Environ("ComputerName") & Parola
    End With
End Sub

Private Sub Workbook_Open()
    On Error Resume Next
    Parola = InputBox("Lütfen şifre giriniz.")
    With Worksheets("genel")
        .Unprotect Environ("ComputerName") & Parola
        .Columns("I:L").EntireColumn.Hidden = False
    End With
End Sub

Sn. Dalgalıkur,

Tekrardan emeğiniz için teşekkür ederim Vakit ayırdınız.

Aşağıdaki kod uygun gözükmekte. Yalnız ben mevcut dosyayı nasıl kaydedersem. Başka bir bilgisayardan biri o dosyayı açtığında en son kaydettiğim şekilde görüyor. Yani ben sütunlar açık iken dosyayı kayıt edersem, başka bilgisayardan giren kişi dosyayı açtığında sütunların açık halini yani fiyatları açık halde görüyor. Her halükarda dosyayı kaydederken "sütunları otomatik gizle" yapabilir miyiz? Çünkü kesin sütunları gizlemeden kaydetmeyi unutabiliriz.


Private Sub CommandButton1_Click()
On Error Resume Next
Dim Parola As String
Parola = InputBox("Lütfen şifre giriniz.")
Unprotect Environ("ComputerName") & Parola
Columns("I:L").EntireColumn.Hidden = Not Columns("I:L").EntireColumn.Hidden
Protect Environ("ComputerName") & Parola
End Sub
 

Muzaffer Ali

Destek Ekibi
Destek Ekibi
Katılım
5 Haziran 2006
Mesajlar
5,828
Excel Vers. ve Dili
2019 Türkçe
Dosyanın koruma şifresi Bilgisayarınızın adı + 123 şeklinde değiştirdim.

Bilgisayarınızın adı eğer "GökayTaşçı" ise parola şöyle olacak: GökayTaşçı123

Ancak "Göster/Gizle" butonuna bastığınızda parola girerken Bilgisayar adını yazmanıza gerek yok. Sadece 123 yazmanız yeterli. Bilgisayar adı kod ile kontrol edilerek ekleniyor.
 
Katılım
3 Mayıs 2006
Mesajlar
108
Dosyanın koruma şifresi Bilgisayarınızın adı + 123 şeklinde değiştirdim.

Bilgisayarınızın adı eğer "GökayTaşçı" ise parola şöyle olacak: GökayTaşçı123

Ancak "Göster/Gizle" butonuna bastığınızda parola girerken Bilgisayar adını yazmanıza gerek yok. Sadece 123 yazmanız yeterli. Bilgisayar adı kod ile kontrol edilerek ekleniyor.
Sn.Dalgalıkur,

Son bilgilendirmenizi denedim. Yalnız bilgisayar adını tam yazmama rağmen göster/gizle butonuna şifre girildiğinde (123) ilgili sütunlar açılmadı. Bir yerde eksik bir şey var sanırım. Ben bir kurcalayıp size konu hakkında dönüş sağlarım. İlginize ve sabrınıza tekrardan teşekkür ederim.
 
Katılım
3 Mayıs 2006
Mesajlar
108
Sn.Dalgalıkur,

Son bilgilendirmenizi denedim. Yalnız bilgisayar adını tam yazmama rağmen göster/gizle butonuna şifre girildiğinde (123) ilgili sütunlar açılmadı. Bir yerde eksik bir şey var sanırım. Ben bir kurcalayıp size konu hakkında dönüş sağlarım. İlginize ve sabrınıza tekrardan teşekkür ederim.
Sn.Dalgalıkur,

Son bilgilendirmenizi denedim. Yalnız bilgisayar adını tam yazmama rağmen göster/gizle butonuna şifre girildiğinde (123) ilgili sütunlar açılmadı. Bir yerde eksik bir şey var sanırım. Ben bir kurcalayıp size konu hakkında dönüş sağlarım. İlginize ve sabrınıza tekrardan teşekkür ederim.
Tekrar merhaba Sn. Dalgalıkur,

IT sorumlumuz ile yaptığımız kontrollerde "bilgisayar adı" kısmını doğru girdiğimizden eminiz. Ne yazık ki kod aktiv olmayı, ilk açılışta gizli olarak gözüken sütunları göster/gizle butonuna bastığımda (123) makro çalışmıyor.Sanırım sorunun hepsi bilgisayar kullanıcı adı veya kod ile ilgili birşeyden kaynaklanıyor.

Aslında konuyu şöyle özetlersem belki farklı bir düşünce ortaya çıkabilir;

Bu ana dosya normalde şirketimizdeki serverda ortak ta duruyor. Ben dosyayı ilk açtığımda sütunlar gizli olarak karşıma çıkacak. Şifresini bildiğim için göster/gizle tuşuna bastığımda sütunlar açılacak. Yalnız sütunları açıp, sisteme veri girişi yaptığım sırada herhangi bir kullanıcı aynı dosyayı "salt okunur" olarak açtığında o anki halini yani sütunların açık halini de görmüş oluyor. Tam olarak anlatabildim sanırım.
Asıl sorunumuz bu işte. Bu konu hakkında ilerleyebilir miyiz?
 
Katılım
3 Mayıs 2006
Mesajlar
108
Tekrar merhaba Sn. Dalgalıkur,

IT sorumlumuz ile yaptığımız kontrollerde "bilgisayar adı" kısmını doğru girdiğimizden eminiz. Ne yazık ki kod aktiv olmayı, ilk açılışta gizli olarak gözüken sütunları göster/gizle butonuna bastığımda (123) makro çalışmıyor.Sanırım sorunun hepsi bilgisayar kullanıcı adı veya kod ile ilgili birşeyden kaynaklanıyor.

Aslında konuyu şöyle özetlersem belki farklı bir düşünce ortaya çıkabilir;

Bu ana dosya normalde şirketimizdeki serverda ortak ta duruyor. Ben dosyayı ilk açtığımda sütunlar gizli olarak karşıma çıkacak. Şifresini bildiğim için göster/gizle tuşuna bastığımda sütunlar açılacak. Yalnız sütunları açıp, sisteme veri girişi yaptığım sırada herhangi bir kullanıcı aynı dosyayı "salt okunur" olarak açtığında o anki halini yani sütunların açık halini de görmüş oluyor. Tam olarak anlatabildim sanırım.
Asıl sorunumuz bu işte. Bu konu hakkında ilerleyebilir miyiz?
Sn Dalgalıkur,

Yukarıdaki son mesajım ile ilgili bir dönüşünüz olacak mıdır? Bilgi rica ederim.
 
Üst