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 mempunyai 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.
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.

Apabila 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 alt = "" + kekunci F11 untuk membuka tetingkap Editor VBA.

- Dari tab "Sisipkan", 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 ke tetingkap sifat di bawah 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 "Kotak Kombo."

- Untuk excel box combo ini, kita perlu mendapatkan nama zon dari lembaran kerja "Admin Sheet", jadi dari window properti "Combo Box", pertama-tama beri nama pada kotak kombo ini sebagai "Zone_List_ComboBox" di bawah "Name" property .

- Dari sifat "Sumber Baris" kotak kombo, masukkan nama yang diberikan ke senarai zon di "Lembaran Pentadbiran."

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

- Untuk "Masukkan Kata Laluan Anda," kita harus 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."

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 dengan yang kami berikan pada borang pengguna, kotak teks, dan butang arahan, dan kotak kombo dalam pengekodan.
- Anda boleh menukar nama zon dan kata laluan mengikut kehendak anda.