Ээм

Excel VBA - Кирүү формасын түзүү боюнча колдонмо

Автор: Laura McKinney
Жаратылган Күнү: 9 Апрель 2021
Жаңыртуу Күнү: 13 Май 2024
Anonim
Excel VBA - Кирүү формасын түзүү боюнча колдонмо - Ээм
Excel VBA - Кирүү формасын түзүү боюнча колдонмо - Ээм

Мазмун

Күнүмдүк тапшырмаларды аткаруунун мыкты жолдорун куруу үчүн VBA / VB.Net колдоном

VBA Кирүү аймагы түшүндүрүлдү

Көптөгөн адамдар Excel программасын күн сайын колдонушат жана эмгек китепчелерин башка колдонуучулар менен бөлүшүшөт. Бөлүшүүнүн көңүлдү ооруткан бөлүктөрүнүн бири - башка адамдар сиздин дайындарыңызды өзгөртүп, түзөтүп же жок кыла алышат. Кирүү аймагын түзүү менен, кире элек баракчаларга кайсы баракчаларды көрүүгө боло тургандыгын көзөмөлдөсөңүз болот. Бул көптөгөн колдонмолордо пайдалуу, мисалы, башкаруу тутумдары, бир нече жумушчу китептердин ордуна маалыматты (мисалы, бюджетти) алыс кармоо кызматкерлердин азыраак улук мүчөлөрүнөн, сиз жөн гана Кирүү тандоосу артында бекитип.

Excelдин чектөөлөрү бар жана VBA жана Microsoft тутумдарынын тажрыйбалуу колдонуучусу ушул Кирүүнү кыйгап өтүшү мүмкүн. Бирок, орточо колдонуучу үчүн ал жетиштүү эмес.


VBA (Visual Basic for Applications) Microsoft тиркемелеринин колдонуучуларына бажы кодун түзүп, андан башкача камтылбаган аракеттерди жасоого мүмкүнчүлүк берет. Ошентип баштайлы.

1-кадам - ​​VBAга кирүү жана форма түзүү

VBAга эки жолдун биринде кирүүгө болот:

  1. Жөн эле ALT + F11 баскычтарын басыңыз.
  2. Жолдорго өтүп, "Көрүүчүнүн табулатурасын" тандап, андан соң Visual Basicти чыкылдатыңыз (2007-жылдан баштап).

Редактор ачылганда, сизге сол жакта ылдый жакта долбоордун менеджери бар боз терезе сунушталат.

Долбоордун менеджери - Бул жерде сиз иш китепчелериңиздин баракчалары, формалар жана модулдар арасында кодду көрүү жана өзгөртүү үчүн өтөсүз.

Азырынча "чыкылдатып"VBAProject (Book1)"(же жумуш китебиңиз кандай аталса) жана" тандаңыз "Кыстаруу" жана андан кийин "Userform’.

Сизге бош форма берилет. Эгерде куралдар кутусу автоматтык түрдө ачылбаса, анда куралдар тилкесиндеги Шпор жана Балканы чагылдырган сүрөтчөнү чыкылдатыңыз. Бул курал кутучасында Кирүү экранын түзүү үчүн керектүү нерселердин бардыгы бар.


2-кадам - ​​Формага элементтерди кошуу

Эми сизде жаңы түзүлгөн форма бар болгондуктан, биз аны Кирүү формасына окшош кылып орнотушубуз керек. Төмөнкү кадамдарды аткарыңыз.

  1. Ичинде Касиеттери терезе (сол жакта) көрөсүз "Аты"талаасы, муну" Кирүү "деп өзгөртүңүз.
  2. UserForm аталышында дагы деле "Userform1" деп жазылганын байкадыңызбы? Ошондой эле "Коштомо жазуу"талааны" Сураныч Кирүү "сыяктуу нерсеге.
  3. Куралдар кутусунан "А" баскычын тандап, UserForm сол жактагы сол бурчуна жарлык коюңуз. "Колдонуучунун атын" окуу үчүн этикетканы түзөтүшүңүз керек. Муну бир жолу чыкылдатып, 2 секунд күтүп, андан кийин дагы бир жолу чыкылдатып (эки жолу чыкылдатуу менен сиз ошол белгинин код экранына өтөсүз) же Коштомо жазуу Касиеттер терезесинде.
  4. Этикетканын көлөмүн текстке дал келгидей кылып өзгөртүңүз, антпесе ал башка нерселер менен дал келиши мүмкүн.
  5. Куралдар кутусунан "AB |" тандаңыз баскычын басып, "Колдонуучунун аты" этикеткасынын астына Текст кутучасын коюңуз.
  6. Жаңы Текст кутусу тандалып алынганда, "Аты"талаасын" Колдонуучунун атына ". Бул аты кийинчерээк жаза турган кодубуздагы Текст кутусуна шилтеме берүү үчүн колдонулат.
  7. "Сырсөз" талаасы үчүн 2-6 кадамдарды кайталаңыз жана Textbox "Сырсөз" деп аталышын камсыз кылыңыз.
  8. "Сырсөз" Текст кутусу тандалып алынганда, "PasswordChar"Properties терезесинен касиет. Бул талаага" * "жайгаштырыңыз, демек, терилген белгилер кадимки сырсөз талаасы сыяктуу жашырылат.
  9. Куралдар кутучасынан, чыкылдатыңыз Буйрук баскычы сүрөтчөсү (боз төрт бурчтукка окшош) жана сырсөз талаасынын астына баскычты тарт. Буйрук баскычынын аталышын "CommandButton1" дан "LoginButton" жана жазууну "Кирүү" деп өзгөртүңүз.
  10. Эми колдонуучунун формасын, мисалдагыдай, ага жайгаштырылган нерселерге ылайыкташтыра аласыз.

Бүттү, форма түзүлдү. Эми ага киргизилген маалыматты эмне кылуу керектигин айтыш үчүн анын артындагы кодду кошушубуз керек.


3-кадам - ​​VBA кодун кошуу

Бул көпчүлүк адамдар түшүнө бербейт, андыктан бир нерсени көчүрүп чаптап коюңуз дегендин ордуна, төмөнкү кадамдарды аткарып, коддун жүрүшү кандай иштээрин түшүнгөнүңүз оң.

Бул колдонмодо колдонуучунун атын "Админ" кылып, сыр сөзүн "1234" кылып орнотобуз.

1. Редактордун терезесинде мурун түзгөн Кирүү баскычын эки жолу чыкылдатыңыз. Көрүнүш "Код көрүнүшү" болуп өзгөрүлүп, төмөнкүлөрдү көрсөтөт:

Private Sub LoginButton_Click () End Sub

Баскычтын бардык коду ушул саптардын арасына жазылышы керек.

2. Колдонуучунун аты-жөнүн "Админ" менен кантип текшерсе болорун Excelге айтып беришибиз керек. Бул үчүн биз жазышыбыз керек:

If Me.Username.Value = "Admin" Анда

Бул сап Excel колдонмосуна "Колдонуучунун аты" деп аталган текст кутусундагы маанинин "Администраторго" барабар экендигин текшерүүсүн айтат.

Төмөндө жазыңыз:

If Me.Password.Value = "1234" Анда

Бул сап Excelге "Сыр сөз" деп аталган текст кутусундагы маанинин "1234" менен барабар экендигин текшерүүсүн айтат.

Эки сап чогулуп, бардык Кирүү маалыматтарынын туура экендигин текшерет. Эми андай болсо VBAга эмне кылуу керектигин айтыш керек. Сиз астына жазыңыз:

LoginFlag = Чыныгы

Бул барактарды ачууда биз текшере турган Кирүү желегин орнотот. Бирок, ал дагы эле орнотула элек. Бул нерсени бир секундадан кийин чагылдырабыз. Эми Excelге баалуулуктарды текшерүүнү токтотуу керектигин жана эгер алар туура эмес болсо, эмне кылуу керектигин айтыш керек. LoginFlag сабынын астына жазыңыз:

Эгер MsgBox "Кечиресиз, Кирүү Туура эмес Туура эмес" болсо, Мени Чыктырыңыз.

"Мени түшүр" билдирүүсү ийгиликтүү кирүүдө форманын жабылышын камсыз кылат. LoginFlag "true" деп коюлса, "Exit Sub" сабы коддун калган бөлүгүн токтотот, эки "End If" оператору Excelге мурун коюлган IF билдирүүлөрүн текшерүүнү токтотушун айтат. Кирүү ийгиликтүү болбой калса, "MsgBox" билдирүүсү калкып чыкма терезени жүктөйт.

Жалпысынан, сиздин кодуңуз ушундай болушу керек.

Private Sub LoginButton_Click () If Me.Username.Value = "Admin" Анда If Me.Password.Value = "1234" Анда LoginFlag = Чыныгы Жүктөө Мени Чыктыруу Sub End If End If MsgBox "Кечиресиз, Кирүү Туура эмес"

Ошентип, LoginFlag жөнүндө эмне айтууга болот? Биз ар дайым акыркы абалды эстеп тургандай кылып орнотушубуз керек. Код токтотулганда VBA бардык өзгөрүлмөлөрдү дароо баштапкы абалга келтирет, андыктан биз аны эсибизге тутушубуз керек.

Долбоордун терезесин оң баскыч менен чыкылдатып, "Кыстаруу", андан кийин "Модуль" (Класстык модул эмес!) Тандап, ага төмөнкүлөрдү көчүрүп алыңыз.

Булег катары Global LoginFlag

"Глобал" Excelге код аткарылып бүткөндөн кийин да өзгөрмө эсинде сакталып кала тургандыгын жана программанын сакталып калган мааниге жетүүсүн камсыз кылганын айтат, "Буль" Excelге бул өзгөрмө чын же жалган деп айтат.

Эми бизге "LoginFlag" чын экендигин текшерип, эмгек китепчесин ачканда желекчени калыбына келтирүү үчүн, коргогубуз келген баракчаларды гана айтуу керек.

4-кадам - ​​Баракчаларды коргоо жана Кирүүнү калыбына келтирүү

Алгач, сизде бирден ашык жок болсо, жаңы баракча түзүңүз.

VBA редакторун кайрадан ачыңыз (ALT + F11 баскычтарын басыңыз). Долбоор терезесинде, Sheet 2 үчүн кодду ачып, жазыңыз:

Private Sub Worksheet_Activate () If LoginFlag = False then Worksheets (1). Login Activate.Show End If End Sub

Бул код LoginFlag жалган экендигин текшерет. Эгерде ал иштөө китебиндеги биринчи баракты ачып, колдонуучу кириши үчүн Кирүү формасын ачат. Бул кодду 1-баракта колдоно албайсыз!

Болду, ал кодду VBA редакторунда коргогусу келген каалаган баракчаңызга көчүрсөңүз болот.

Жумуш китеби ачылганда LoginFlagны баштапкы абалга келтирүү гана калды (эгер ал LoginFlag True деп коюлса, ал Flaseге кайтарылат). Долбоордун терезесинде "ThisWorkbook" деп аталган нерсени ачып, мындай деп жазыңыз:

Private Sub Workbook_Open () LoginFlag = False End Sub

Бүттү, эми баракчаларыңызды көрүүдөн жана түзөтүүдөн коргогон толук кандуу Кирүү тутумуңуз бар. Бирок, адамдар дагы деле болсо өчүрүп, атын өзгөртүп, башка жолдор менен бурмалай алышат! Келечекте, мындай көрүнүштү токтотуу үчүн колдонмолорду издеңиз.

Муну кантип таптыңыз?

Бул макала так жана автордун билими боюнча туура. Мазмун маалыматтык же көңүл ачуу максатында гана иштелип чыккан жана ишкердик, каржылык, юридикалык жана техникалык маселелерде жеке кеңеш же кесипкөй кеңеш менен алмаштырылбайт.

Суроолор жана жооптор

Суроо: Excel-VBA кирүү процессин бир нече колдонуучулар өзүлөрүнүн логинине ээ болуш үчүн өзгөртсө болобу?

Жооп: Ооба, сиз, мисалы, колдонуучуларга windows кирүү колдонуучунун атын кармап, IF колдонмосун аткарып, белгилүү бир колдонуучунун бар-жогун текшерип, анда бул кирүү паролун күтсөңүз болот

Суроо: Windows колдонуучусунун кирүүсүн кантип кармайм?

Жооп: Application.UserName учурдагы кирген жеке колдонуучунун атын кайтарып берет.

Dim Var

Var = Application.UserName

Жогоруда келтирилген учурларда Windows колдонуучусунун кирген колдонуучунун атын камтыган "Var" пайда болот

Кызыктуу Макалалар

Сиз Үчүн

Компьютердик программалоо боюнча окуу куралы - Ортоңку C-Like
Ээм

Компьютердик программалоо боюнча окуу куралы - Ортоңку C-Like

Чарльз технология, медицина, экономика жана тамактанууга кызыккан программалык камсыздоо инженери жана колледждин профессору.Бул макалада сиз С-га окшогон тилдерде программалоо жөнүндө бир нерсе билес...
Инстаграм үчүн 150+ пицца сунуштары жана коштомо жазуулар
Интернет

Инстаграм үчүн 150+ пицца сунуштары жана коштомо жазуулар

Cheeky Kid - Интернетте отуруп, чексиз маалыматты түшүнүп, көңүл ачып, көңүл ачып, көп убакытты сарптаган кибернаут.Салам, пиццаны сүйгөн адам! Сиздин оозуңузду ачкан пиццанын сүрөттөрүнө коштомо жазу...