Borang Log Masuk VBA

Borang Log Masuk Excel VBA

Adalah mungkin untuk membuat borang pengguna berdasarkan log masuk di excel VBA dengan semua senarai drop-down id log masuk dan kata laluan akan dikongsi secara berasingan. Pada suatu ketika, anda pasti mendapat idea untuk membuat borang pengguna log masuk berdasarkan kata laluan yang memerlukan pengguna memilih id pengguna mereka dan memasukkan kata laluan untuk mengakses lembaran kerja yang diperlukan.

Dalam artikel ini, kami akan menunjukkan kepada anda cara membuat borang pengguna log masuk menggunakan excel VBA.

Bagaimana Membuat Borang Pengguna Log Masuk?

Sebagai contoh, anggap anda mempunyai nombor jualan mengikut wilayah dalam lembaran kerja yang berbeza. Kami mempunyai 4 nama zon yang berbeza dan setiap lembaran kerja zon mempunyai data yang berkaitan sahaja. Sekarang idenya adalah untuk membuat borang masuk di mana kepala penjualan zon "Timur" hanya dapat melihat data zon "Timur", bukan zon lain tetapi sebagai pentadbir, anda harus melihat semua lembaran kerja zon.

Anda boleh memuat turun Templat Excel Masuk VBA ini di sini - Templat Excel Log Masuk VBA

Pertama, kita perlu memasukkan nama lembaran yang disebut "Admin". Dalam helaian pentadbir ini, kita perlu membuat bukti kelayakan "Log in Id" dan "Password".

Saya telah menamakan zon dan kata laluan yang sama dengan yang anda boleh ubah di kemudian hari. Untuk nama zon, saya telah membuat julat nama sebagai "ZoneList". "Pengurus Nama" ini akan digunakan kemudian pada borang pengguna log masuk ini.

Semasa pengguna membuka fail mereka harus melihat satu lembar dummy di latar belakang, jadi buat lembaran baru dan beri nama sebagai "Dummy" Sheet ".

Dengan menggunakan lembaran kerja ini, kami akan membuat borang pengguna log masuk.

Langkah 1: Masukkan Borang Pengguna

Tekan kekunci ALT + F11 untuk membuka tetingkap Editor VBA.

  • Dari tab "Masukkan" masukkan "Borang Pengguna".

  • Ini akan membuat borang pengguna baru seperti di bawah.

  • Tekan kekunci F4 untuk melihat tetingkap Properties, dari tetingkap sifat ini ubah nama bentuk pengguna menjadi "LoginUF"

  • Begitu juga dengan menggunakan tetingkap sifat ini, kita boleh bermain dengan sifat borang pengguna. Saya telah membuat beberapa perubahan harta tanah, anda boleh merujuk tetingkap sifat di bawah ini untuk menerapkan perubahan pada sifat borang pengguna.

  • Sekarang borang pengguna saya kelihatan seperti ini.

Langkah 2: Reka bentuk Pengguna

  • Dari kotak alat borang pengguna masukkan dua kotak label dan masukkan teks seperti gambar di bawah.

  • Dari kotak alat masukkan "Combo Box".

  • Untuk excel box kombo ini, kita perlu mendapatkan nama zon dari lembaran kerja "Admin Sheet", jadi dari jendela sifat "Combo Box" berikan nama untuk kotak kombo ini sebagai "Zone_List_ComboBox" di bawah "Name".

  • Dari sifat "Sumber Row" kotak kombo masukkan nama yang diberikan ke senarai zon di "Lembaran Admin".

  • Sekarang kotak kombo kami harus menunjukkan nama zon dalam senarai juntai bawahnya di excel.

  • Untuk "Masukkan Kata Laluan Anda" kita perlu memasukkan "Kotak Teks" dari kotak alat.

  • Untuk "Kotak Teks" ini kita perlu mengubah sifat "Nama" dan mengubahnya sebagai "Kata Laluan_TB".

Sekarang dalam pengekodan untuk borang masuk VBA, "Kotak Kombo" akan disebut dengan nama "Zone_List_ComboBox" dan "Kotak Teks" akan disebut dengan nama "Kata Laluan_TB".

  • Masukkan dua "Butang Perintah" dan masukkan teks sebagai "Log masuk" dan "Log Keluar".

Untuk butang perintah "Log In" ubah nama properti menjadi "Login_CommandButton" dan untuk butang perintah "Log Out" ubah nama nama menjadi "LogOut_CommandButton".

Langkah 3: Kod

Kami selesai dengan bahagian reka bentuk borang pengguna log masuk VBA, sudah tiba masanya untuk menulis kod untuk membuat borang pengguna berasaskan log masuk di excel VBA.

  • Klik dua kali pada Butang Perintah "Log Masuk" ini akan membuka sub prosedur kosong seperti yang berikut.

Di dalam prosedur ini, kita perlu menulis kod tentang apa yang harus terjadi jika butang "Log In" ditekan.

Saya sudah menulis kodnya, anda boleh menyalin dan menampal kod dari bawah di dalam prosedur di atas.

Kod:

Private Sub Login_CommandButton_Click () Jika Zone_List_ComboBox.Value = "" Maka MsgBox "Zon Tidak Boleh Kosong !!!", vbInformasi, "Nama Zon" Keluar Sub Akhir Jika Jika Kata Laluan_TB.Value = "" Kemudian MsgBox "Kata Laluan Tidak Boleh Kosong !! ! ". ("Admin"). Pilih Lain-lain Dim ZoneName Sebagai String Dim Password Sebagai Variant ZoneName = Zone_List_ComboBox.Value Password = Application.WorksheetFunction.VLookup (ZoneName, Sheets ("Admin"). Range ("A: B"), 2, 0 Jika Kata Laluan Kata Laluan_TB.Nilai Kemudian MsgBox "Kata Laluan tidak sepadan", vbInformation,"Kata Laluan Salah" Keluar Sub Akhir Jika Jika Kata Laluan = Kata Laluan_TB.Nilai Kemudian Bongkar Lembaran Saya (NamaNama) .Visible = Lembaran Sebenar (NamaNama). Pilih ActiveSheet.Range ("A1"). Pilih Tamat Jika Akhir Jika Akhir

Begitu juga, klik dua kali pada butang arahan "Log Keluar" dan masukkan kod di bawah.

Kod:

 Sub Sub PeribadiAkta_CommandButton_Klik () Buku Ini Ini. Simpan Ini Buku Kerja. Tutup Sub Akhir 

Sekarang klik dua kali pada "Borang Pengguna" (tidak ada butang yang dimasukkan) dan tambahkan kod di bawah.

Kod:

Sub User PrivateForm_QueryClose (Batal Sebagai Integer, CloseMode As Integer) 'Mencegah penggunaan butang Tutup Jika CloseMode = vbFormControlMenu Kemudian MsgBox "Mengklik butang Tutup tidak berfungsi." Batal = Akhir Benar Sekiranya Akhir Sub

  • Sekarang klik dua kali pada ikon "ThisWorkbook". Ini akan terbuka di bawah medan kod kosong.

Sekarang tambahkan kod di bawah dalam medan kosong ini.

Kod:

 Private Sub Workbook_Open() Dim Ws As Worksheet Application.DisplayAlerts = False Application.ScreenUpdating = False For Each Ws In ActiveWorkbook.Worksheets If Ws.Name  "Dummy" Then Ws.Visible = xlSheetVeryHidden End If Next Ws LogInUF.Show End Sub 

  • We are done with the coding part of the form. Save the workbook as a “Macro-Enabled” workbook and reopen the workbook. Upon reopening the workbook we should see the below window.

  • From this user form, we need to choose the respective zone name and enter the associated password. For example, I will choose the “East” zone from the drop-down and enter the password.

  • If I click on “Log In” we can see only the “East” zone worksheet.

Similarly, if we log in with “Admin” we can access all the worksheets.

Like this, we can create a login based password protected worksheet access.

Things to Remember

  • You need to use the same names that we have given to the user form, text box, and command button and combo box in the coding.
  • You can change the zone name and password according to your wish.