VBA-kirjautuminen | Kuinka luoda kirjautumislomake Excel VBA: ssa?
Excel VBA -kirjautumislomake
On mahdollista luoda sisäänkirjautumispohjainen käyttäjälomake Excel VBA: ssa, jossa on kaikki kirjautumistunnukset-pudotusvalikko ja salasana jaetaan erikseen. Jossain vaiheessa sinulla on oltava idea luoda salasanapohjainen sisäänkirjautumislomake, joka vaatii käyttäjää valitsemaan käyttäjätunnuksensa ja antamaan salasanan päästäkseen tarvittavaan laskentataulukkoon.
Tässä artikkelissa näytämme sinulle, miten luodaan sisäänkirjautumislomake käyttämällä Excel VBA: ta.
Kuinka luoda kirjautumiskäyttäjälomake?
Oletetaan esimerkiksi, että sinulla on alueittain myyntinumerot eri laskentataulukoissa. Meillä on 4 erilaista vyöhykenimeä, ja jokaisella vyöhykkeen laskentataulukolla on vain siihen liittyvät tiedot. Nyt ajatuksena on luoda kirjautumislomake, jossa "East" -vyöhykkeen myyntipäällikön tulisi nähdä vain "East" -vyöhyketiedot, ei muita vyöhykkeitä, mutta järjestelmänvalvojana sinun pitäisi nähdä kaikki vyöhykkeiden laskentataulukot.
Voit ladata tämän VBA Login Excel -mallin täältä - VBA Login Excel -malliEnsinnäkin meidän on lisättävä taulukon nimi nimeltä "Järjestelmänvalvoja". Tässä hallintalomakkeessa meidän on luotava kirjautumistunnus ja salasana.
Olen nimittänyt vyöhykkeen ja salasanan samalla tavalla, että voit muuttaa tämän myöhemmin. Vyöhykenimille olen luonut nimialueeksi "ZoneList". Tätä “Nimihallintaa” käytetään myöhemmin tässä sisäänkirjautumislomakkeessa.
Kun käyttäjä avaa tiedoston, hänen pitäisi nähdä yksi nukke-arkki taustalla, joten luo uusi taulukko ja nimeä se nimellä "Dummy" Sheet ".
Näiden laskentataulukoiden avulla luomme kirjautumislomakkeen.
Vaihe 1: Lisää käyttäjän lomake
Avaa VBA Editor -ikkuna painamalla ALT + F11-näppäintä.
- Lisää "Lisää" -välilehdeltä "Käyttäjälomake".
- Tämä luo uuden alla olevan kaltaisen käyttäjälomakkeen.
- Paina F4-näppäintä nähdäksesi Ominaisuudet-ikkunan. Muuta tässä ominaisuusikkunassa käyttäjän lomakkeen nimeksi "LoginUF"
- Vastaavasti tämän ominaisuusikkunan avulla voimme pelata käyttäjälomakkeen ominaisuuksilla. Olen tehnyt joitain ominaisuusmuutoksia. Voit käyttää alla olevan ominaisuusikkunan muutoksia käyttäjän lomakkeen ominaisuuksiin.
- Nyt käyttäjälomakkeeni näyttää tältä.
Vaihe 2: Suunnittele Userform
- Lisää käyttäjätunnuksen työkalupakista kaksi tarraruutua ja kirjoita teksti alla olevan kuvan mukaisesti.
- Lisää työkalupakista ”Combo Box”.
- Tätä yhdistelmäruutua varten meidän on saatava vyöhykenimet taulukosta "Järjestelmänvalvoja", joten anna "Yhdistelmäruudun" ominaisuusikkunasta ensin nimi tälle yhdistelmäruudulle nimellä "Zone_List_ComboBox" kohdassa "Nimi".
- Kirjoita yhdistelmäruudun "Row Source" -ominaisuudesta vyöhykeluettelolle annettu nimi "Admin Sheet" -kenttään.
- Yhdistelmäruudun pitäisi nyt näyttää vyöhykenimet avattavassa luettelossaan Excelissä.
- "Syötä salasanasi" -kohdassa meidän on lisättävä "tekstiruutu" työkalupakista.
- Tätä "Tekstiruutua" varten meidän on vaihdettava "Nimi" -ominaisuus ja vaihdettava se nimellä "Salasana_TB".
Nyt VBA-kirjautumislomakkeen koodauksessa "Yhdistelmäruutuun" viitataan nimellä "Zone_List_ComboBox" ja "Tekstilaatikkoon" viitataan nimellä "Password_TB".
- Aseta kaksi komentopainiketta ja kirjoita teksti "Kirjaudu sisään" ja "Kirjaudu ulos".
Muuta "Kirjaudu sisään" -komentopainikkeelle nimiominaisuudeksi "Login_CommandButton" ja "Kirjaudu ulos" -komentopainikkeelle nimiominaisuudeksi "LogOut_CommandButton".
Vaihe 3: Koodi
Olemme tehneet VBA-kirjautumiskäyttäjälomakkeen suunnitteluosan, on aika kirjoittaa koodi luoda kirjautumispohjainen käyttäjälomake Excel VBA: ssa.
- Kaksoisnapsauta "Kirjaudu sisään" -komentopainiketta. Tämä avaa tyhjän alimenettelyn, kuten alla.
Tämän menettelyn sisällä meidän on kirjoitettava koodi siitä, mitä pitäisi tapahtua, jos "Kirjaudu sisään" -painiketta painetaan.
Olen jo kirjoittanut koodin, voit kopioida ja liittää koodin alhaalta yllä olevan menettelyn sisälle.
Koodi:
Private Sub Login_CommandButton_Click () Jos Zone_List_ComboBox.Value = "" Sitten MsgBox "-vyöhyke ei voi olla tyhjä !!!", vbInformation, "Zone Name" Exit Sub End If If Password_TB.Value = "" Sitten MsgBox "-salasana ei voi olla tyhjä !! ! ", vbInformation," Password "Exit Sub End If If Zone_List_ComboBox.Value =" Järjestelmänvalvoja "ja Password_TB.Value =" Järjestelmänvalvoja "Lataa sitten Dim Dim Ws laskentataulukoksi jokaiselle W: lle ActiveWorkbook.Worksheets Ws.Visible = xlSheetVisible Next Ws Sheets Valitse Muu hämärä vyöhykenimi merkkijonoksi Himmennetty salasana muunnelmana ZoneName = Zone_List_ComboBox.Value Password = Application.WorksheetFunction.VLookup (ZoneName, Sheets ("Admin"). Range ("A: B"), 2, 0 ) Jos Salasanan salasana_TB.arvo, MsgBox "Salasana ei täsmää", vbInformation,"Väärä salasana" Exit Sub End Jos Jos salasana = Salasana_TB.arvo Sitten pura Me Sheets (ZoneName) .Visible = True Sheets (ZoneName) .Valitse ActiveSheet.Range ("A1"). Valitse End Jos End Jos End Sub
Vastaavasti kaksoisnapsauta "Kirjaudu ulos" -komentopainiketta ja kirjoita alla oleva koodi.
Koodi:
Yksityinen alalogiOut_CommandButton_Click () ThisWorkbook.Save ThisWorkbook.Sulje End Sub
Kaksoisnapsauta nyt "Käyttäjän lomake" (ei mitään lisättyjä painikkeita) ja lisää alla oleva koodi.
Koodi:
Private Sub UserForm_QueryClose (Peruuta kokonaislukuna, Sulje tila kokonaislukuna) 'Estää Sulje-painikkeen käytön, jos CloseMode = vbFormControlMenu Sitten MsgBox "Sulje-painikkeen napsauttaminen ei toimi." Peruuta = True End Jos End Sub
- Kaksoisnapsauta nyt ”ThisWorkbook” -kuvaketta. Tämä avautuu tyhjän koodikentän alle.
Lisää nyt alla oleva koodi tähän tyhjään kenttään.
Koodi:
Yksityinen alityökirja_Avaa () Himmennä Ws laskentataulukkoa Application.DisplayAlerts = False Application.ScreenUpdating = Epätosi jokaiselle ActiveWorkbookin W: lle.Worksheet
- Olemme suorittaneet lomakkeen koodaavan osan. Tallenna työkirja "Macro-Enabled" -työkirjaksi ja avaa työkirja uudelleen. Kun avaat työkirjan uudelleen, meidän pitäisi nähdä alla oleva ikkuna.
- Tästä käyttäjälomakkeesta meidän on valittava kyseisen vyöhykkeen nimi ja annettava siihen liittyvä salasana. Esimerkiksi valitsen avattavasta valikosta itäisen alueen ja annan salasanan.
- Jos napsautan "Kirjaudu sisään", voimme nähdä vain "Itä" -vyöhykkeen laskentataulukon.
Vastaavasti, jos kirjaudumme sisään järjestelmänvalvojalla, voimme käyttää kaikkia laskentataulukoita.
Näin voimme luoda kirjautumiseen perustuvan salasanasuojatun laskentataulukon käytön.
Muistettavaa
- Sinun on käytettävä samoja nimiä, jotka olemme antaneet käyttäjälomakkeelle, tekstiruudulle, komentopainikkeelle ja yhdistelmäruudulle koodauksessa.
- Voit vaihtaa vyöhykkeen nimen ja salasanan toiveidesi mukaan.