Bu yazımızda Excel sayfasını gizlemek için bir makro oluşturacağız. Excel sayfası, VBA kodu kullanılarak özellikleri değiştirilerek gizlenir. Gizli Excel sayfası, Excel uygulamasında göster düğmesi kullanılarak görünür hale getirilemez.
Bu örnekte bir kapı kayıt formu oluşturduk.
Kullanıcı, formdaki bilgileri girip gönder düğmesine tıkladığında, ayrıntılar “Veri” sayfasına kaydedilir. “Gönder” butonuna “Detay Gönderiliyor” makrosu atanır.
“Veri sayfası” butonu tıklanarak “Veri” sayfası gizlenebilir veya gösterilemez hale getirilebilir. “Veri” sayfası gizli ise Excel sayfasında bulunan göster seçeneği kullanılarak görünür hale getirilemez.
"Veri sayfası" düğmesi kullanılarak gizlenen sayfa, VBE'de (Visual Basic Editor) proje gezgininde görünür durumda kalır ve gizli sayfanın Sayfa özellikleri xlSheetVeryHidden olarak ayarlanır.
Sayfa ayrıca VBA kodu kullanılmadan çok gizli hale getirilebilir. Bunun için VBE'yi açmamız ve özellikler penceresindeki sayfanın görünür özelliğini 2 - xlSheetVeryHidden olarak ayarlamamız gerekiyor.
Bir sayfayı gizlemek için, böylece hiç kimse Vb Projesinin şifresini bilmeden onu gösteremez, dosyayı VBA kodunu kullanarak gizleyin veya sayfanın görünür özelliğini 2, yani xlsheetveryhidden olarak değiştirin ve Vb Projesini şifreyle birlikte kilitleyin.
Vb Project'i parola ile korumak için, Microsoft Excel Nesnesi'ne sağ tıklayın > VBAProject Özelliklerini Seçin… > VBAProject Özellikleri iletişim kutusu görünecektir.
VBAProject Özellikleri iletişim kutusunda, Koruma sekmesine gidin > projeyi kilitleme kutusunu işaretleyin > proje için parola atayın. Ekli dosya için atadığımız şifre “kayıt” tır. Proje için herhangi bir şifre atanabilir.
“Veri sayfası” butonu, sayfayı hem gizlemek hem de göstermek için kullanılır. “Veri sayfası” düğmesine “ToggleHidingDataSheet” makrosu atanır. Kullanıcı düğmeye tıkladığında ve dosya gizliyse sayfa görünür hale gelir ve sayfa görünürse sayfa gizlenir.
Sayfa, “Veri sayfası” düğmesine tıklanarak veya VBProject şifresi kullanılarak görünür özelliği 0 yani xlSheetNormal olarak değiştirilerek görünür hale getirilebilir.
Lütfen kod için aşağıdan takip edin
Sub SubmittingDetail() Dim LastRow As Long 'Verilerin eklenmesi gereken "Veri" sayfasındaki Son satırı bulma' LastRow = Sheets("Data").Range("A1").SpecialCells(xlLastCell).Row + 1 'Verileri "Veri" sayfasına Sayfalar("Veri") ile ekleme 'Seri numarası atama .Range("A" & LastRow) = LastRow - 1 'F15 ila J15 aralığından "Veri" sayfasına veri ekleme .Range("B " & LastRow & ":F" & LastRow) = Range("F15:J15").Value End With 'Aralığındaki hücre içeriği siliniyor Range("F15:J15").Select Selection.ClearContents Range("F15" .Select Sub Sub ToggleHidingDataSheet() 'Sayfanın şu anda gizli olup olmadığını kontrol etme If Sheets("Data").Visible = xlVeryHidden Then 'Sayfayı görünür yapma kodu Sheets("Data").Visible = True Else 'Gizleme kodu Sheets("Data").Visible = xlVeryHidden End If End Sub
Bu blogu beğendiyseniz, Facebook'ta arkadaşlarınızla paylaşın. Ayrıca bizi Twitter ve Facebook'ta da takip edebilirsiniz.
Sizden haber almayı çok isteriz, işimizi nasıl geliştirebileceğimizi ve sizin için nasıl daha iyi hale getirebileceğimizi bize bildirin. E-posta sitesinde bize yazın