Noțiuni introductive despre Excel VBA UserForms

Anonim


În acest articol, veți afla elementele de bază ale formelor de utilizator VBA. Voi explica cum să creați un formular în Excel, cum să utilizați setul de instrumente VBA, cum să gestionați intrările utilizatorului și, în cele din urmă, cum să stocați intrările utilizatorului. Vom trece prin aceste subiecte folosind un exemplu și un ghid pas cu pas. Dacă citiți acest lucru, presupun că știți elementele de bază ale Excel VBA.
Fără întârziere, să începem.
Creați un formular pentru investiții în Excel și înregistrați magazinul
Vom începe prin proiectarea formularului de utilizator. În această formă de utilizator, vom avea o casetă text pentru nume, una pentru vârstă, una pentru suma investiției și o pereche de butoane radio pentru sex. Să începem.

Proiectați forma de utilizator

  • Deschideți editorul de bază vizual în Excel folosind comanda rapidă ALT + F11. În Project Box, faceți clic dreapta pe VBAProject(fișierul tău). În introduce opțiune, alegeți UserForm.
  • Imediat, va fi creat un nou folder și forma dvs. de utilizator va fi găsită a lor. Toate formele de utilizator pentru acest proiect vor fi adăugate în acest folder.
  • Schimbați numele formularului în InvestmentForm în caseta de proprietate.
  • Caseta de proprietăți este afișată în stânga jos a exploratorului de proiecte. Dacă nu îl puteți vedea, accesați vizualizarea și dați clic pe Fereastra Proprietăți. Îl vom folosi foarte mult, deci asigurați-vă că este acolo. Este utilizat pentru stilizarea, denumirea și personalizarea formularelor.

  • Adăugați elemente pentru a forma: În imaginea de mai sus am adăugat deja elemente (etichete, casetă text, buton de comandă). Cu toate acestea, un nou formular de utilizator este complet gol. Trebuie să utilizați caseta de instrumente pentru a adăuga elemente la formularul dvs. Dacă nu puteți vedea caseta de instrumente, obțineți-o de la vedere filă.

  • Adăugați etichete folosind caseta de instrumente pentru nume descriptive. Adăugați casetă text pentru intrările utilizatorilor.

    Adăugați două butoane radio și denumiți-le Bărbat și Femeie.

    Am folosit un cadru pentru a le încapsula, dar nu este necesar.

    Adăugați butoane de comandă Trimite și Anulare pentru a efectua operația la intrarea dată.

  • Elemente de nume: Caseta de text, etichetele, butoanele etc. toate sunt elemente. Și pentru a le utiliza în codul VBA trebuie să le dăm nume. Folosim fereastra de proprietăți pentru a le schimba numele.
  • Selectați elementul. Aici sunt selectat caseta de text pentru nume. Accesați fereastra proprietății și schimbați numele în „NameBox”. Faceți același lucru pentru fiecare element pe care urmează să îl utilizați. (nu este nevoie să denumiți etichete, cu excepția cazului în care doriți ca acestea să poată fi făcute clic.)


Am redenumit elementul ca în tabelul de mai jos și voi folosi aceste nume pentru a mă referi la ele. Puteți avea nume diferite. Doar înlocuiți aceste nume cu numele dvs. Acestea sunt nume VBA (nume de cod) care vor fi utilizate în cod. Ele nu vor fi reflectate în formă.
Textul pe care îl puteți vedea pe etichete și butoane este „Subtitrări”. Numele și legenda elementului pot fi aceleași, dacă doriți.

Element Redenumiți
Casetă text nume NameBox
Casetă text vârstă AgeBox
Buton de opțiune pentru bărbați MaleOption
Buton de opțiune feminin FemaleOption
Casetă text de investiții InvestBox
Trimiteți butonul de comandă Buton de trimitere
Butonul de comandă Anulare Buton Anulare
  • Afișați formularul utilizatorului către utilizator: acum formularul este gata, să-l arătăm utilizatorului. Dar așteaptă, cum fac asta. Nu există nicio opțiune în foaia de lucru pentru a apela formularul de utilizator.
  • De fapt, formularul de utilizator are nevoie de declanșator. Nu poate fi arătat de la sine. Puteți utiliza, un buton de comandă, un subrutină sau un eveniment pentru a face ca formularul să apară pe ecran.

    Aici voi folosi un buton de comandă pentru a declanșa formularul de utilizator.

    • Pe o foaie de lucru, accesați fila dezvoltatori? Introduce? Buton (control formular). Redenumiți formularul deschis.
    • Faceți clic dreapta pe el. Faceți clic pe atribuire macro și apoi faceți clic pe nou.

  • Un sub va fi creat imediat. Acum adăugați această linie la acel sub.
Sub Open_Form () 'Formular de deschidere InvestmentForm.Show End Sub 

E gata. Reveniți la acea foaie și faceți clic pe buton. Formularul de utilizator va apărea.

  • Completați foaia utilizând formularul de utilizator VBA: Când am făcut clic pe butonul de comandă (formular deschis), formularul apare. Acum puteți completa formularul. Dar când facem clic pe butonul de trimitere, datele ar fi trebuit să fie introduse pe această foaie, dar nu se întâmplă nimic.

Pentru că nu am scris nicio instrucțiune vba pentru asta. Trebuie să stocăm datele formularului utilizatorului în foaie.

  • Reveniți la VBA și faceți dublu clic pe Trimite buton. Un nou sub va fi creat automat. Acest sub este încorporat în formular și nu îl puteți găsi în niciun modul. Acest lucru este același pentru fiecare element de formă.
  • Scrieți acest cod vba în acel sub.
 Private Sub SubmitButton_Click () Sheet 1. Activați „obțineți primul rând gol pe foaie (citiți aici) lstrow = Celule (Rows.Count, 1). End (xlUp) .Row Set firstEmptyRow = Range (" A "& lstrow + 1 ) 'inițializați fiecare celulă cu data firstEmptyRow.Offset (0, 0) .Value = nameBox.Value' prima celulă firstEmptyRow.Offset (0, 1) .Value = AgeBox.Value 'prima celulă la dreapta firstEmptyRow.Offset (0, 3) .Value = InvestBox.Value 'a treia celulă la dreapta' verificând butonul radio If MaleOption.Value = True Then firstEmptyRow.Offset (0, 2) .Value = "Male" 'a doua celulă la dreapta Else firstEmptyRow.Offset ( 0, 2) .Value = a doua celulă „Feminină” la dreapta Sfârșit Dacă „Închidere formular Descarcă-mă Sfârșit Sub 

Fragmentul de mai sus al codului VBA rulează când se face clic pe butonul de trimitere. Găsește primul rând gol de pe foaie și îl umple cu valorile furnizate în formă. Și în cele din urmă închide formularul folosind comanda „Descarcă-mă”.

  • Utilizați comanda Anulare pentru a închide formularul. Deocamdată, butonul de anulare este inutil. Nu face nimic. În cazul în care doriți să anulați intrarea, puteți utiliza butonul de anulare. În acest caz:

Faceți dublu clic pe butonul de comandă anulare din editorul VBA. Se va crea un nou sub. Scrieți doar această linie de cod pentru a închide formularul de utilizator.

 Private Sub CancelButton_Click () 'Formular de închidere Descarcă-mă End Sub 

În cele din urmă, codul formularului va arăta astfel.

Si asta e. Acesta este modul în care utilizați formularul de utilizator excel vba pentru a obține intrări de la utilizatori. În acest articol, tocmai am explorat utilizarea de bază a formei de utilizator, astfel încât să vă familiarizați cu ea. Este simplu, dacă aveți cunoștințe despre VBA de bază.

În articolele viitoare, vom explora funcționalități mai avansate ale formelor de utilizator vba în Excel. Vom crea forma de utilizator în Excel pentru a face mult mai mult. Vom explora diferite instrumente și elemente disponibile pentru forma de utilizator vba. Până atunci practică acest lucru. Puteți descărca acest fișier pentru referință, dacă doriți.
Deci da, băieți, acesta a fost un tutorial mic și simplu de formă de utilizator. Sper că a fost inventiv. Spuneți-mi dacă aveți îndoieli cu privire la acest lucru, anunțați-mă în secțiunea de comentarii de mai jos.
Articole similare

Modificați valoarea / conținutul mai multor controale UserForm utilizând VBA în Excel

Împiedicați închiderea unui formular de utilizator atunci când utilizatorul face clic pe butonul x folosind VBA în Excel

Returnați celulele la care face referire utilizatorul utilizând controlul RefEdit al formei de utilizator în Excel
Articole populare:
Funcția VLOOKUP în Excel

COUNTIF în Excel 2016

Cum se utilizează funcția SUMIF în Excel