2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

Podobne dokumenty
wstawianie przycisków umożliwiających wybieranie wartości poprzez klikanie strzałek

Utworzenie interfejsu graficznego za pomocą formularza użytkownika w VBA

Arkusze kalkulacyjne i VBA

Aplikacje w środowisku VBA. Visual Basic for Aplications

PRACA Z FORMULARZAMI UserForm

BAZY DANYCH Panel sterujący

Visual Basic for Applications. Formatki tworzenie,

Politechnika Poznańska Wydział Budowy Maszyn i Zarządzania

Visual Basic Debugging and Error Handling

izol konstr konstr izol

Program szkoleniowy. 24 h dydaktycznych (18 h zegarowych) NAZWA SZCZEGÓŁY CZAS

Informatyka II. Laboratorium Aplikacja okienkowa

UMOWY INSTRUKCJA STANOWISKOWA

TWORZENIE FORMULARZY WORD 2007

Podstawy programowania w języku Visual Basic dla Aplikacji (VBA)

Informatyka w Zarządzaniu

Visual Basic for Applications. Wstęp

Działki Przygotowanie organizacyjne

Plik->Opcje->Zakladka Główne->Dostosuj Wstążkę Zaznaczamy kwadracik Developer na liscie po prawej stronie. Klikamy OK.

Przedmiot: Informatyka w inżynierii produkcji Forma: Laboratorium Temat: Zadanie 4. Instrukcja warunkowa.

Podstawy informatyki

Wybieramy File->New->Project Wybieramy aplikację MFC->MFC Application jak na rysunku poniżej:

Formularze w programie Word

Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka

M a k r a i d o d a t k o w e f o r m a n t y

WYKONANIE APLIKACJI OKIENKOWEJ OBLICZAJĄCEJ SUMĘ DWÓCH LICZB W ŚRODOWISKU PROGRAMISTYCZNYM. NetBeans. Wykonał: Jacek Ventzke informatyka sem.

Utworzenie aplikacji mobilnej Po uruchomieniu Visual Studio pokazuje się ekran powitalny. Po lewej stronie odnośniki do otworzenia lub stworzenia

Materiały do laboratorium MS ACCESS BASIC

Politechnika Gdańska Katedra Optoelektroniki i Systemów Elektronicznych

Podstawy programowania. Ćwiczenie. Pojęcia bazowe. Języki programowania. Środowisko programowania Visual Studio

Technologie informacyjne

Projekt Hurtownia, realizacja rejestracji dostaw produktów

Access - Aplikacja. Tworzenie bazy danych w postaci aplikacji

Projekt Hurtownia, realizacja rejestracji dostaw produktów

MS Access formularze

Część I: Przypisanie makr do obiektu (przycisku).

Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)

INSTRUKCJA OBSŁUGI KREATORA SKŁADANIA WNIOSKÓW

Tworzenie bazy danych na przykładzie Access

Przygotowanie formularza do wypożyczenia filmu:

Instrukcja obsługi programu VisitBook Semieta Lite

Technologia informacyjna programowanie Janusz Uriasz

- Narzędzie Windows Forms. - Przykładowe aplikacje. Wyższa Metody Szkoła programowania Techniczno Ekonomiczna 1 w Świdnicy

Microsoft Access zajęcia 3 4. Tworzenie i wykorzystanie kwerend, formularzy i raportów

LABORATORIUM 8,9: BAZA DANYCH MS-ACCESS

UNIWERSYTET RZESZOWSKI KATEDRA INFORMATYKI

Zajęcia: VBA TEMAT: VBA PROCEDURY NUMERYCZNE Metoda bisekcji i metoda trapezów

LK1: Wprowadzenie do MS Access Zakładanie bazy danych i tworzenie interfejsu użytkownika

Przygotuj za pomocą tabulatorów element formularza. Utwórz pole tekstowe i sformatuj tak, aby dół napisu w polu był dokładnie nad kropkami.

Tworzenie książeczek w Storybird

Program szkolenia PODSTAWY VBA (VISUAL BASIC FOR APPLICATIONS) I FORMULARZE.

Bazy danych Ćwiczenie 1 Instrukcja strona 1 Wersja ogólna

AUTOMATYZACJA PRACY Z UŻYCIEM MAKR. Tom XII NPV WSP.KORELACJI ROZKŁ.EXP JEŻELI COS KOMÓRKA VBA DNI.ROBOCZE ILOCZYN LOG SUMA CZY.

Obszar Logistyka/Zamówienia Publiczne

LibreOffice Calc VBA

Laboratorium 7 Blog: dodawanie i edycja wpisów

Wprowadzenie do systemu Delphi

1 Algorytmy. Algorytmy i VBA. 1. Zapoznaj się z symboliką schematów blokowych.

VBA w Excel Lekcja ta ma przybliżyć pojęcia związane z programowaniem w pakiecie Office. Poniższe przykłady związane są z wersją Office2007.

TwinCAT 3 konfiguracja i uruchomienie programu w języku ST lokalnie

Program dla praktyki lekarskiej. Instrukcja korzystania z panelu pielęgniarki szkolnej

Platforma.NET laboratorium 1. Visual Basic.NET podstawowe elementy języka. Wykonanie warunkowe If End If

Formularz MS Word. 1. Projektowanie formularza. 2. Formularze do wypełniania w programie Word

Laboratorium 050. Crystal Reports. Ćwiczenie 1. Otwarte pozycje

PROGRAM: WYSZUKANIE LICZBY MAKSYMALNEJ

Informatyzacja Przedsiębiorstw

Zastanawiałeś się może, dlaczego Twój współpracownik,

OBIEKTY TECHNICZNE OBIEKTY TECHNICZNE

BAZA_1 Temat: Tworzenie i modyfikowanie formularzy.

Tablice, DataGridView

Wybierz polecenie z menu: Narzędzia Listy i dokumenty

Robert Barański, AGH, KMIW MathScript and Formula Nodes v1.0

Ćwiczenia 9 - Swing - część 1

DataGridView. Aby dodawać kolumny wybieramy z listy zadań Add Column..., co wywoła okno dodawania kolumn, rys. 2. Rysunek 1

KaŜdy z formularzy naleŝy podpiąć do usługi. Nazwa usługi moŝe pokrywać się z nazwą formularza, nie jest to jednak konieczne.

DODAWANIE ARTYKUŁÓW DO STRONY INTERNETOWEJ

W dowolnej przeglądarce internetowej należy wpisać poniższy adres:

REJESTRACJA PROJEKTÓW

Instrukcje cykliczne (pętle) WHILE...END WHILE

Program dla praktyki lekarskiej. Instrukcja korzystania z panelu pielęgniarki szkolnej

Korespondencja seryjna

Systemy baz danych Prowadzący: Adam Czyszczoń. Systemy baz danych. 1. Import bazy z MS Access do MS SQL Server 2012:

Marketing Automation:

Zaawansowane aplikacje internetowe - laboratorium

Przygotuj za pomocą tabulatorów element formularza. Utwórz pole tekstowe i sformatuj tak, aby dół napisu w polu był dokładnie nad kropkami.

VBA-podstawy cz. 1. Począwszy od wersji Office 2010 skoroszyty Excel wsparte makrami VB mają rozszerzenie.xlsm

Przygotowanie własnej procedury... 3 Instrukcja msgbox wyświetlanie informacji w oknie... 6 Sposoby uruchamiania makra... 8

Dodaj do kontrolki MultiView dwie kontrolki View, nazywając je po kolei: ankietaglowna i podsumowanie.

STOPKA. Redakcja strony Stopka Linki w stopce Link do nowej podstrony Link do strony zewnętrznej... 6

MsgBox(Komunikat [, Przyciski] [, Tytuł] [, PlikHelp, HelpContext])

Obsługa zdarzeń w formularzach przy pomocy makr

Oracle PL/SQL. Paweł Rajba.

Dodanie nowej formy do projektu polega na:

LABORATORIUM 6: ARKUSZ MS EXCEL JAKO BAZA DANYCH

Obsługa pakietu biurowego OFFICE

Tworzenie okna dialogowego w edytorze raportu SigmaNEST. część 1

MS Excell 2007 Kurs podstawowy Filtrowanie raportu tabeli przestawnej

Programowanie w środowisku graficznym GUI

Programy. Z Delphi. Opracowała Małgorzata Roguska

Transkrypt:

Formularze VBA Przykład1 INTERAKTYWNY FORMULARZ Program tworzący interaktywny formularz. Objaśnienie: w dowolnym momencie można wprowadzić wartość w polu tekstowym ID, Excel VBA wczytuje odpowiedni rekord. Gdy klikniesz przycisk Edit/Add, Excel VBA edytuje zapis na karcie lub dodaje rekord, gdy identyfikator jeszcze nie istnieje. Przycisk Clear czyści wszystkie pola tekstowe. Przycisk Close zamyka formularz UserForm. Aby utworzyć formularz, należy wykonać następujące kroki. 1. Otwórz Visual Basic Editor. Jeżeli Project Explorer nie jest widoczny, kliknij View ->Project Explorer. 2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej.

3. Dodaj etykiety (kontrolka Label), pola tekstowe (kontrolka TextBox) (pierwszy na górze, drugi poniżej pierwszej, i tak dalej) i przyciski poleceń (kontrolka CommandButton). Gdy to zostało zakończone, wynik powinien być zgodny z obrazem UserForm przedstawionym wcześniej. Na przykład, należy utworzyć pole tekstowe ID klikając na TextBox z przybornika Controls. Następnie można przeciągnąć pole tekstowe na UserForm. 4. Możesz zmienić właściwości name i caption na obiektach. Właściwość name jest używana do identyfikacji obiektu. Właściwość caption jest tylko wyświetlana na ekranie. Dobrą praktyką jest, aby zmienić nazwy formantów, ale to nie jest konieczne tutaj, ponieważ mamy tylko kilka kontrolek. Aby zmienić podpisy etykiety, pól tekstowych i przycisków poleceń, kliknij menu View- >Properties Window i kliknij na każdą kontrolkę, wówczas można zmienić ich właściwości np. caption jako tekst wyświetlany. 5. Aby zobaczyć formularz, dodaj przycisk poleceń w arkuszu (zakładka deweloper -> Wstaw ->przycisk) oraz go kliknij, a następnie dodaj następującą linijkę kodu: Private Sub Przycisk1_Kliknięcie () UserForm1.Show Tworzymy procedurę UserForm_Initialize. Kiedy ją wywołujemy pojawia się automatycznie formularz UserForm1. 6. Otwórz Visual Basic Editor. 7. W Project Explorer, kliknij prawym przyciskiem na UserForm1 (z Forms) oraz wybierz opcję View Code. 8. Wybierz Userform z wybieranej listy po lewej stronie. Wybierz Initialize z wybieranej listy po prawej stronie. 9. Dodaj następujący kod programu:

Private Sub UserForm_Initialize() TextBox1.SetFocus Objaśnienie: Ten wiersz kodu ustawia kursor na pierwszym polu tekstowym, gdy uruchomimy formularz. 10. W Project Explorer, kliknij prawym przyciskiem na UserForm1 oraz wybierz opcję View Code. 11. Wybierz TextBox1 z wybieranej listy po lewej stronie. Wybierz Change z wybieranej listy po prawej stronie. 12. Dodaj następujący kod programu: Private Sub TextBox1_Change() GetData 13. W Project Explorer, podwójnie kliknij na UserForm1. 14. Podwójnie kliknij na przycisku Edit / Add. 15. Dodaj następujący kod programu: Private Sub CommandButton1_Click() EditAdd 16. Podwójnie kliknij na przycisku Clear. 17. Dodaj następujący kod programu: Private Sub CommandButton2_Click() ClearForm Objaśnienie: te procedury wywołują inne procedury, które zostaną napisane później. 18. Podwójnie kliknij na przycisku Close. 19. Dodaj następujący kod programu: Private Sub CommandButton3_Click() Unload Me

Objaśnienie: zamknięcie formularza. Czas napisać procedury. Umieść następujące procedury w module kodu (Visual Basic Editor-> Insert->Module). 20. W pierwszej kolejności, deklarujemy trzy zmienne typu Integer i jedną Boolean. Deklaracja zmiennych stanowi globalną deklaracje dla całego modułu (na górze modułu). W ten sposób deklarujemy zmienne tylko raz i używamy ich w wielu procedurach. Dim id As Integer, i As Integer, j As Integer, flag As Boolean 21. Dodaj procedurę GetData. Sub GetData() If IsNumeric(UserForm1.TextBox1.Value) Then flag = False i = 0 id = UserForm1.TextBox1.Value Do While Cells(i + 1, 1).Value <> "" Loop If Cells(i + 1, 1).Value = id Then flag = True For j = 2 To 3 UserForm1.Controls("TextBox" & j).value = Cells(i + 1, j).value i = i + 1 If flag = False Then For j = 2 To 3 UserForm1.Controls("TextBox" & j).value = "" Else ClearForm Objaśnienie: Jeśli pole tekstowe ID zawiera wartość numeryczną, Excel VBA wyszukuje ID i ładuje odpowiedni rekord. Używamy kolekcji Controls, aby przypisać wartości do kolejnych pól tekstowych. Jeśli program Excel VBA nie można znaleźć identyfikatora (flaga jest wciąż fałszywa), pola tekstowe Name i City są czyszczone. Jeśli pole tekstowe ID nie zawiera wartości numerycznej, Excel VBA wywołuje procedurę ClearForm. 22. Dodaj procedurę ClearForm. Sub ClearForm() For j = 1 To 3 UserForm1.Controls("TextBox" & j).value = ""

Objaśnienie: Excel VBA czyści wszystkie pola tekstowe. 23. Dodaj procedurę EditAdd. Sub EditAdd() Dim emptyrow As Long If UserForm1.TextBox1.Value <> "" Then flag = False i = 0 id = UserForm1.TextBox1.Value emptyrow = WorksheetFunction.CountA(Range("A:A")) + 1 Do While Cells(i + 1, 1).Value <> "" Loop If Cells(i + 1, 1).Value = id Then flag = True For j = 2 To 3 Cells(i + 1, j).value = UserForm1.Controls("TextBox" & j).value i = i + 1 If flag = False Then For j = 1 To 3 Cells(emptyRow, j).value = UserForm1.Controls("TextBox" & j).value Objaśnienie: Jeśli pole tekstowe ID nie jest puste, Excel VBA edytuje rekord na arkuszu (przeciwieństwo do ładowania rekordu jak widzieliśmy wcześniej). Jeśli program Excel VBA nie może znaleźć identyfikatora (flaga jest wciąż fałszywa), dodaje zapis do następnego pustego wiersza. Zmienna emptyrow zawiera numer pierwszego pustego wiersza i jest zwiększana za każdym razem gdy rekord zostanie dodany. 24. Testujemy. Opuść Visual Basic Editor, wstaw opisy danych w arkuszu jak poniżej za pomocą formularza Userform.

PODPOWIEDŹ: - Jeżeli nie rozumiesz kodu programu lub szukasz błędu, możesz wstawić znaczniki przerywające wykonywanie programu w dowolnej linijce kodu (Debug -> Toggle Breakpoint). Kolejno można wykonywać program linijka po linijce (Debug->Step into (F8)) - Jeżeli nie wiesz jaką wartość ma dana zmienna możesz tą wartość wypisać za pomocą funkcji Debug.Print

Przykład2 NIEZALEŻNE COMBO BOXY Poniżej zamieszczono program w Excel VBA, który tworzy formularz z niezależnymi polami kombi. Użytkownik wybiera typ zainteresowania z pierwszej listy rozwijanej, a następnie może wybrać szczegóły zainteresowania z kolejnej listy rozwijanej (w zależności od wartości wybranej na pierwszej liście). Aby utworzyć formularz, należy wykonać następujące kroki. 1. Otwórz Visual Basic Editor. Jeżeli Project Explorer nie jest widoczny, kliknij View ->Project Explorer. 2. Kliknij Insert->Userform. Jeżeli Toolbox nie pojawi się automatycznie, kliknij View -> Toolbox. Otrzymany widok powinien być jak poniżej. 3. Dodaj pola kombi (pierwszy z lewej, drugi po prawej) i przycisk polecenia. Gdy to zostało zakończone, wynik powinien być zgodny z obrazem UserForm przedstawionym wcześniej. Na przykład można utworzyć formant pola kombi klikając na ComboBox z przybornika Controls. Następnie można przeciągnąć pole kombi na UserForm. 4. Istnieje możliwość zmiany właściwości name i caption. W tym krótkim przykładzie można zmienić tylko wyświetlane napisy (właściwość caption). 5. Aby zobaczyć formularz, dodaj przycisk poleceń w arkuszu (zakładka deweloper -> Wstaw ->przycisk) oraz go kliknij, a następnie dodaj następującą linijkę kodu:

Private Sub CommandButton1_Click () UserForm1.Show Tworzymy procedurę UserForm_Initialize. Kiedy ją wywołujemy pojawia się automatycznie formularz UserForm1. 6. Otwórz Visual Basic Editor. 7. W Project Explorer, kliknij prawym przyciskiem na UserForm1 (z Forms) oraz wybierz opcję View Code. 8. Wybierz Userform z wybieranej listy po lewej stronie. Wybierz Initialize z wybieranej listy po prawej stronie. 9. Dodaj następujący kod programu: Private Sub UserForm_Initialize() With ComboBox1.AddItem "Animals".AddItem "Sports".AddItem "Food" End With Objaśnienie: Ten kod programu wypełnia listę pola kombi. Poniżej należy stworzyć kod programu, który powoduje wypełnienie drugiego pola kombi danymi, w zależności od zaznaczonej opcji na pierwszym polu kombi. 10. W Project Explorer, podwójnie kliknij na UserForm1. 11. Podwójnie kliknij na pierwsze pole kombi. 12. Dodaj następując kod programu: Private Sub ComboBox1_Change() Dim index As Integer index = ComboBox1.ListIndex numer zaznaczonej opcji ComboBox2.Clear Select Case index Case Is = 0 With ComboBox2.AddItem "Dog".AddItem "Cat"

.AddItem "Horse" End With Case Is = 1 With ComboBox2.AddItem "Tennis".AddItem "Swimming".AddItem "Basketball" End With Case Is = 2 With ComboBox2.AddItem "Pancakes".AddItem "Pizza".AddItem "Chinese" End With End Select 13. Podwójnie kliknij na przycisk Import. 14. Dodaj następujący kod programu: Private Sub CommandButton1_Click() Range("A1").Value = ComboBox2.Value 15. Przetestuj utworzony program.