Pag-login sa VBA | Paano Lumikha ng isang Form sa Pag-login sa Excel VBA?

Form ng Pag-login sa Excel VBA

Posibleng lumikha ng isang form na batay sa pag-login ng gumagamit sa excel VBA kasama ang lahat ng listahan ng drop-down na id ng pag-login at ang password ay ibabahagi nang magkahiwalay. Sa ilang mga oras, dapat kang magkaroon ng isang ideya ng paglikha ng isang form ng gumagamit sa pag-login na nakabatay sa password na nangangailangan ng gumagamit na pumili ng kanilang user id at ipasok ang password upang ma-access ang kinakailangang worksheet.

Sa artikulong ito, ipapakita namin sa iyo kung paano lumikha ng isang form ng pag-login ng gumagamit gamit ang excel VBA.

Paano Lumikha ng isang Form ng Gumagamit ng Pag-login?

Halimbawa, ipagpalagay na mayroon kang mga numero sa pagbebenta na matalino sa rehiyon sa iba't ibang mga worksheet. Mayroon kaming 4 na magkakaibang mga pangalan ng zone at ang bawat worksheet ng zone ay may kaugnay na data lamang. Ngayon ang ideya ay upang lumikha ng isang form sa pag-login kung saan ang ulo ng "East" na benta ay dapat makita lamang ang data ng "East" na zone, hindi anumang iba pang mga zone ngunit bilang isang admin, dapat mong makita ang lahat ng mga worksheet ng zone.

Maaari mong i-download ang Template ng VBA Login Excel na ito - Template ng VBA Login Excel

Una, kailangan naming magsingit ng isang pangalan ng sheet na tinatawag na "Admin". Sa admin sheet na ito, kailangan naming lumikha ng mga kredensyal na "Mag-log in" at "Password".

Pinangalanan ko ang zone at password ng pareho maaari mong baguhin ito sa ibang pagkakataon. Para sa mga pangalan ng zone, nilikha ko ang saklaw ng pangalan bilang "ZoneList". Ang "Pangalan ng Tagapamahala" na ito ay gagamitin sa ibang pagkakataon sa form ng pag-login na ito.

Kapag binuksan ng gumagamit ang file dapat makita nila ang isang dummy sheet sa background, kaya lumikha ng isang bagong sheet at pangalanan ito bilang "Dummy" Sheet ".

Gamit ang mga worksheet na ito ay lilikha kami ng isang form ng pag-login ng gumagamit.

Hakbang 1: Ipasok ang Form ng Gumagamit

Pindutin ang ALT + F11 key upang buksan ang window ng VBA Editor.

  • Mula sa tab na "Ipasok" ipasok ang "Form ng User".

  • Lilikha ito ng isang bagong form ng gumagamit tulad ng sa ibaba.

  • Pindutin ang F4 key upang makita ang window ng Properties, mula sa window ng mga pag-aari na ito baguhin ang pangalan ng form ng gumagamit sa "LoginUF"

  • Gayundin sa paggamit ng window ng mga pag-aari na ito maaari naming i-play ang mga katangian ng form ng gumagamit. Nagawa ko ang ilan sa mga pagbabago sa pag-aari, maaari kang mag-refer sa window ng mga pag-aari sa ibaba upang mailapat ang mga pagbabago sa mga pag-aari ng form ng gumagamit.

  • Ngayon ganito ang hitsura ng aking form ng gumagamit.

Hakbang 2: Disenyo ng Userform

  • Mula sa toolbox ng form ng gumagamit ipasok ang dalawang mga kahon ng label at ipasok ang teksto tulad ng ipinakita sa ibaba.

  • Mula sa toolbox ipasok ang "Combo Box".

  • Para sa excel ng kahon ng combo na ito kailangan naming kunin ang mga pangalan ng zone mula sa worksheet na "Admin Sheet", kaya mula sa window ng mga pag-aari ng "Combo Box" bigyan muna ng isang pangalan ang combo box na ito bilang "Zone_List_ComboBox" sa ilalim ng "Pangalan" na pag-aari.

  • Mula sa pag-aari ng "Row Source" ng combo box ipasok ang pangalan na ibinigay sa listahan ng zone sa "Admin Sheet".

  • Ngayon ang aming combo box ay dapat magpakita ng mga pangalan ng zone sa drop-down list nito sa excel.

  • Para sa "Enter You Password" kailangan naming magsingit ng isang "Text Box" mula sa toolbox.

  • Para sa "Text Box" na ito kailangan naming baguhin ang pag-aari ng "Pangalan" at palitan ito bilang "Password_TB".

Ngayon sa pag-coding para sa form ng pag-login ng VBA, ang "Combo Box" ay ire-refer sa pangalang "Zone_List_ComboBox" at ang "Text Box" ay ire-refer ng pangalang "Password_TB".

  • Ipasok ang dalawang "Mga Command Button" at ipasok ang teksto bilang "Mag-log in" at "Mag-log Out".

Para sa pindutan ng utos na "Mag-log In" palitan ang pag-aari ng pangalan sa "Login_Command Button" at para sa pindutan ng "Mag-log Out" baguhin ang pag-aari ng pangalan sa "LogOut_Command Button".

Hakbang 3: Code

Tapos na kami sa bahagi ng disenyo ng form ng gumagamit ng pag-login ng VBA, oras na upang isulat ang code upang lumikha ng isang form na batay sa pag-login na gumagamit sa excel VBA.

  • Mag-double click sa Button ng Command na "Mag-log In" bubuksan nito ang blangko na pamamaraan ng sub tulad ng sa ibaba.

Sa loob ng pamamaraang ito, kailangan naming isulat ang code tungkol sa kung ano ang dapat mangyari kung ang pindutang "Mag-log In" ay pinindot.

Nasulat ko na ang code, maaari mong kopyahin at i-paste ang code mula sa ibaba sa loob ng pamamaraan sa itaas.

Code:

 Pribadong Sub Login_Command Button_Click () Kung ang Zone_List_ComboBox.Value = "" Kung gayon MsgBox "Zone ay Hindi Maaaring Blangko !!!", vbInformation, "Pangalan ng Zone" Exit Sub End Kung Kung Ang Password_TB.Value = "" Kung gayon MsgBox "Ang password ay hindi maaaring Blangko !! ! ", vbInformation," Password "Exit Sub End Kung Kung Zone_List_ComboBox.Value =" Admin "At Password_TB.Value =" Admin "Pagkatapos I-unload Me Dim Ws Bilang Worksheet Para sa bawat Ws Sa ActiveWorkbook.Worksheets Ws.Visible = xlSheetVisible Susunod Ws Sheets ("Admin"). Piliin ang Iba Pang Dim ZoneName Bilang String Dim Password Bilang Variant ZoneName = Zone_List_ComboBox.Value Password = Application.WorksheetFunction.VLookup (ZoneName, Sheets ("Admin"). Saklaw ("A: B"), 2, 0 ) Kung Ang Password Password_TB.Value Pagkatapos MsgBox "Ang password ay hindi tugma", vbInformation, "Maling Password" Exit Sub End Kung Kung Password = Password_TB.Value Pagkatapos I-unload Me Sheets (ZoneName) .Visible = True Sheets (ZoneName). Piliin ang ActiveSheet. Saklaw ("A1"). Piliin ang Tapusin Kung Tapusin Kung Tapusin ang Sub 

Katulad nito, mag-double click sa pindutan ng "Mag-log Out" at ipasok ang code sa ibaba.

Code:

 Pribadong Sub LogOut_Command Button_Click () ThisWorkbook. I-save ang ThisWorkbook .Close End Sub 

Ngayon mag-double click sa "Form ng Gumagamit" (hindi sa alinman sa mga pindutang naipasok) at idagdag ang code sa ibaba.

Code:

 Pribadong Sub UserForm_QueryClose (Kanselahin Bilang Integer, CloseMode Bilang Integer) 'Pinipigilan ang paggamit ng Close button Kung CloseMode = vbFormControlMenu Pagkatapos MsgBox "Ang pag-click sa pindutan ng Close ay hindi gagana." Kanselahin = True End Kung End Sub 

  • Ngayon mag-double click sa icon na "ThisWorkbook". Magbubukas ito sa ibaba ng patlang ng blangko ng code.

Idagdag ngayon ang code sa ibaba sa blangkong patlang na ito.

Code:

 Pribadong Sub Workbook_Open () Dim Ws Bilang Worksheet Application.DisplayAlerts = False Application.ScreenUpdating = Mali Para sa bawat Ws Sa ActiveWorkbook.Worksheets Kung Ws.Name "Dummy" Pagkatapos Ws.Visible = xlSheetVeryHidden End Kung Susunod Ws LogInUF. Ipakita ang End Sub 

  • Tapos na kami sa bahagi ng pag-coding ng form. I-save ang workbook bilang isang "Macro-Enified" na workbook at muling buksan ang workbook. Sa muling pagbukas ng workbook dapat nating makita ang window sa ibaba.

  • Mula sa form ng gumagamit na ito, kailangan naming pumili ng kani-kanilang pangalan ng zone at ipasok ang nauugnay na password. Halimbawa, pipiliin ko ang "Silangan" na zone mula sa drop-down at ipasok ang password.

  • Kung nag-click ako sa "Mag-log In" maaari lamang namin makita ang worksheet ng "East" na zone.

Katulad nito, kung nag-log in kami sa "Admin" maaari naming ma-access ang lahat ng mga worksheet.

Tulad nito, makakalikha kami ng access sa worksheet na protektado ng password na batay sa pag-login.

Bagay na dapat alalahanin

  • Kailangan mong gamitin ang parehong mga pangalan na ibinigay namin sa form ng gumagamit, text box, at command button at combo box sa coding.
  • Maaari mong baguhin ang pangalan ng zone at password alinsunod sa iyong nais.