VBA prisijungimas | Kaip sukurti prisijungimo formą „Excel VBA“?
„Excel VBA“ prisijungimo forma
Programoje „Excel VBA“ galima sukurti prisijungimo forma pagrįstą vartotojo formą su visu prisijungimo ID išskleidžiamuoju sąrašu ir slaptažodis bus bendrinamas atskirai. Tam tikru laiko momentu jūs turite turėti mintį sukurti slaptažodžiu pagrįstą prisijungimo vartotojo formą, kurioje vartotojui reikia pasirinkti savo vartotojo ID ir įvesti slaptažodį, norint pasiekti reikiamą darbalapį.
Šiame straipsnyje mes parodysime, kaip sukurti prisijungimo vartotojo formą naudojant „Excel VBA“.
Kaip sukurti prisijungimo vartotojo formą?
Pvz., Tarkime, kad skirtinguose darbalapiuose turite pardavimų skaičių pagal regionus. Mes turime 4 skirtingus zonų pavadinimus ir kiekviename zonos darbalapyje yra tik susiję duomenys. Dabar idėja yra sukurti prisijungimo formą, kurioje „Rytų“ zonos pardavimų vadovas turėtų matyti tik „Rytų“ zonos duomenis, o ne kitas zonas, bet kaip administratorius, turėtumėte pamatyti visus zonų darbalapius.
Šį „VBA Login Excel“ šabloną galite atsisiųsti čia - „VBA Login Excel“ šablonasPirmiausia turime įterpti lapo pavadinimą „Administratorius“. Šiame administratoriaus lape turime sukurti „Prisijungimo ID“ ir „Slaptažodžio“ kredencialus.
Pavadinau tą pačią zoną ir slaptažodį, kurį galėsite pakeisti vėliau. Zonų pavadinimams sukūriau pavadinimų diapazoną kaip „ZoneList“. Ši „Vardų tvarkyklė“ bus naudojama vėliau šioje prisijungimo vartotojo formoje.
Kai vartotojas atidaro failą, jis turėtų pamatyti vieną fiktyvų lapą fone, todėl sukurkite naują lapą ir pavadinkite jį kaip „Dummy“ Sheet.
Naudodami šiuos darbalapius sukursime prisijungimo vartotojo formą.
1 veiksmas: įterpkite vartotojo formą
Paspauskite ALT + F11 klavišą, kad atidarytumėte VBA redaktoriaus langą.
- Skirtuke „Įterpti“ įterpkite „Vartotojo forma“.
- Tai sukurs naują vartotojo formą, panašią į toliau pateiktą.
- Paspauskite klavišą F4, kad pamatytumėte langą Ypatybės. Šiame ypatybių lange pakeiskite vartotojo formos pavadinimą į „LoginUF“
- Panašiai naudodami šį ypatybių langą galime žaisti su vartotojo formos ypatybėmis. Atlikau kai kuriuos ypatybių pakeitimus. Jei norite pritaikyti vartotojo formos ypatybių pakeitimus, galite peržiūrėti toliau pateiktą ypatybių langą.
- Dabar mano vartotojo forma atrodo taip.
2 žingsnis: suprojektuokite „Userform“
- Iš vartotojo formos įrankių dėžutės įterpkite du etikečių langelius ir įveskite tekstą, kaip parodyta žemiau.
- Iš įrankių dėžutės įterpkite „Combo Box“.
- Šiam „combo box“ „excel“ turime gauti zonų pavadinimus iš darbalapio „Administratoriaus lapas“, todėl iš „Combo Box“ ypatybių lango pirmiausia nurodykite šiam kombinuotajam laukeliui pavadinimą kaip „Zone_List_ComboBox“ po savybe „Name“.
- Iš kombinuoto langelio ypatybės „Eilučių šaltinis“ įveskite zonų sąrašui suteiktą pavadinimą „Administratoriaus lape“.
- Dabar mūsų kombinuotame laukelyje „Excel“ išskleidžiamajame sąraše turėtų būti rodomi zonų pavadinimai.
- Norėdami įvesti slaptažodį, iš įrankių dėžutės turime įterpti „teksto laukelį“.
- Šiame „teksto laukelyje“ turime pakeisti ypatybę „Pavadinimas“ ir pakeisti jį kaip „Password_TB“.
Dabar VBA prisijungimo formos kodavime „Combo Box“ bus nurodytas pavadinimu „Zone_List_ComboBox“, o „Text Box“ - „Password_TB“.
- Įdėkite du „Komandos mygtukus“ ir įveskite tekstą kaip „Prisijungti“ ir „Atsijungti“.
Komandos mygtukui „Prisijungti“ pakeiskite vardo ypatybę į „Login_CommandButton“, o komandos mygtukas „Atsijungti“ pavadinimo ypatybę pakeiskite į „LogOut_CommandButton“.
3 žingsnis: kodas
Mes baigėme VBA prisijungimo vartotojo formos dizaino dalį, atėjo laikas parašyti kodą, kad sukurtumėte prisijungimo pagrindu pagrįstą vartotojo formą „Excel VBA“.
- Dukart spustelėkite komandinį mygtuką „Prisijungti“, kad atidarytumėte tuščią antrinę procedūrą, kaip nurodyta toliau.
Vykdydami šią procedūrą, turime parašyti kodą apie tai, kas turėtų atsitikti paspaudus mygtuką „Prisijungti“.
Aš jau parašiau kodą, galite nukopijuoti ir įklijuoti kodą iš apačios aukščiau pateiktoje procedūroje.
Kodas:
Privatus antrinis prisijungimo_komandaButton_Click () Jei Zone_List_ComboBox.Value = "" Tada MsgBox "Zona negali būti tuščia !!!", vbInformation, "Zonos pavadinimas" Išeiti iš Pabaigos, jei Slaptažodis_TB.Value = "" Tada MsgBox "slaptažodis negali būti tuščias !! ! ", vbInformation," Password "Exit Sub End If If Zone_List_ComboBox.Value =" Administratorius "Ir Password_TB.Value =" Administratorius "Tada iškraukite mane Dim Ws kaip kiekvieno WS darbalapį" ActiveWorkbook.Worksheets "Ws.Visible = xlSheetVisible Next Ws Sheets („Administratorius“). Pasirinkite Kitos „Dim“ zonos pavadinimą kaip eilutę „Dim“ slaptažodį kaip variantą „ZoneName = Zone_List_ComboBox.Value Password = Application.WorksheetFunction.VLookup (ZoneName, Sheets („ Admin “). Diapazonas („ A: B “), 2, 0 ) Jei Slaptažodis Slaptažodis_TB.Value, tada MsgBox „Slaptažodis neatitinka“, vbInformation,„Neteisingas slaptažodis“ Išeikite iš antrinės pabaigos, jei jei slaptažodis = slaptažodis_TB.Vertė, tada iškraukite „Man Sheets“ (zonos pavadinimas). Visis = tikrosios lentelės (zonos pavadinimas). Pasirinkite „ActiveSheet.Range“ („A1“). Pasirinkite Pabaiga, jei baigsis, jei baigsis antrinis
Panašiai dukart spustelėkite komandą „Atsijungti“ ir įveskite žemiau esantį kodą.
Kodas:
„Private Sub LogOut_CommandButton_Click () ThisWorkbook“. Išsaugokite šią darbo knygą. Uždarykite pabaigos antrinę dalį
Dabar dukart spustelėkite „Vartotojo forma“ (ne ant bet kurio įdėto mygtuko) ir pridėkite žemiau esantį kodą.
Kodas:
„Private Sub UserForm_QueryClose“ (atšaukti kaip sveikąjį skaičių, „CloseMode“ kaip sveikąjį skaičių) “Neleidžia naudoti uždarymo mygtuko, jei„ CloseMode “= vbFormControlMenu tada„ MsgBox “neveikia spustelėti mygtuką„ Uždaryti “. Atšaukti = tikroji pabaiga, jei galinė sub
- Dabar dukart spustelėkite piktogramą „ThisWorkbook“. Tai atsidarys po tuščiu kodo lauku.
Dabar šiame tuščiame lauke pridėkite žemiau esantį kodą.
Kodas:
Privačios sub darbaknygės_atidaryti () Dim Ws kaip darbalapio taikymas.DisplayAlerts = False Application.ScreenUpdating = Klaidinga kiekvienam „ActiveWorkbook“ W.Worksheets Jei Ws.Name „Manekenas“ Tada Ws.Visible = xlSheetVeryHidden pabaiga Jei kitas WS LogInUF.Show pabaigos papunktis
- Mes baigėme koduojančią formos dalį. Išsaugokite darbaknygę kaip „Macro-Enabled“ darbaknygę ir iš naujo atidarykite darbaknygę. Vėl atidarę darbaknygę turėtume pamatyti žemiau esantį langą.
- Iš šios vartotojo formos turime pasirinkti atitinkamą zonos pavadinimą ir įvesti susietą slaptažodį. Pavyzdžiui, išskleidžiamajame meniu pasirenku „Rytų“ zoną ir įvesiu slaptažodį.
- Jei spustelėsiu „Prisijungti“, matysime tik „Rytų“ zonos darbalapį.
Panašiai, jei prisijungsime naudodami „Administratorių“, galėsime pasiekti visus darbalapius.
Taip galime sukurti prieigą, apsaugotą prisijungimo slaptažodžiu, darbalapį.
Ką reikia atsiminti
- Turite naudoti tuos pačius vardus, kuriuos suteikėme vartotojo formai, teksto laukui, komandų mygtukui ir kombinuotam laukeliui koduoti.
- Galite pakeisti zonos pavadinimą ir slaptažodį pagal savo norą.