Formanty ActiveX w Excel VBA

1. Wstęp do formantów ActiveX.

Formanty ActiveX, to kontrolki, za pomocą których możemy wizualizować nasze aplikacje w Excelu. Formanty ActiveX dostępne w karcie Developer stosujemy przede wszystkim do budowy prostych aplikacji działających pod Excelem. Do budowy nieco trudniejszych aplikacji będziemy używać formularzy UserForm dostępnych w Edytorze VisualBasic. By skorzystać z formantów ActiveX w Excelu wchodzimy w kartę Deweloper, następnie Wstaw > Kontrolki ActiveX.

Kurs Excel VBA - Formanty ActiveX

Kurs Excel VBA – Formanty ActiveX

Spośród najpopularniejszych formantów ActiveX wyróżniamy:

  • Etykieta
  • Przycisk polecenia
  • Pole kombi
  • Pole listy
  • Pole wyboru
  • Pole tekstowe
  • Pasek przewijania
  • Przycisk pokrętła
  • Przycisk opcji
  • Obraz
  • Przycisk przełącznika

Prócz wymienionych formantów Excel umożliwia nam korzystanie z formantów innych aplikacji. To jednak omówimy w osobnym rozdziale. Do każdego z wymienionych formantów możemy przypisać kod VBA, a nie tylko makro jak to jest w przypadku formantów formularza. Co więcej, możemy określić jakie działanie na formancie będzie skutkowało uruchomieniem kodu. By sprawdzić, jakie działanie może uruchamiać nasz kod, wybierzmy dowolny formant np Przycisk polecenia. Wstawmy formant do naszego arkusza. Klikając prawym przyciskiem myszy wybieramy „Wyświetl kod„.

Kurs Excel VBA - Formanty ActiveX

Kurs Excel VBA – Formanty ActiveX

Jak widzimy, prócz ustawienia kodu, uruchamianego kliknięciem myszy możemy także wybrać dwuklik, akcje generowane samym przejechaniem kursora myszy itp. My oczywiście na początku będziemy przede wszystkim korzystać ze zwykłego kliknięcia. Zróbmy przykład wykorzystujący wszystkie z poznanych formantów ActiveX. Naszym celem będzie zbudowanie krótkiej aplikacji do wprowadzania danych osobowych. Stwórzmy w tym celu nowy plik Excela. Nazwijmy go „Wprowadzanie_danych_osobowych.xlsm” i zapiszmy jako Skoroszyt programu Excel z obsługą makr. W Arkuszu1 pokolorujmy wiersze od 1 do 6 na kolor szary, polepszy to estetykę naszej aplikacji. W Zakładce Widok zablokujmy też okienka od 1 do 6. Zakładka Widok > Zablokuj okienka. Zaznaczamy wiersze 1 do 7 i klikamy „Zablokuj okienka”. Teraz możemy przewijać nasz arkusz mając zawsze widoczne wiersze od 1 do 6. To właśnie w tych wierszach osadzimy nasz formularz. Zaczynając od wiersza nr 6 stwórzmy tabelę i nazwijmy kolumny w sposób opisany na poniższym screenie. Kolejno powinny to być: ID, Imię, Nazwisko, E-mail, Region, Wiek, Płeć, Zainteresowania, Zgoda marketingowa.

Kurs Excel VBA - Formanty ActiveX

Kurs Excel VBA – Formanty ActiveX

2. Przycisk polecenia – CommandButton (Formant ActiveX) 

Przycisk polecenia jest już nam znany. Formant wprowadźmy nad kolumną ID. W naszej aplikacji przycisk będzie uruchamiał makro wprowadzające dane do tabeli. Osadzamy przycisk nad polem ID. Następnie klikamy na niego dwukrotnie, co powinno skutkować otwarciem okna Edytora VisualBasic. Powinien pojawić się następujący kod:

Private Sub CommandButton1_Click()
End Sub

Kod zmieniamy zgodnie z założeniami naszej aplikacji, a więc:

Private Sub CommandButton1_Click()

Dim intId As Integer
Dim intRow As Integer
Dim intCounter As Integer

intId = 1

intId = 1 + Application.WorksheetFunction.Max(Range("A:A"))
intRow = 6 + Application.WorksheetFunction.CountA(Range("B:B"))

intId = intId + 1

End Sub

Ok, mamy już nasz przycisk do wprowadzania danych. Kliknijmy prawym przyciskiem myszy na przycisk, a następnie „Właściwości„. Pokaże nam się okienko Propierties.  Z właściwości Properties przycisku polecenia powinniśmy znać przede wszystkim:

  • (name) – jest to nazwa naszego obiektu, do której będziemy się odwoływać w kodzie VBA.
  • Caption – jest to etykieta przycisku.

Dla naszego przycisku pole Caption uzupełniamy wartością Wprowadź dane.

3. Pole tekstowe – TextBox (Formant ActiveX) 

Przejdźmy do wprowadzenia pól tekstowych dla danych. Z przybornika formantów ActiveX wybieramy formant Pole tekstowe. Formanty układamy nad naszymi kolumnami. Wstawione pola tekstowe układamy obok siebie, tak by całość wyglądała estetycznie. W ten sposób wprowadziliśmy do naszego arkusza obiekty TextBox1, TextBox2 TextBox3. Nazwy te będziemy stosować w późniejszych krokach. Znajdujemy się obecnie w trybie projektowania. Jeśli chcemy wyłączyć tryb projektowania i korzystać z naszego arkusza, odklikujemy opcję Tryb Projektowania w zakładce „Deweloper”.

formanty activex excel vba pole tekstowe

formanty activex excel vba pole tekstowe

Kliknijmy prawym przyciskiem myszy na pole TextBox1, a następnie „Właściwości„. Pokaże nam się okienko Propierties naszego Formantu TextBox1. Z najważniejszych właściwości, których często będziemy używać są:

  • (name) – jest to nazwa naszego obiektu, do której będziemy się odwoływać w kodzie VBA.
  • Value – jest to wartość, początkowa dla naszego pola

Dodaj komentarz

Twój adres email nie zostanie opublikowany.