Kontrolki ActiveX – Etykieta Label w Excel VBA

1. Budowa aplikacji do wprowadzania danych – Wstawianie Etykiety – Label (Formant ActiveX) 

Etykieta Label jest już nam znana i nie powinna wymagać szerszego omówienia. Jak wstawić Etykietę Label? Spośród formantów ActiveX w zakładce Developer wybieramy formant Etykieta. Następnie wstawiamy 3 etykiety obok pól kombi odpowiadających za wprowadzanie dnia, miesiąca i roku. Ich nazwę możemy zmienić we właściwościach formantu edytując pozycję Caption. Następnie wstawmy etykietę nagłówka dla naszej aplikacji. Nazwijmy ją “Wprowadzanie danych”. Wielkość czcionki etykiety możemy zmienić także we właściwościach edytując pozycję Font. Dla potrzeb aplikacji wybierzmy czcionkę 18px.

Kurs Excel VBA - Etykieta Label

Kurs Excel VBA – Etykieta Label

2. Programowanie pozostałych elementów aplikacji

Spośród elementów do zaprogramowania w naszej aplikacji pozostało nam jeszcze wstawianie daty dodania rekordu. Z wykorzystaniem funkcji Date() zmieniamy kod naszego programu w obiekcie Arkusz1.

Poza samą datą wprowadzenia chcielibyśmy, by po każdorazowym wprowadzeniu danych nasz formularz czyścił swoje pola, jak po kliknięciu przycisku “Wyczyść”. Chcielibyśmy także, by wprowadzenie pojedynczego rekordu wywoływało okno MsgBox z informacją o powodzeniu operacji.

Kod naszego programu w obiekcie Arkusz1 wygląda następująco. W dole artykułu załączony został także plik aplikacji, którą napisaliśmy.Tak, tak, to już koniec programowania naszej aplikacji:)

Wprowadzanie_danych_osobowych

3 comments

  1. GreG - Odpowiedz

    W naszej aplikacji chciałbym zablokować komórki w których znajdują sie dane, tak, aby nie można było ich zmienić “z Palca” ale można było nadal wprowadzać dane formularzem.

    • Tomasz Kenig - Odpowiedz

      GreG, tutaj najlepiej pobawić się z ochroną arkusza.
      Arkusz powinien mieć założoną ochornę np kodem:
      ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True
      Program wprowadzający dane powinien wyłączać ochronę na czas wprowadzania danych np makrem:
      ActiveSheet.Unprotect
      Na końcu makra znów powinien znajdować się kod włączający ponownie ochronę:
      ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True

      Komórki arkusza, zawierająca formularz powinny mieć wyłączoną blokadę.
      Formatuj komórki > Ochorona > zablokuj (odznacz)

      Komórki arkusza, zawierająca dane powinny mieć włączoną blokadę.
      Daj znać, czy zadziałało, w tym momencie nie mam jak tego przetestować.

Leave Comment

Twój adres email nie zostanie opublikowany.