Bună ziua! Astăzi, vom vorbi despre lucrul cu formularele VBA și, de asemenea, vom lua în considerare noțiunile de filtre și steaguri în VBA.
Formulare în VBA
Mai întâi un pic de teorie. Forma este în multe privințe doar un container pentru stocarea altor controale. Un fel de intermediar între utilizator și programator. Formularul din VBA este necesar pentru a limita utilizatorul prin apăsarea anumitor butoane și pentru a nu permite interferențe inutile în codul programului.
Unele proprietăți de bază ale obiectului Form (UserForm):
Nume - această proprietate conține numele formularului sau, mai precis, numele obiectului. Trebuie înțeles că această valoare este disponibilă numai în corpul programului și nu afectează rezultatul final.
BackColor - conține culoarea de fundal.
BorderColor - culoarea cadrului.
Caption - proprietatea definește antetul formei, de fapt, este același titlu al ferestrei programului. În mod implicit, această proprietate conține aceeași valoare ca proprietatea Nume.
Enabled (Activat) - ia o logică Adevărată sau Falsă și determină dacă formularul este disponibil.
ShowModal - poate lua doar valori logice. Adevărat - până la închiderea formularului curent, nu va fi disponibil un alt formular sau întoarcerea la document.
Font - definește fontul.
ForeColor - definește culoarea prim-planului formei, de exemplu, culoarea textului.
Steaguri și filtre
Steagurile sunt, de asemenea, numite casetele de selectare în programare. Doar valorile logice pot fi acceptate. De obicei, steagurile sunt plasate în fața întrebărilor (cum ar fi răspunsul Da / Nu) sau funcțiile (executați / nu se execută).
Filtrele - pe scurt, procesul de verificare a unei afecțiuni.
Acum, ia în considerare un exemplu care reflectă munca cu formulare, cu steaguri și filtre în VBA.
Se dă un tabel de 4x5, în fiecare celul dintre care numerele sunt scrise, "+". "-". cuvinte care încep cu litere mari și mici și simboluri care nu au legătură cu alfabetul. Trebuie să creați un formular personalizat cu un set de opțiuni de filtrare diferite.
Masa arată astfel:
![Lucrul cu formularele din vba (excel) (accept doar logic) Lucrul cu formularele din vba (excel)](https://images-on-off.com/images/186/rabotasformamivvbaexcel-ce9dab06.jpg)
Creați formulare
În cod, există o mulțime de comenzi de configurare și validare pentru formular, astfel încât să se excludă erorile ca rezultat. Vom analiza doar algoritmii de bază, veți găsi tot codul din codul sursă de mai jos.
Sub butonul de calcul există un astfel de cod:
Cu acest ciclu, găsim toate CheckBox-urile și scriem valorile lor într-o matrice, astfel încât să putem lucra mai convenabil.
Deoarece codul este foarte greoi, recomand că vă recomandăm să descărcați fișierele sursă de mai jos.
În primul rând, curățim forma. Apoi vom scrie condițiile în ciclu, în funcție de steagurile "ridicate". Comenzile pr_chislo. pr_plus. pr_text apelează funcțiile Booleene corespunzătoare, care vor fi în codul sursă de mai jos.
Pe baza valorilor returnate din funcții, construim un tabel. Celula care nu a fost filtrată este scrisă ca
Noi scriem matricea noastră în a doua formă.
Acest lucru se încheie.