Giriş şifresi

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Sayın hocalarım, bir dosyaya birden fazla giriş şifresi kullanıcı adıyla koyulabilir mi?
Arayüz olarak göstermek için bir dosya hazırladım. Excel dosyasını açınca bu UserForm çıkacak.
Örneğin
murat şifre 123
ahmet şifre 2345
gibi.
Şimdiden teşekkür ederim.
Saygılarımla.
 

Ekli dosyalar

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Yapılabilir elbette. Hatta açan kullanıcıya göre farklı sayfaların ve özelliklerin gösterilmesi gibi çalışmalar da mümkün diye biliyorum.

Bunun için bir yerde mevcut kullanıcıların ve şifrelerin listesi olmalı. Bu veriler, sayfada da olabilir, kontrol edecek kod içinde ya da userform üzerindeki gizli nesnelerde de hatta belki harici veri kaynaklarında da olabilir. Daha sonra hazırlanacak kodda bu kullanıcı adının doğru olup olmadığı, doğruysa da şifresinin doğru olup olmadığı kontrol edilebilir.

Buna benzer bir uygulama dosyanızdaki "Kapat" düğmesinde mevcut, if sorgusuyla açık dosya sayısı kontrol edilip ona göre dosya ya da excel kapatılıyor.
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Yapılabilir elbette. Hatta açan kullanıcıya göre farklı sayfaların ve özelliklerin gösterilmesi gibi çalışmalar da mümkün diye biliyorum.

Bunun için bir yerde mevcut kullanıcıların ve şifrelerin listesi olmalı. Bu veriler, sayfada da olabilir, kontrol edecek kod içinde ya da userform üzerindeki gizli nesnelerde de hatta belki harici veri kaynaklarında da olabilir. Daha sonra hazırlanacak kodda bu kullanıcı adının doğru olup olmadığı, doğruysa da şifresinin doğru olup olmadığı kontrol edilebilir.

Buna benzer bir uygulama dosyanızdaki "Kapat" düğmesinde mevcut, if sorgusuyla açık dosya sayısı kontrol edilip ona göre dosya ya da excel kapatılıyor.
Yani hocam, dosyayı yapan ben olduğum için, şifre listesini ben yazacağım. Ama kod nasıl yazabilirim. Örnek bir dosya mevcut mu acaba. Sadece boş bir dosya, giriş userform'u .
Şimdiden teşekkür ederim.
Saygılarımla
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Örneğin userforma ekleyeceğiniz bir düğmeye ya da mevcut düğmelerden birine aşağıdaki kodları ekleyebilirsiniz:

PHP:
If TextBox1 = "" Then
    MsgBox "Lütfen Kullanıcı Adını Giriniz!", vbInformation
    TextBox1.SetFocus
    Exit Sub
ElseIf TextBox2 = "" Then
    MsgBox "Lütfen Şifre Giriniz!", vbInformation
    TextBox2.SetFocus
    Exit Sub
ElseIf TextBox1 <> "Ali" And TextBox1 <> "Veli" And TextBox1 <> "Ahmet" Then 'Kullanıcı adları bu şekilde kkontrol edilebilir, farklı yötemler de olabilir
    MsgBox "Kullanıcı adı hatalı!"
    TextBox1.SetFocus
    Exit Sub
ElseIf TextBox1 = "Ali" And TextBox2 <> "1" Or TextBox1 = "Veli" And TextBox2 <> "2" Or TextBox1 = "Ahmet" And TextBox2 <> "3" Then
        MsgBox "Şifre hatalı!"
        TextBox2.SetFocus
        Exit Sub
Else
    MsgBox "Giriş başarılı!", vbInformation
    'buraya başarılı girişte yapılacak işler yazılacak
End If
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Örneğin userforma ekleyeceğiniz bir düğmeye ya da mevcut düğmelerden birine aşağıdaki kodları ekleyebilirsiniz:

PHP:
If TextBox1 = "" Then
    MsgBox "Lütfen Kullanıcı Adını Giriniz!", vbInformation
    TextBox1.SetFocus
    Exit Sub
ElseIf TextBox2 = "" Then
    MsgBox "Lütfen Şifre Giriniz!", vbInformation
    TextBox2.SetFocus
    Exit Sub
ElseIf TextBox1 <> "Ali" And TextBox1 <> "Veli" And TextBox1 <> "Ahmet" Then 'Kullanıcı adları bu şekilde kkontrol edilebilir, farklı yötemler de olabilir
    MsgBox "Kullanıcı adı hatalı!"
    TextBox1.SetFocus
    Exit Sub
ElseIf TextBox1 = "Ali" And TextBox2 <> "1" Or TextBox1 = "Veli" And TextBox2 <> "2" Or TextBox1 = "Ahmet" And TextBox2 <> "3" Then
        MsgBox "Şifre hatalı!"
        TextBox2.SetFocus
        Exit Sub
Else
    MsgBox "Giriş başarılı!", vbInformation
    'buraya başarılı girişte yapılacak işler yazılacak
End If
Hocam emeğinize sağlık. Şimdi şöyle birinci sorum, normal kod bölümüne girmesini tools > VBA bölümüne şifre koyarak yapabilir miyiz? Çünkü girerse şifreleri görür.
İkinci olarak giriş başarılı ise user form kapanacak ve normal excel sayfasında devam edeceğiz. Bunu nasıl sağlarım.
Teşekkür ederim.
 

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Şifreyi vba bölümünde üstteki menülerden birinde bulabilirsiniz. Gerekirse kısa bir arama yapın.

Başarılı giriş için koddaki belirttiğim kısma

Sheets("açılacak sayfa adı").activate
Unload me

Satırlarını ekleyebilirsiniz.
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Şifreyi vba bölümünde üstteki menülerden birinde bulabilirsiniz. Gerekirse kısa bir arama yapın.

Başarılı giriş için koddaki belirttiğim kısma

Sheets("açılacak sayfa adı").activate
Unload me

Satırlarını ekleyebilirsiniz.
Hocam, son şu şekil oldu ama sayfa açılmıyor.
Hatta Unload UserForm1 ile UserForm'u kapatıyorum. Ama sayfa açılmıyor
Makrorlara şifre koyma olayını biliyorum. Onu en son yaparım.
Size zahmet hocam bakabilir misiniz?
 

Ekli dosyalar

Son düzenleme:

YUSUF44

Destek Ekibi
Destek Ekibi
Katılım
4 Ocak 2006
Mesajlar
12,073
Excel Vers. ve Dili
İş : Ofis 365 - Türkçe
Ev: Ofis 365 - Türkçe
Cepten baktığımdan çözüm olur mu bilmem ama

Application.visible

Satırı eklemeyi deneyin.
 

muratgunay48

Altın Üye
Katılım
10 Şubat 2010
Mesajlar
1,182
Excel Vers. ve Dili
Office 365 - Türkçe (64 bit)
Altın Üyelik Bitiş Tarihi
31-01-2025
Cepten baktığımdan çözüm olur mu bilmem ama

Application.visible

Satırı eklemeyi deneyin.
Hocam,

Unload USERFORM1

Application.Visible = True

Sheets("ANA").Activate

Şeklinde yazınca oldu.
Çok ama çok teşekkür ederim. Yordum sizi.
 
Son düzenleme:
Üst