Rol girişine göre excel i gizleme

Katılım
14 Mart 2020
Mesajlar
66
Excel Vers. ve Dili
2010
Ya biraz alakasız örneksiz bir soru soracağım ama kusura bakmayın ben şimdi bir program yaptım excell tabanlı ama şunu istiyorum rol girişi yaptım belirli kullanıcılar için sadece userforumların çalışmasını istiyorum normalde excell i kapatabiliyorum ama herkese kapatıyorum. ben belli personel için görüntülenmesini istiyorum..

teşekkür ederim kolay gelsin.
 

muhasebeciyiz

Altın Üye
Katılım
10 Şubat 2006
Mesajlar
758
Excel Vers. ve Dili
Office 2016
64 Bit
Altın Üyelik Bitiş Tarihi
21-12-2027
Excel tabanlı bir programda, belirli kullanıcılar için bazı işlevlerin veya sayfaların görünmesini veya çalışmasını sağlamak istiyorsanız, VBA (Visual Basic for Applications) kullanarak çözüm oluşturabilirsiniz. Bununla, Excel dosyasını açan kullanıcının kimliğine göre farklı içerikler veya işlevler gösterebilir veya gizleyebilirsiniz.

İşte belirli kullanıcılar için UserForms'un görünmesini sağlamak adına kullanabileceğiniz temel bir yaklaşım:
1. Kullanıcı Girişi İçin VBA Kodları

İlk olarak, kullanıcıdan giriş yapmasını sağlayacak bir form oluşturabilirsiniz. Bu formda, kullanıcı adı ve şifre gibi bilgiler alınabilir. Bu sayede sadece belirlediğiniz kullanıcılar için belirli sayfalar veya işlevler aktif olur.
Kullanıcı Girişi Formu

  1. VBA Editörü'nü açın:
    • Excel'de Alt + F11 tuşlarına basarak VBA editörünü açın.
  2. UserForm oluşturun:
    • VBA editöründe, Insert > UserForm seçeneğini tıklayın.
    • Bu formda kullanıcının adını ve şifresini girmesi için TextBox ve CommandButton ekleyin.
  3. Kod yazın: Bu form, kullanıcının adını ve şifresini girmesini sağlar. Aşağıdaki gibi bir kod kullanabilirsiniz:


    Private Sub CommandButton1_Click()
    Dim kullanıcıAdı As String
    Dim şifre As String

    kullanıcıAdı = TextBox1.Value
    şifre = TextBox2.Value

    If kullanıcıAdı = "kullanıcı1" And şifre = "1234" Then

    MsgBox "Hoşgeldiniz " & kullanıcıAdı
    UserForm1.Hide

    Sheet1.Visible = xlSheetVisible
    Else
    MsgBox "Geçersiz kullanıcı adı veya şifre!"
    End If
    End Sub

    2. Kullanıcıya Göre Sayfa Erişimi SağlamakBu kodda, giriş yapan kullanıcının ismine ve şifresine göre, belirli sayfalar (örneğin Sheet1) görünür hale getirilmiştir. Giriş başarısız olduğunda ise hata mesajı gösterilecektir.

Diğer Sayfalar İçin Erişim Kontrolü

Bunu, her kullanıcı için farklı sayfalar veya işlevler atayarak daha da özelleştirebilirsiniz. Örneğin:

If kullanıcıAdı = "kullanıcı1" And şifre = "1234" Then

Sheet1.Visible = xlSheetVisible
Sheet2.Visible = xlSheetVeryHidden
ElseIf kullanıcıAdı = "kullanıcı2" And şifre = "abcd" Then

Sheet2.Visible = xlSheetVisible
Sheet1.Visible = xlSheetVeryHidden
End If


Bu kod ile kullanıcı1 için sadece Sheet1 erişilebilirken, kullanıcı2 için Sheet2 görünür olacaktır.

3. Excel Dosyasını Kapatmaya İzin Verme

Eğer sadece belirli kullanıcılara erişim vermek istiyorsanız, dosyanın kapanmasını önlemek için de bir çözüm geliştirebilirsiniz. Örneğin, aşağıdaki kod ile belirli kullanıcılar dışında başkalarının dosyayı kapatmasını engelleyebilirsiniz:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If kullanıcıAdı <> "kullanıcı1" Then
MsgBox "Bu dosyayı kapatma izniniz yok!"
Cancel = True
End If
End Sub

4. Güvenlik

Excel dosyasının şifrelenmesi ve VBA kodlarının şifrelenmesi güvenlik açısından önemlidir. Şifrelerin ve kullanıcı bilgilerinin açık bir şekilde kod içinde olmaması gerektiğinden, uygun güvenlik önlemlerini almanız önemlidir.

5. Kapanış Kısıtlaması

Ayrıca, Excel'in kapanmasını belirli kullanıcılarla sınırlamak için şu gibi bir kontrol de ekleyebilirsiniz.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If kullanıcıAdı <> "admin" Then
MsgBox "Sadece admin kapatabilir!"
Cancel = True
End If
End Sub

Sonuç
Yukarıdaki adımlar ve kodlar, belirli kullanıcılar için Excel'deki işlevlerin görünmesini veya kullanılmasını sağlamak için yeterli olacaktır.
 
Katılım
6 Mart 2024
Mesajlar
259
Excel Vers. ve Dili
Excel 2010 TR & Excel 2016 TR
Merhaba,
bu şekilde bir kontrol işinize yarar mı ?
 
Katılım
14 Mart 2020
Mesajlar
66
Excel Vers. ve Dili
2010
Arkadaşlar teşekkürler cevaplar için. Ama ben yanlış aktardım sanırım ben rol girişlerini falan yaptım sistemim çalışıyor ama şunu yapmayı istiyorum sadece örneğin lojistik diye bir rol tanımladım o sadece tutarsızlık giriş sayfasını görüyor o sayfada da tutarsızlık user formu var tutarsızlık gir butonuna tıkladığından o acılıyor . ben sunu istiyorum lojistik giriş yaptığından sadece userform görünsün excel görünmesin çalışma sayfasının geneline yapıyorum onda sıkıntı yok ama diğer kullanıcıların görmesini istediğim excel sayfaları var. Şimdiden teşekkürler
 
Üst