/ / Excel VBA Controls Collection

Excel VBA Controls Collection

Når du lager Userforms i Excel VBA, kan du bruke Kontrollerer samling å enkelt gå gjennom kontroller og sette en egenskap av hver kontroll til en bestemt verdi.

Brukerformen vi skal lage, ser ut som følger:

Kontrollerer samling i Excel VBA

For å opprette denne brukerformen, utfør følgende trinn:

1. Åpne Visual Basic Editor. Hvis Project Explorer ikke er synlig, klikker du på Vis, Project Explorer.

2. Klikk på Sett inn, Brukerform. Hvis Verktøykassen ikke vises automatisk, klikker du på Vis, Verktøykasse. Skjermen din bør settes opp som nedenfor.

Userform Screen Setup i Excel VBA

3. Legg til etiketten, tekstbokser (først øverst, den andre under den første og så videre) og kommandoknappen. Når dette er fullført, bør resultatet være i tråd med bildet av brukerformen som ble vist tidligere. For eksempel, opprett en tekstbokskontroll ved å klikke på Tekstboks fra Verktøykassen. Deretter kan du dra en tekstboks på brukerformularen.

4. Hvis du vil endre bildeteksten til brukerformat, etikett og kommandoknapp, klikker du på Vis, Egenskaper Vindu og klikker på hver kontroll.

5. For å vise brukerformatet, legg en kommandoknapp på regnearket og legg til følgende kodelinje:

Private Sub CommandButton1_Click()

UserForm1.Show vbModeless

End Sub

Forklaring: Ved å legge til vbModeless, kan du bruke Brukerform og arbeide i regnearket samtidig.

Vi har nå opprettet den første delen av brukerformen. Selv om det ser pent ut, vil ingenting skje ennå når vi klikker på kommandoknappen på Brukerform.

6. Åpne Visual Basic Editor.

7. Dobbeltklikk på UserForm1 i Project Explorer.

8. Dobbeltklikk på kommandoknappen.

9. Legg til følgende kodelinjer:

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

Forklaring: Med bare noen få linjer med kode, kan vi fylle ut tekstfeltene med telefonnumrene fra arket. Vi brukte & operatøren til å sammenkoble (bli med) elementene. Disse kodelinjene virker fordi vi ikke forandret navnene på tekstbokskontrollene (TextBox1, TextBox2, TextBox3 osv.). Hvis du vil endre navnene på kontrollene, klikker du Vis, Egenskaper-vindu og klikker på hver kontroll.

Resultat når du klikker på kommandoknappen på arket:

Kontrollerer samlingsresultat

Les også: