Kontrolki VBA w programie Excel: formularze i kontrolki ActiveX
⚡ Inteligentne podsumowanie
Kontrolki VBA w programie Excel to interaktywne elementy, takie jak przyciski, pola wyboru i pola tekstowe, które tworzą graficzny interfejs użytkownika. Ta strona wyjaśnia kontrolki formularzy i kontrolki ActiveX, różnice między nimi oraz krok po kroku przykład przycisku polecenia ActiveX.

Kontrole VBA: Kontrola formularzy VBA i kontrolki ActiveX w Excelu
Kontrolki formularzy VBA/GUI w programie Excel
GUI to skrót od Graphical User Interface (graficzny interfejs użytkownika). GUI to część programu, z którą użytkownik wchodzi w interakcję. GUI składa się z kontrolek. Te kontrolki Excel VBA mogą być używane w formularzu. Poniższa tabela przedstawia niektóre z najczęściej używanych kontrolek GUI VBA.
| S / N | Control: | OPIS |
|---|---|---|
| 1 | Command | Służy do wykonywania kodu |
| 2 | Combo Box | Służy do prezentowania użytkownikom rozwijanej listy |
| 3 | Sprawdź Box | Używane dla wartości true lub false. Wiele pól wyboru może mieć wartość true w tym samym czasie. |
| 4 | Lista Box | Służy do prezentowania użytkownikom prostej listy |
| 5 | Tekst Box | Służy do akceptowania danych wejściowych użytkownika |
| 6 | Pasek przewijania | Służy do zapewnienia paska przewijania do celów nawigacji. |
| 7 | Przycisk Spin | Służy do zwiększania lub zmniejszania wartości liczbowych poprzez klikanie strzałek w górę lub w dół wyświetlanych na przycisku pokrętła |
| 8 | Przycisk opcji | Używane do wartości prawdziwych lub fałszywych. W danej chwili tylko jeden przycisk opcji może mieć wartość prawdziwą. |
| 9 | Etykieta | Służy do wyświetlania użytkownikowi statycznego tekstu |
| 10 | Obraz | Służy do wyświetlania obrazów |
| 11 | Toggle Przycisk | Przycisk, który ma stany wciśnięty i nienaciśnięty. |
W kontrolce GUI VBA,
- Kliknij kartę programisty
- Kliknij przycisk Wstaw rozwijany
Pojawi się następujący panel rozwijany
Jeśli najedziesz myszką na kontrolki formularza VBA, pojawi się nazwa kontrolki, jak pokazano poniżej
Dodawanie elementów sterujących GUI do arkusza kalkulacyjnego
Teraz dodamy przycisk poleceń do naszego skoroszytu, w tym celu musimy
- Kliknij menu Wstaw
- Kliknij przycisk polecenia (kontrolka ActiveX), jak pokazano na powyższym obrazku
- Przeciągnij i narysuj przycisk na arkuszu
Ustawianie właściwości kontroli GUI
Ustawimy teraz podpis przycisku na bardziej opisowy
- Kliknij prawym przyciskiem myszy przycisk równości, który właśnie utworzyliśmy
- Wybierz menu właściwości
- Zostanie wyświetlone następujące okno właściwości
- Ustaw właściwość name na btnButton. Właściwość name służy do identyfikacji kontrolki w oknie kodu. btn jest przedrostkiem przycisku.
- Ustaw właściwość Podpis na opcję Kliknij mnie. Tekst we właściwości caption jest tym, co użytkownicy zobaczą na przycisku.
Kiedy skończysz, zamknij okno.
Otrzymasz następujące wyniki.
Różnica między kontrolkami formularza a kontrolkami ActiveX
Excel oferuje dwie rodziny kontrolek, a wybór odpowiedniej ułatwia realizację projektu. Kontrolki formularzy są wbudowane w Excela i uruchamiają pojedyncze, przypisane makro, natomiast kontrolki ActiveX to programowalne obiekty, które reagują na wiele zdarzeń za pośrednictwem kodu VBA. Poniższa tabela porównuje te dwie rodziny.
| Cecha | Form kontroli | Kontrolki ActiveX |
|---|---|---|
| ustawienie | Proste; przypisz jedno makro do kontrolki | Wymaga kodu zdarzenia VBA, aby odpowiedzieć |
| Właściwości | Ograniczony zestaw opcji | Obszerny, obejmujący czcionkę, kolor i zachowanie |
| Wydarzenia | Pojedyncza akcja po kliknięciu | Wiele wydarzeń, takich jak Click, Change i GotFocus |
| zgodność | Działa na Windows i Mac Excel | Działa na Windows Tylko Excel |
| Najlepiej nadaje się do | Szybkie i proste zadania arkusza kalkulacyjnego | Interaktywne i dynamiczne formularze użytkownika |
Krótko mówiąc, należy używać kontrolki formularza, gdy wystarczy pojedyncza makroinstrukcja, natomiast kontrolkę ActiveX należy wybrać, gdy interfejs wymaga rozbudowanych właściwości lub musi reagować na kilka zdarzeń użytkownika.
Przesłanka
Przed utworzeniem przykładu ActiveX należy przygotować skoroszyt tak, aby kontrolki były dostępne, a makra mogły zostać zapisane.
Konfigurowanie Microsoft przewyższać
Jak widzieliśmy w poprzednim samouczku, upewnij się, że na wstążce znajduje się ikona „Programista”, jak pokazano tutaj.
Teraz zmień nazwę arkusza 1 na „VBA Opera„tor”, jak pokazano na zrzucie ekranu poniżej. Zapisz skoroszyt w pliku Excel Macro-Enabled Workbook (*.xlsm) z rozszerzeniem pliku (patrz obrazek poniżej).
Następnie kliknij przycisk Zapisz.
Jak korzystać z kontrolki ActiveX w VBA
Mając gotowy skoroszyt, możemy dodać działający przycisk ActiveX. W tej sekcji dotyczącej kontrolki ActiveX w programie Excel pokażemy, jak włączyć przycisk „commandclick” w VBA i uruchomić program za pomocą tego przycisku.
Krok 1) W tym kroku kliknij opcję „przycisk wstawiania” w kontrolce Active X. Następnie wybierz z niego opcję przycisku polecenia.
Krok 2) Aby wstawić „clickcommandbutton1” przeciągnij kursor myszy do arkusza Excel.
Krok 3) Następnie kliknij prawym przyciskiem myszy przycisk polecenia i wybierz opcję „Widok Code".
Krok 4) Sprawdź, czy jesteś na właściwym arkuszu. Otworzy się edytor kodu. Wpisz swój kod.
- W kodzie zdefiniowaliśmy zakres od A1 do A10.
- Ten zakres określa numer komórki w arkuszu Excel od „A1 do A10”.
- Następnie definiujemy ciąg „Guru99 samouczek VBA” w kodzie
- Więc po kliknięciu „przycisku polecenia” w Excelu powinno pojawić się „Guru99 VBA Tutorial” w zakresie komórek „A1 do A10”.
Krok 5) W następnym kroku zapisz plik kodu, a następnie wyjdź z edytora. Aby powrócić do pliku Excel kliknij ikonę arkusza Excel po skrajnej lewej stronie.
Krok 6) W arkuszu programu Excel zobaczysz, że karta Tryb projektowania jest włączona. Upewnij się, że jest „WYŁĄCZONY”, w przeciwnym razie Twój kod nie będzie działać.
Krok 7) Gdy tryb projektowania jest wyłączony, nie będzie na nim zielonego podświetlenia. Teraz możesz kliknąć przycisk polecenia.
Krok 8) Kliknij „CommandButton1”. Zostanie wydrukowane „Guru99 VBA Tutorial” w zakresie komórek „A1 do A10”.
Pobierz Excel zawierający powyższy kod
Typowe zdarzenia kontrolek ActiveX w języku VBA
Kontrolka ActiveX jest potężna, ponieważ reaguje na zdarzenia, czyli czynności wykonywane przez użytkownika na kontrolce. Każde zdarzenie uruchamia własną podprocedurę, więc ten sam przycisk może zachowywać się inaczej w zależności od działania użytkownika. Poniżej wymieniono najczęściej występujące zdarzenia.
- Kliknij – uruchamia kod, gdy użytkownik kliknie kontrolkę, zdarzenie użyte w przykładzie powyżej.
- zmiana – uruchamia się, gdy zmienia się wartość kontrolki, np.ping w polu tekstowym lub wybierając element pola kombi.
- GotFocus / LostFocus – uruchamia się, gdy kontrolka uzyskuje lub traci fokus, przydatne do sprawdzania poprawności danych wejściowych.
- Naciśnięcie klawisza – uruchamia się, gdy użytkownik naciśnie klawisz, gdy sterowanie jest aktywne.
- Ruch myszy – uruchamia się, gdy wskaźnik myszy znajdzie się nad kontrolką.
- Podwójne kliknięcie – uruchamia się, gdy użytkownik kliknie dwukrotnie kontrolkę.
Aby dodać kod dla dowolnego zdarzenia, włącz tryb projektowania, kliknij prawym przyciskiem myszy kontrolkę i wybierz opcję Widok Codei wybierz zdarzenie z listy rozwijanej znajdującej się na górze okna kodu.
















