/ / Colecția de controale VBA Excel

Excel Collection VBA Controls

Când se creează Userforms în Excel VBA, puteți utiliza funcția Controlul colectării pentru a bifa cu ușurință comenzile și a seta o proprietate a fiecărui control la o anumită valoare.

Formularul de utilizator pe care îl vom crea arată după cum urmează:

Controlează colecția în Excel VBA

Pentru a crea această formă de utilizator, executați următorii pași:

1. Deschideți Editorul Visual Basic. Dacă Project Explorer nu este vizibil, faceți clic pe Vizualizare, Project Explorer.

2. Faceți clic pe Inserare, Formă utilizator. Dacă Toolbox-ul nu apare automat, faceți clic pe View (Vizualizare), Toolbox (Instrumente). Ecranul dvs. trebuie să fie configurat ca mai jos.

Setarea ecranului utilizatorului în Excel VBA

3. Adăugați etichetele, cutiile de text (mai întâi în partea de sus, a doua sub prima și așa mai departe) și butonul de comandă. Odată terminată, rezultatul ar trebui să fie în concordanță cu imaginea formularului de utilizator afișat mai devreme. De exemplu, creați un control al casetei de text făcând clic pe TextBox din caseta de instrumente. Apoi, puteți glisa o casetă de text pe Userform.

4. Pentru a modifica legenda butonului Userform, label și command, faceți clic pe View, Window Properties și faceți clic pe fiecare control.

5. Pentru a afișa Userform, plasați un buton de comandă pe foaia de lucru și adăugați următoarea linie de cod:

Private Sub CommandButton1_Click()

UserForm1.Show vbModeless

End Sub

Explicație: adăugând vbModeless, aveți posibilitatea să utilizați Userform și să lucrați în foaia de lucru în același timp.

Am creat acum prima parte a Userform. Deși arată deja bine, nimic nu se va întâmpla încă atunci când faceți clic pe butonul de comandă de pe Userform.

6. Deschideți Editorul Visual Basic.

7. În Project Explorer, faceți dublu clic pe UserForm1.

8. Faceți dublu clic pe butonul de comandă.

9. Adăugați următoarele linii de cod:

Private Sub CommandButton1_Click()

Dim i As Integer

For i = 1 To 10
    Controls("TextBox" & i).Value = Cells(i + 1, 1).Value
Next i

End Sub

Explicaţie: Cu doar câteva linii de cod, putem completa cutiile de text cu numerele de telefon din foaie. Am folosit operatorul & pentru a concatena (îmbina) elementele. Aceste linii de cod funcționează deoarece nu am schimbat numele controalelor din caseta de text (TextBox1, TextBox2, TextBox3, etc). Pentru a schimba numele controalelor, faceți clic pe Vizualizare, fereastra de proprietăți și faceți clic pe fiecare control.

Rezultat când faceți clic pe butonul de comandă de pe foaie:

Controlează rezultatul colectării

De asemenea, citiți: