Uygulama-1 (Karsilastirma ve Mantık Operatorleri)


Çalışma sayfalarına şifreli erişim

Öncelikle oldukça ilkel olmasına rağmen kullanılabilirliği olan bir uygulama ile Excel çalışma sayfalarındaki verilerimizin diğer kullanıcılara kapatılmasını sağlayacağız. Öncelikle bazılarımızın "verilerimizi korumak istersek çalışma kitabına açma ve değiştirme şifresi verebiliriz" şeklinde uyarıları elbette olacaktır ve doğrudur. Ancak unutmayalım ki bazı yazılımların desteği bunları kırmak mümkündür. Biz ise basit yanılsama kullanacağız. Bu dosyayı açanlar verilerimizin orada olduğundan pek de haberdar olmayacaklardır. Uygulamamızın özü basit. Telefon numaraları, adresler, hesap numaraları vb. bilgilerimizi istediğimiz bir çalışma sayfasına yazacağız sonrasında da bu sayfaları bir daha görüntülenmeyecek şekilde gizleyeceğiz, elbette biz gerekli kullanıcı adı ve şifre değerlerini girmediğimiz sürece. Bunu yapabilmek için:

1) Öncelikle bir Excel dokümanı oluşturup kaydedin. Aşağıda verilen hücre biçimlendirmelerini yapın, sonrasında Araçlar>Makro>Güvenlik komutları ile ekrana gelen pencerede Makro güvenliği sekmesinde Düşük seçemeğini işaretleyerek Tamam düğmesi ile onaylayın.Kaydet düğmesine basıp dokümanı kapatıp yeniden açın. Şekil-1 de verildiği üzere varsayılan olarak Sayfa1, Sayfa2 ve Sayfa3 isimli çalışma sayflarını yeniden isimlendirin. Araçlar>Seçenekler>Görünüm sekmesinden klavuz çizgilerinin işaretini kaldırın.
Şekil-1
2.Sonrasında Görünüm > Araç çubukları ile ekrana gelen listeden Visual Basic araç çubuğunu işaretleyin. Bu araç çubuğunda tasarım modu (Şekil-2 / 3 numara) düğmesine basın.
Şekil-2
3) Yine Visual Basic araç çubuğunda yer alan Denetim Araç Kutusu düğmesine (Şekil-2 / 2 numara) basın ve kullanabileceğiz ocx nesnelerini görüntüleyin. Bunların arasından Komut düğmesi nesnesini tıklayın ve sonrasında farenin sol tuşunu basılı tutarak çalışma sayfası üzerinde sürükle bırak yönetimi ile makul büyüklükte bir düğme çizin. Sonrasında bu düğme üzerinde farenin sağ tuşuna basın ekrana gelen pop-up mönüden Özellikler/Properties tıklayın ve Şekil-3 de verilen ekrandaki özellikler için ilgili ayarlamaları yapın.
Şekil-3
4) Sonrasında VERILER çalışma sayfasına istediğiniz bilgileri (ki bunları tasarımdan sonra da girebilirsiniz) ve SIFRELER sayfasına da istediğiniz bir kullanıcı adı ve şifre değerini giriniz. Biz örneğimizde her iki bilgi için de Şekil-4 de verildiği üzere admin değerini girdik.
Şekil-4
5) Veri giriş işlemlerini tamamladıktan sonra Klavyeden ALT+F11 tuşlarına basarak VBA kod editörünü açıyoruz. Burada (şayet ekrana gözükmüyorsa) Project Explorer penceresini ekrana getirmek için CTRL+L ve Özellikler/Properties getirmek için de F4 tuşlarına basıyoruz. Sonrasında Project Explorer' da sırası ile Sayfa2 ve Sayfa3' ü tıklayarak Şekil-5 de verildiği üzere Özellikler penceresi yardımıyla bunları gizli hale getiriyoruz (xlSheetVeryHidden olarak ayarlıyoruz). Bu öyle bir işlem ki bundan sonra hiç kimse Biçim > Sayfa>Göster komutları ile bu sayfaları görüntüleyemez.
Şekil-5
6) Sonrasında bunu dosyayı kullanan bir kullanıcıyı sadece şifre ve kullanıcı alanlarını kullanmaya zorlamak için bu iki hücreyi seçiyor ve seçimin üzerinde farenin sağ tuşuna basarak Özellikler diyoruz sonrasında Şekil-6 da verildiği üzere Koruma sekmesinde Kilitli işaretini kaldırıyoruz. Şimdi artık sayfayı koruma altına alabiliriz.
Şekil-6
7) Giriş sayfasının korumak için Araçlar >Koruma > Sayfayı Koru ile ekrana gelen pencerede Şekil-7 de verilen ayarlamaları yapıyoruz. Şifre için istediğiniz bir değeri girebilirsiniz.
Şekil-7

8)Son olarak sayfaya eklediğimiz GİRİŞ düğmesi üzerinde farenin sol tuşu ile seri bir çift tıklama yapın. Bu işlem sizi kod sayfasına taşıyacaktır (ALT+F11). Kod sayfasına aşağıdaki ekranda verilen kodları yazın.

Private Sub btnGiris_Click()
With Sayfa1
'kullanici adi bos birakilmamali
If .Cells(10, 6) = "" Then
MsgBox "Kullanıcı adı boş bırakılamaz", vbOKOnly + vbCritical, "Dikkat"
Else
'sifre alani bos birakilamaz
If .Cells(12, 6) = "" Then
MsgBox "Şifre alani boş bırakılamaz", vbOKOnly + vbCritical, "Dikkat"
Else
If .Cells(10, 6) <> Sayfa3.Cells(1, 2) Or .Cells(12, 6) <> Sayfa3.Cells(2, 2) Then
MsgBox "Yanlış kullanıcı adı ya da şifre", vbCritical + vbOKOnly, "Dikkat"
Else
Sayfa2.Visible = xlSheetVisible
Sayfa3.Visible = xlSheetVisible
End If
End If
End If
End With
End Sub

Hazırladığımız uygulamanın kapatılırken varsayılan değerlerin yüklenip kaydedilmesi için aşağıdaki kodları yazıyoruz

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Sayfa2.Visible = xlSheetVeryHidden
Sayfa3.Visible = xlSheetVeryHidden
Sayfa1.Cells(10, 6) = ""
Sayfa1.Cells(12, 6) = ""
ThisWorkbook.Save
End Sub<

Evet son olarak kodlarimizin güvenligi için ALT+F11 ile kod sayfasına geçiyoruz. Ctrl+R ile şayet ekranda değilse Project Explorer penceresini açıyoruz. Sonra bu ekranda projemizin üzerinde sağ tuş  - VBAProject_Properties tıklıyoruz. Ekrana gelecek pencerede Protection Sekmesinde Lock project for viewing kutusunu işaretledikten sonra şifre kutularına kompleks bir şifre giriyoruz. Son olarak dosyamızı kaydedip kapatıyoruz. İşlem tamam artık belge kullanıma hazırdır. Açın, şifrenizi ve kullanıcı adınızı girin görüntülenen sayfalarda ister bilgilerini ister şifre ve kullanıcı adınızı düzenlyin sonra belgeyi kapatın o sizin yerinize kaptmadan önce gerekli kaydetme işlemlerini yapacaktır. Bundan sonra şifresiz olarak kimse verileriniz göremez. İşin güzel tarafı piyasada kod bölümü için yaptığınız korumayı kırabilecek neredeyse hiç bir uygulama yok diyebilirim.
Yardımcı olması dileğiyle