/ / Pole listy Excel VBA

Pole listy Excel VBA

Pole listy to lista, z której użytkownik może wybrać pozycję. Stworzyć skrzynka na listy w Excel VBA, wykonaj następujące kroki.

1. Na karcie Deweloper kliknij przycisk Wstaw.

2. W grupie Formanty ActiveX kliknij pole Lista.

Utwórz pole listy w programie Excel VBA

3. Przeciągnij pole listy w arkuszu.

Przeciągnij pole listy

Uwaga: możesz zmienić nazwę kontrolki, klikając prawym przyciskiem myszy kontrolkę (upewnij się, że wybrano Tryb projektowania), a następnie klikając Właściwości. Na razie zostawimy ListBox1 jako nazwę pola listy.

Utwórz otwarte wydarzenie ze skoroszytu. Kod dodany do Workbook Open Event zostanie wykonany przez Excel VBA po otwarciu skoroszytu.

4. Otwórz Edytor Visual Basic.

5. Kliknij dwukrotnie na ten skoroszyt w eksploratorze projektu.

6. Wybierz Skoroszyt z lewej rozwijanej listy i wybierz Otwórz z prawej rozwijanej listy.

Workbook Open Event w programie Excel VBA

7. Aby dodać elementy do listy, dodaj następujące linie kodu do zdarzenia Workbook Open:

With Sheet1.ListBox1
    .AddItem "Paris"
    .AddItem "New York"
    .AddItem "London"
End With

Uwaga: użyj arkusza Arkusz2, jeśli pole listy znajduje się na drugim arkuszu, Arkusz 3, jeśli pole listy znajduje się na trzecim arkuszu itp. Jeśli używasz tych linii kodu poza zdarzeniem Workbook Open, możesz dodać następującą linię kodu przed tymi linie kodu. Ta linia kodu usuwa pole listy. W ten sposób Twoje przedmioty nie zostaną dodane wiele razy, jeśli wykonasz swój kod więcej niż raz.

ListBox1.Clear

8. Aby połączyć to pole listy z komórką, kliknij prawym przyciskiem myszy na polu listy (upewnij się, że wybrano tryb projektowania) i kliknij Właściwości. Wypełnij D3 dla LinkedCell.

LinkedCell

Uwaga: zobacz także właściwość ListFillRange, aby wypełnić pole listy zakresem komórek.

9. Zapisz, zamknij i ponownie otwórz plik Excel.

Wynik:

Skrzynka na listy

Chociaż w niektórych sytuacjach może być przydatne bezpośrednie umieszczenie pola listy w arkuszu roboczym, okno listy jest szczególnie użyteczne po umieszczeniu w formularzu użytkownika.

Przeczytaj również: