Pieteikšanās VBA | Kā izveidot pieteikšanās veidlapu programmā Excel VBA?

Excel VBA pieteikšanās forma

Excel VBA ir iespējams izveidot uz pieteikšanos balstītu lietotāja veidlapu ar visu pieteikšanās ID nolaižamo sarakstu, un parole tiks kopīgota atsevišķi. Kādā brīdī jums ir jābūt idejai izveidot paroli balstītu pieteikšanās lietotāja veidlapu, kurā lietotājam jāizvēlas lietotāja ID un jāievada parole, lai piekļūtu vajadzīgajai darblapai.

Šajā rakstā mēs parādīsim, kā izveidot pieteikšanās lietotāja formu, izmantojot Excel VBA.

Kā izveidot pieteikšanās lietotāja veidlapu?

Piemēram, pieņemsim, ka dažādās darblapās ir reģionāli pārdošanas numuri. Mums ir 4 dažādi zonu nosaukumi, un katras zonas darblapai ir tikai saistītie dati. Tagad ideja ir izveidot pieteikšanās veidlapu, kurā “Austrumu” zonas pārdošanas vadītājam vajadzētu redzēt tikai “Austrumu” zonas datus, nevis citas zonas, bet kā administratoram jums vajadzētu redzēt visas zonu darblapas.

Šo VBA pieteikšanās Excel veidni varat lejupielādēt šeit - VBA pieteikšanās Excel veidne

Pirmkārt, mums jāievieto lapas nosaukums ar nosaukumu “Administrators”. Šajā administratora lapā mums jāizveido akreditācijas dati “Pieteikšanās ID” un “Parole”.

Es nosaucu zonu un paroli tāpat, kā to varat mainīt vēlāk. Zonu nosaukumiem esmu izveidojis nosaukumu diapazonu kā “ZoneList”. Šis “Vārdu pārvaldnieks” vēlāk tiks izmantots šajā pieteikšanās lietotāja veidlapā.

Kad lietotājs atver failu, fonā vajadzētu redzēt vienu fiktīvu lapu, tāpēc izveidojiet jaunu lapu un nosauciet to par “Fiktīvā lapa”.

Izmantojot šīs darblapas, mēs izveidosim pieteikšanās lietotāja veidlapu.

1. darbība: ievietojiet lietotāja veidlapu

Nospiediet taustiņu kombināciju ALT + F11, lai atvērtu VBA redaktora logu.

  • Cilnē “Ievietot” ievietojiet “Lietotāja veidlapa”.

  • Tas izveidos jaunu lietotāja veidlapu, piemēram, zemāk esošo.

  • Nospiediet taustiņu F4, lai redzētu logu Rekvizīti. Šajā rekvizītu logā mainiet lietotāja veidlapas nosaukumu uz “LoginUF”

  • Līdzīgi izmantojot šo rekvizītu logu, mēs varam spēlēt ar lietotāja formas īpašībām. Esmu veicis dažas rekvizītu izmaiņas. Lai lietotu izmaiņas lietotāja formas rekvizītos, varat atsaukties uz zemāk esošo rekvizītu logu.

  • Tagad mana lietotāja veidlapa izskatās šādi.

2. darbība: noformējiet Userform

  • Lietotāja formas rīkjoslā ievietojiet divas etiķetes un ievadiet tekstu, kā parādīts zemāk.

  • No rīkkastes ievietojiet “Combo Box”.

  • Par šo kombinēto lodziņu excel mums jāsaņem zonu nosaukumi no darblapas “Admin Sheet”, tāpēc no “Combo Box” rekvizītu loga vispirms šim combo lodziņam dodiet nosaukumu kā “Zone_List_ComboBox” zem “Name” rekvizīta.

  • No kombinētās lodziņa rekvizīta “Row Source” ievadiet zonu sarakstam piešķirto nosaukumu “Admin Sheet”.

  • Tagad mūsu kombinētajā lodziņā excel nolaižamajā sarakstā jāparāda zonu nosaukumi.

  • Lai ievadītu paroli, rīkjoslā jāievieto teksta lodziņš.

  • Šajā “Teksta lodziņā” mums jāmaina rekvizīts “Vārds” un jāmaina kā “Parole_TB”.

Tagad VBA pieteikšanās formas kodēšanā “Combo Box” tiks nosaukts ar nosaukumu “Zone_List_ComboBox”, bet “Text Box” - ar nosaukumu “Password_TB”.

  • Ievietojiet divas komandpogas un ievadiet tekstu kā “Pieteikties” un “Iziet”.

Komandas pogai “Pieteikties” nomainiet nosaukuma rekvizītu uz “Login_CommandButton” un komandu “Iziet” nomainiet nosaukuma rekvizītu uz “LogOut_CommandButton”.

3. solis: kods

Mēs esam pabeiguši VBA pieteikšanās lietotāja veidlapas noformēšanas daļu, ir pienācis laiks uzrakstīt kodu, lai izveidotu uz pieteikšanos balstītu lietotāja veidlapu programmā Excel VBA.

  • Veiciet dubultklikšķi uz komandas pogas “Pieteikties”, tādējādi tiks atvērta tukša apakšprocedūra, piemēram, zemāk esošā.

Šīs procedūras ietvaros mums ir jāuzraksta kods par to, kas notiks, ja tiek nospiesta poga “Pieteikties”.

Es jau esmu uzrakstījis kodu. Jūs varat nokopēt un ielīmēt kodu no apakšas iepriekš aprakstītās procedūras iekšpusē.

Kods:

Private Sub Login_CommandButton_Click () Ja Zone_List_ComboBox.Value = "" Tad MsgBox "Zona nevar būt tukša !!!", vbInformation, "Zonas nosaukums" Exit Sub End, ja Password_TB.Value = "" Tad MsgBox "parole nevar būt tukša !! ! ", vbInformation," Password "Exit Sub End If If Zone_List_ComboBox.Value =" Administrators "Un Password_TB.Value =" Administrators "Pēc tam izlādējiet mani Dim Ws kā darblapu katrai W ActiveWorkbook.Worksheets Ws.Visible = xlSheetVisible Next Ws Sheets ("Administrators"). Atlasiet citu Dim ZoneName kā virkni Dim Parole kā variantu ZoneName = Zone_List_ComboBox.Value Password = Application.WorksheetFunction.VLookup (ZoneName, Sheets ("Administrators"). Diapazons ("A: B"), 2, 0 ) Ja parole Password_TB.Value, tad MsgBox "Parole neatbilst", vbInformation,"Nepareiza parole" iziet no apakšnodaļas, ja parole = Password_TB.Value, pēc tam izkraujiet manas lapas (ZoneName) .Visible = True Sheets (ZoneName). Atlasiet ActiveSheet.Range ("A1"). Atlasiet End, ja Beigt, ja End Sub

Tāpat veiciet dubultklikšķi uz pogas “Atteikties” un ievadiet zemāk esošo kodu.

Kods:

 Privāta apakšnodaļa LogOut_CommandButton_Click () ThisWorkbook. Saglabājiet šo darbgrāmatu. Aizveriet beigu apakšdaļu 

Tagad veiciet dubultklikšķi uz “Lietotāja forma” (nevis uz nevienas ievietotās pogas) un pievienojiet zemāk esošo kodu.

Kods:

Private Sub UserForm_QueryClose (Cancel as Integer, CloseMode As Integer) 'Novērš pogas Aizvērt izmantošanu, ja CloseMode = vbFormControlMenu Tad MsgBox "Noklikšķināšana uz pogas Aizvērt nedarbojas". Atcelt = True End If End Sub

  • Tagad veiciet dubultklikšķi uz ikonas “ThisWorkbook”. Tas tiks atvērts zem tukšā koda lauka.

Tagad pievienojiet zemāk esošo kodu šajā tukšajā laukā.

Kods:

 Privātā sub darbgrāmata_Open () Dim Ws kā darblapas Application.DisplayAlerts = False Application.ScreenUpdating = False katram WS ActiveWorkbook.Worksheets If Ws.Name "Manekens" Tad Ws.Visible = xlSheetVeryHidden End Ja nākamie WS LogInUF.Show End Sub 

  • Mēs esam paveikuši ar veidlapas kodēšanas daļu. Saglabājiet darbgrāmatu kā “Macro-Enabled” darbgrāmatu un atkārtoti atveriet darbgrāmatu. Atkārtoti atverot darbgrāmatu, mums vajadzētu redzēt zemāk redzamo logu.

  • No šīs lietotāja formas mums jāizvēlas attiecīgais zonas nosaukums un jāievada saistītā parole. Piemēram, nolaižamajā izvēlnē izvēlos zonu “Austrumi” un ievadīšu paroli.

  • Ja noklikšķinu uz “Pieteikties”, mēs varam redzēt tikai “Austrumu” zonas darblapu.

Līdzīgi, ja piesakāmies ar “Admin”, mēs varam piekļūt visām darblapām.

Šādi mēs varam izveidot piekļuvi darblapai, kuras pamatā ir pieteikšanās, izmantojot paroli.

Atceramās lietas

  • Jums kodēšanā jāizmanto tie paši vārdi, kurus esam piešķīruši lietotāja veidlapai, tekstlodziņam, komandu pogai un kombinētajam lodziņam.
  • Jūs varat mainīt zonas nosaukumu un paroli atbilstoši savai vēlmei.

$config[zx-auto] not found$config[zx-overlay] not found