VBA Login - Bagaimana cara membuat Formulir Login di Excel VBA?

Formulir Login VBA Excel

Dimungkinkan untuk membuat formulir pengguna berbasis login di excel VBA dengan semua daftar drop-down id login, dan kata sandi akan dibagikan secara terpisah. Pada suatu saat, Anda pasti sudah mendapat ide untuk membuat formulir pengguna login berbasis kata sandi, yang mengharuskan pengguna untuk memilih id pengguna mereka dan memasukkan kata sandi untuk mengakses lembar kerja yang diperlukan.

Pada artikel ini, kami akan menunjukkan cara membuat formulir pengguna login menggunakan excel VBA.

Bagaimana Cara Membuat Formulir Pengguna Login?

Misalnya, anggap Anda memiliki nomor penjualan berdasarkan wilayah di lembar kerja yang berbeda. Kami memiliki 4 nama zona yang berbeda, dan setiap lembar kerja zona hanya memiliki data terkait. Sekarang idenya adalah membuat formulir login di mana kepala penjualan zona "Timur" seharusnya hanya melihat data zona "Timur", bukan zona lain, tetapi sebagai admin, Anda harus melihat semua lembar kerja zona.

Pertama, kita perlu memasukkan nama sheet yang disebut "Admin". Di lembar admin ini, kita perlu membuat kredensial "Log in Id" dan "Password".

Saya telah menamai zona dan kata sandi yang sama, Anda dapat mengubahnya nanti. Untuk nama zona, saya telah membuat rentang nama sebagai "ZoneList". "Manajer Nama" ini akan digunakan nanti pada formulir pengguna login ini.

Saat pengguna membuka file, mereka akan melihat satu lembar dummy di latar belakang, jadi buat lembar baru dan beri nama sebagai "Dummy" Sheet. "

Dengan menggunakan lembar kerja ini, kami akan membuat formulir pengguna login.

Langkah 1: Masukkan Formulir Pengguna

Tekan alt = "" + F11 untuk membuka jendela Editor VBA.

  • Dari tab "Sisipkan", masukkan "Formulir Pengguna".
  • Ini akan membuat formulir pengguna baru seperti di bawah ini.
  • Tekan tombol F4 untuk melihat jendela Properties. Dari jendela properti ini, ubah nama formulir pengguna menjadi "LoginUF"
  • Demikian pula, dengan menggunakan jendela properti ini, kita bisa bermain-main dengan properti formulir pengguna. Saya telah membuat beberapa perubahan properti. Anda dapat merujuk ke jendela properti di bawah ini untuk menerapkan perubahan ke properti formulir pengguna.
  • Sekarang formulir pengguna saya terlihat seperti ini.

Langkah 2: Desain Userform

  • Dari kotak alat formulir pengguna, masukkan dua kotak label dan masukkan teks, seperti yang ditunjukkan di bawah ini.
  • Dari toolbox, masukkan “Combo Box”.
  • Untuk excel kotak kombo ini, kita perlu mendapatkan nama zona dari lembar kerja "Lembar Admin," jadi dari jendela properti "Kotak Kombo", pertama beri nama untuk kotak kombo ini sebagai "Zone_List_ComboBox" di bawah properti "Nama" .
  • Dari properti "Sumber Baris" kotak kombo, masukkan nama yang diberikan ke daftar zona di "Lembar Admin".
  • Sekarang kotak kombo kami akan menampilkan nama zona dalam daftar drop-down di excel.
  • Untuk "Enter You Password," kita perlu memasukkan "Text Box" dari toolbox.
  • Untuk "Kotak Teks" ini, kita perlu mengubah properti "Nama" dan mengubahnya menjadi "Kata Sandi_TB."

Sekarang dalam pengkodean untuk formulir login VBA, "Combo Box" akan disebut dengan nama "Zone_List_ComboBox" dan "Text Box" akan disebut dengan nama "Password_TB."

  • Masukkan dua "Tombol Perintah" dan masukkan teks sebagai "Masuk" dan "Keluar".

For the “Log In” command button, change the name property to “Login_CommandButton,” and for the “Log Out” command button, change the name property to “LogOut_CommandButton.”

Step 3: Code

We are done with the VBA login user form design part. It’s time to write the code to create a login based user form in excel VBA.

  • Double click on the “Log In” Command Button. This will open a blank sub procedure like the below one.

Inside this procedure, we need to write the code about what should happen if the “Log In” button is pressed.

I have already written the code. You can copy and paste the code from below inside the above procedure.

Code:

Private Sub Login_CommandButton_Click() If Zone_List_ComboBox.Value = "" Then MsgBox "Zone Cannot be Blank!!!", vbInformation, "Zone Name" Exit Sub End If If Password_TB.Value = "" Then MsgBox "Password Cannot be Blank!!!", vbInformation, "Password" Exit Sub End If If Zone_List_ComboBox.Value = "Admin" And Password_TB.Value = "Admin" Then Unload Me Dim Ws As Worksheet For Each Ws In ActiveWorkbook.Worksheets Ws.Visible = xlSheetVisible Next Ws Sheets("Admin").Select Else Dim ZoneName As String Dim Password As Variant ZoneName = Zone_List_ComboBox.Value Password = Application.WorksheetFunction.VLookup(ZoneName, Sheets("Admin").Range("A:B"), 2, 0) If Password Password_TB.Value Then MsgBox "Password is not matching", vbInformation, "Wrong Password" Exit Sub End If If Password = Password_TB.Value Then Unload Me Sheets(ZoneName).Visible = True Sheets(ZoneName).Select ActiveSheet.Range("A1").Select End If End If End Sub

Similarly, double click on the “Log Out” command button and enter the below code.

Code:

Private Sub LogOut_CommandButton_Click() ThisWorkbook.Save ThisWorkbook.Close End Sub

Now double click on “User Form” (not on any of the buttons inserted) and add the below code.

Code:

Private Sub UserForm_QueryClose(Cancel As Integer, CloseMode As Integer) ' Prevents use of the Close button If CloseMode = vbFormControlMenu Then MsgBox "Clicking the Close button does not work." Cancel = True End If End Sub
  • Now double click on the “ThisWorkbook” icon. This will open up below the blank code field.

Now add the below code in this blank field.

Code:

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

  • Anda perlu menggunakan nama yang sama yang telah kami berikan ke formulir pengguna, kotak teks, dan tombol perintah, dan kotak kombo dalam pengkodean.
  • Anda dapat mengubah nama zona dan kata sandi sesuai keinginan Anda.

Artikel yang menarik...