PRACA Z FORMULARZAMI UserForm



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

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

Aplikacje w środowisku VBA. Visual Basic for Aplications

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

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

Arkusze kalkulacyjne i VBA

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

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

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

Makropolecenia w Excelu

LibreOffice Calc VBA

Arkusz kalkulacyjny EXCEL

Visual Basic for Applications. Formatki tworzenie,

Automatyzowanie zadan przy uz yciu makr języka Visual Basic

Arkusz strona zawierająca informacje. Dokumenty Excela są jakby skoroszytami podzielonymi na pojedyncze arkusze.

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.

1. Przypisy, indeks i spisy.

Praktyczne wykorzystanie arkusza kalkulacyjnego w pracy nauczyciela część 1

Użycie Visual Basic for Applications ("VBA")

Visual Basic w programie Excel dla Windows

Temat: Organizacja skoroszytów i arkuszy

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Edytor tekstu OpenOffice Writer Podstawy

Działki Przygotowanie organizacyjne

LABORATORIUM 6: ARKUSZ MS EXCEL JAKO BAZA DANYCH

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.

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PODSTAWOWY.

Zaznaczanie komórek. Zaznaczenie pojedynczej komórki polega na kliknięciu na niej LPM

1.Formatowanie tekstu z użyciem stylów

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

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

MS Access formularze

KATEGORIA OBSZAR WIEDZY

Spis tre ci. Rozdzia 1. Co to jest VBA Rozdzia 2. Makropolecenia Rozdzia 3. Jak uruchomi edytor Visual Basic... 31

Makropolecenia w PowerPoint Spis treści

Jeżeli pole Krawędź będzie zaznaczone uzyskamy obramowanie w całej wstawianej tabeli

Rozwiązanie ćwiczenia 8a

Zakres tematyczny dotyczący podstaw programowania Microsoft Office Excel za pomocą VBA

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

NAGŁÓWKI, STOPKI, PODZIAŁY WIERSZA I STRONY, WCIĘCIA

Formatowanie komórek

BAZY DANYCH Panel sterujący

Formularze w programie Word

Sylabus Moduł 2: Przetwarzanie tekstów

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

Excel. Tworzenie zaawansowanych aplikacji.

Dostosowanie szerokości kolumn

Visual Basic dla AutoCAD

NAGŁÓWKI, STOPKI, PODZIAŁY WIERSZA I STRONY, WCIĘCIA

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

VBA praca z makrami w Excelu

LibreOffice Impress. Poziom podstawowy. Materiały szkoleniowe

Dodanie nowej formy do projektu polega na:

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

FORMULARZE I FORMANTY MS EXCEL 1. TEORIA

Wprowadzenie do MS Excel

VBA praca z makrami w Excelu: piszemy kod! Ulepszamy program! 0. Parę uwag o samym edytorze

Tworzenie formularzy w Microsoft Office Word 2007

Przewodnik dla każdego po: Dla każdego coś miłego Microsoft Excel 2010

Ćwiczenia 9 - Swing - część 1

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

Przedmiot: Informatyka w inżynierii produkcji Forma: Laboratorium Temat: Zadanie 5. MessageBox, InputBox, instrukcja Select Case i instrukcje pętli.

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

1. Umieść kursor w miejscu, w którym ma być wprowadzony ozdobny napis. 2. Na karcie Wstawianie w grupie Tekst kliknij przycisk WordArt.

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

Informatyka w Zarządzaniu

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

BAZY DANYCH MAKRA I PRZYCISKI. Microsoft Access. Adrian Horzyk. Akademia Górniczo-Hutnicza

Wprowadzenie (17) Część I. Makra w Excelu - podstawy (23)

Podstawy informatyki

Politechnika Gdańska Wydział Elektrotechniki i Automatyki Katedra Elektroenergetyki Technologie informatyczne

Access - Aplikacja. Tworzenie bazy danych w postaci aplikacji

Praca w edytorze WORD

Makra VBA w Excelu dla początkujących

Poradnik obsługi systemu zarządzania treścią (CMS) Concrete5. Moduły i bloki

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

Instrukcja szybkiej obsługi

Program szkolenia VBA (VISUAL BASIC FOR APPLICATIONS) W EXCELU PRZEKROJOWY.

Ćwiczenia nr 4. Arkusz kalkulacyjny i programy do obliczeń statystycznych

Visual Basic for Applications. Wstęp

BAZY DANYCH Formularze i raporty

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 2

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

Maxima i Visual Basic w Excelu

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

Arkusz kalkulacyjny MS Excel 2010 PL.

Podstawowe czynnos ci w programie Excel

Visual Basic for Applications Wprowadzenie, makra

Kolory elementów. Kolory elementów

edycja szablonu za pomocą serwisu allegro.pl

BIBLIOTEKA LOKALNE CENTRUM WIEDZY PRAKTYCZNEJ PRZEWODNIK PO NARZĘDZIACH WARSZTAT NR 1: ARKUSZE KALKULACYJNE - MINI SKRYPT

Informatyka Arkusz kalkulacyjny Excel 2010 dla WINDOWS cz. 2

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

Ms WORD Poziom podstawowy Materiały szkoleniowe

Zadanie 1. Stosowanie stylów

Laboratorium 6. 1 Makropolecenia wprowadzenie. 2 Formatowanie komórek. 2.1 Rejestrowanie makra. Legenda: tekst do wpisania

Nagrywanie Makr. Na karcie Dostosowywanie Wstążki zaznaczamy kartę Deweloper.

Prezentacja multimedialna MS PowerPoint 2010 (podstawy)

Transkrypt:

PRACA Z FORMULARZAMI UserForm ZFPBIG LABORATORIUM Formularz - okno lub okno dialogowe. Możemy powiedzieć że formularze są kontenerami dla formantów. Formularz jest obiektem, oznacza to że posiada on właściwości, metody i reaguje na zdarzenia. W edytorze VBA formularz nosi nazwę UserForm. Formant - obiekt, który można umieścić na formularzu, posiadający własny zestaw rozpoznawalnych właściwości, metod i zdarzeń. Formantów można używać do pobierania i wyświetlania danych oraz wyzwalania procedur obsługi zdarzeń. Większością formantów można operować używając metod. Niektóre formanty są interaktywne (reagują na akcje użytkownika), podczas gdy inne są statyczne (dostępne tylko poprzez kod programu). KONTROLKI FORMULARZA Kontrolki (formanty) to elementy interfejsu, które programista wykorzystuje w swoim programie. Są to obiekty, których zdarzenie trzeba zaprogramować. Rozmieszcza się je na formularzu. Służą one np. do wprowadzania danych (pole tekstowe, suwaki), oraz ich wyprowadzania (etykiety). Są one ważną częścią programu, gdyż dzięki nim możemy w łatwy sposób sterować pracą programu. Rozmieszczenie kontrolek na formularzu jest bardzo ważne, gdyż świadczy to o estetyce programu i łatwości jego obsługiwania. Program Microsoft Excel ma dwa typy formantów: Formanty formularza są prostsze w użyciu, gdyż nie wymagają pisania kodu w języku Visual Basic for Applications (VBA) Formanty ActiveX wymagają umiejętności tworzenia makr w języku VBA, ale dzięki temu oferują znacznie więcej możliwości. Podstawowe typy kontrolek

Aby dodać formularz, najpierw w oknie Project Explorer edytora VBA zaznaczamy plik Excela, do którego formularz ma być dodany, a następnie w wybieramy z menu Insert polecenie UserForm. Pusty formularz o nazwie UserForm1 został dodany do pliku VBA.xls, dodana została kategoria Forms w której jest nasz formularz. Uwaga!! Tytuł formularza (caption) jest wyświetlany na górze formularza, na niebieskim pasku i nie zawsze pokrywa się z nazwą formularza (name). W naszym przykładzie dla tych dwóch właściwości wprowadziliśmy tą sama wartość, tj. Name kalkulator Caption kalkulator

Zadanie1. Celem zadania jest zaprojektowanie prostego kalkulatora realizującego podstawowe działania arytmetyczne. 1. W oknie Properties ustaw właściwość Caption na Kalkulator natomiast nazwę formularza pozostawiamy domyślną UserForm1 2. Rozmieśćmy odpowiednie kontrolki formularza na przygotowanym obszarze, wg schematu: 3. Po wprowadzeniu kontrolki możemy edytować jej ustawienia w oknie właściwości (properties), możliwe jest to wtedy gdy dana kontrolka jest aktywna. Dla wprowadzonych kontrolek zostały wprowadzone zmiany dotyczące: czcionki (wielkość, kolor, pogrubienie), zawartość, tj. pojawiający się wewnątrz napis (caption), nazwa formantu (name), wyrównania wewnątrz obszaru formantu:

4. Po zaprojektowaniu formularza możemy sprawdzić jego sposób wyświetlania (oraz działania, ale to dopiero jak napiszemy makra obsługujące formularz) w programie za pomocą klawisza funkcyjnego F5 lub kliknięciem na ikonę, znajdująca się na pasku narzędziowym. Końcowym etapem projektu jest oprogramowanie kalkulatora. Z punktu widzenia systemu operacyjnego każde kliknięcie na wybrany przycisk kalkulatora jest pewnym zdarzeniem, na które oprogramowanie powinno w określony sposób zareagować np. przez wyświetlenie w polu wynik wartości. Sposób reakcji określa procedura obsługi zdarzenia, którą twórca programu powinien zaprojektować.

W zależności od użytego obiektu będzie on spełniał odpowiednią funkcje: wyświetlania danych, wprowadzania danych, wykonywania akcji, zwiększania czytelności formularza. Dwukrotne kliknięcie na wybranym obiekcie formularza odsyła nas do edytora VBA gdzie w sposób automatyczny rozpoczynana jest procedura mająca za zadanie obsłużyć dane zdarzenie (przypisane do klikniętego obiektu). Np. dwukrotne kliknięcie na przycisku zamknij naszego formularza Spowodowało otwarcie edytora vba oraz zapisanie początku i końca procedury przypisanej do tego zdarzenia. Nazwa takiej procedury w VBA tworzona jest automatycznie wg schematu:

Nazwa-obiektu-kontrolki_ zdarzenie w naszym przypadku: CommandButton1_Click() Procedury obsługi zdarzeń mogą przetwarzać dane reprezentowane przez zmienne i stałe języku VBA, przez obiekty arkusza kalkulacyjnego jak i przez właściwości związane z obiektami (kontrolkami) zaprojektowanego formularza. W naszym arkuszu poszczególne obiekty mają przypisane następujące nazwy (name), i te będziemy wykorzystywać tworząc ich obsługę: NAME Label1 TextBox1 Label2 TextBox2 Label3 Label4 minus plus mnozenie dzielenie Private Sub plus_click() CommandButton1

5. Pisanie makr, które będą obsługiwały formularz Przedstawione poniżej rozwiązania niech posłużą do weryfikacji Twoich opracowań. Zanim skopiujesz (najlepiej nie kopiuj) spróbuj samodzielnie napisać wszystkie procedury. Dim a As Double Dim b As Double a = TextBox1 b = TextBox2 wynik = a + b Label4 = wynik Private Sub minus_click() Dim a As Double Dim b As Double a = TextBox1 b = TextBox2 wynik = a - b Label4 = wynik Private Sub mnozenie_click() Dim a As Double Dim b As Double a = TextBox1 b = TextBox2 wynik = a * b Label4 = wynik Private Sub dzielenie_click() Dim a As Double Dim b As Double a = TextBox1 b = TextBox2 If b <> 0 Then wynik = a / b Label4 = wynik Else wynik = "nie dziel przez 0!!" Label4 = wynik End If Private Sub CommandButton1_Click() Unload Me 6. Na ostatnim etapie tworzenia formularza zaprojektujmy makro, które pozwoli nam go wywołać z poziomu excela. W tym celu należy wstawić nowy moduł (insert/modul) a następnie wprowadzić do niego następujący zapis:

Sub UserForm_Click() kalkulator.show W następnym kroku, wstaw obiekt w arkuszu1, do którego przypiszesz niniejsze makro. Po kliknięciu na przycisku zostaje uruchomiona procedura wywołująca formularz kalkulatora:

Zadanie 2 Zaprojektuj formularz za pomocą którego wprowadzimy dane do obliczeń dla wyznaczenia pierwiastków trójmianu kwadratowego: Ax 2 +Bx+C=0 START Wprowadź współczynniki: A, B, C delta=b 2-4*A*C delta=0 X1 = (-B - Sqr(delta)) / 2 * A X2 = X1 delta>0 X1 = (-B - Sqr(delta)) / 2 * A X2 = (-B + Sqr(delta)) / 2 * A Pisz: "Nie istnieją pierwiastki tego równania" STOP Pisz: X1, X2 Komentarz: Istnieje jeden podwójny Projekt formularza: pierwiastek Pisz: X1, X2 Komentarz: Istnieją 2 miejsca zerowe STOP STOP

Schemat formularza wraz z użytymi nazwami obiektów: txta txtb txtc cmdoblicz CommandButton1 lblx1 lblx2 lblkomentarz Pisanie makr, które będą obsługiwały formularz Private Sub cmdoblicz_click() Dim A, B, C As Single Dim delta As Single Dim X1, X2 As Single Dim komentarz As String A = txta.value If IsNumeric(A) = False Then MsgBox ("Podaj cyfrę") Exit Sub End If B = txtb.value If IsNumeric(B) = False Then MsgBox ("Podaj cyfrę") Exit Sub End If C = txtc.value If IsNumeric(C) = False Then MsgBox ("Podaj cyfrę") Exit Sub End If delta = B ^ 2-4 * A * C

Select Case delta Case Is > 0 X1 = (-B - Sqr(delta)) / 2 * A X2 = (-B + Sqr(delta)) / 2 * A komentarz = "Istnieją 2 miejsca zerowe: " & "X1 = " & X1 & ", X2 = " & X2 lblkomentarz = komentarz lblx1 = X1 lblx2 = X2 Case Is < 0 lblx1 = "-" lblx2 = "-" lblkomentarz = "Nie istnieją pierwiastki tego równania" Case Is = 0 X1 = (-B - Sqr(delta)) / 2 * A X2 = X1 lblkomentarz = "Istnieje jeden podwójny pierwiastek = " & X1 lblx1 = X1 lblx2 = X2 End Select Private Sub CommandButton1_Click() Trojmian.Hide Zadanie 3 Zaprojektuj ankietę, z której wyniki będą wprowadzane do arkusza2 w kolejnych komórkach:

Private Sub ComboBox1_Change() Label2 = ComboBox1 Private Sub ScrollBar1_Change() Label1 = ScrollBar1 Private Sub CommandButton1_Click() If CommandButton1 = True Then Worksheets("Arkusz1").Range("B3").Value = "K" Else Worksheets("Arkusz1").Range("B3").Value = "M" End If Worksheets("Arkusz1").Range("B1") = Label1 Worksheets("Arkusz1").Range("B2") = Label2 Unload Me Zadanie 4 Przeanalizuj kod i działanie udostępnionego makra w arkuszu o nazwie bazadanych.xlms pozwalającego na zapisywanie i usuwanie rekordów w bazie danych w odpowiednim miejscu. JAK ZA POMOCĄ VBA FORMATOWAĆ KOMÓRKI W EXCEL? Formatowanie arkusza Excel za pomocą kodu VBA jest niezbędne jeżeli chcemy: ujednolicić wygląd generowanych dokumentów odciążyć pracowników od pracochłonnych czynności związanych z wyglądem dokumentów Formatowanie tekstu Podstawowe właściwości tekstu wpisanego w komórkę arkusza, przechowywane są w obiekcie Cells.Font. Aby zmienić rozmiar tekstu wpisujemy wielkość w punktach: Cells(1, 1).Font.Size = 15

Pogrubienie tekstu: Cells(1, 1).Font.Bold = True Pochylenie tekstu: Cells(1, 1).Font.Italic = True Podkreślenie tekstu: Cells(1, 1).Font.Underline = True Przekreślenie tekstu: Cells(1, 1).Font.Strikethrough = True Indeks dolny: Cells(1, 2).Font.Subscript = True Indeks górny: Cells(1, 3).Font.Superscript = True Ponadto możliwe jest określenie kierunku tekstu w komórce: Cells(1, 3).Orientation = 90 Powyższy kod spowoduje, że tekst w komórce C1 wpisywany będzie w kierunku od dołu do góry. Wartość 0 oznacza standardowy tekst poziomy. W celu wyrównania tekstu w poziomie użyjemy składni: Cells(1, 3).HorizontalAlignment = xlcenter Parametry w formatowaniu poziomym tekstu: xlcenter - tekst wyśrodkowany xldistributed - tekst zawsze zaczyna się przy lewej a kończy przy prawej krawędzi komórki xljustify - tekst wyjustowany xlleft - tekst z lewej xlright - tekst z prawej Wyrównanie tekstu w pionie: Cells(1, 3).VerticalAlignment = xlcenter i parametry wyrównania pionowego: xlbottom - tekst na dole komórki xlcenter - tekst w środku komórki xldistributed - tekst zaczyna się i kończy przy krawędziach komórki xljustify - tekst wyjustowany w pionie xltop - tekst na górze komórki Kolorowanie tekstu oraz komórek Aby zmienić kolor tekstu komórki używamy składni: Cells(1, 1).Font.Color = rgbred gdzie rgbred oznacza stałą koloru czerwonego. Jeżeli nie możemy znaleźć specyficznego koloru możemy zapisać go za pomocą składni RGB: Cells(1, 1).Font.Color =RGB(255,0,0) Zmiana koloru wypełnienia komórki: Cells(1, 1).Interior.Color = rgbyellow Kod spowoduje pokolorowanie komórki na kolor żółty.

Obramowania komórek Aby rysować obramowania komórek użyjmy kodu: With Cells(2, 1).Borders.LineStyle = xlcontinuous.colorindex = xlcolorindexautomatic.weight = 2 End With Kod spowoduje obramowanie komórki A2. Parametr LineStyle określa styl linii obramowania i może przyjąć wartość: xlautomatic - styl automatyczny xlcontinuous - linia ciągła xldash - linia przerywana xldashdot - kreska - kropka xldashdotdot - kreska i dwie kropki xldot - linia z kropek xldouble - podwójna linia xllinestylenone - bez linii xlslantdashdot xlgray25 - kolor siwy 25% xlgray50 - kolor siwy 50% xlgray75 - kolor siwy 75% Zadanie5 Sub kolorowanie() For i = 1 To 10 For j = 1 To 10 R = 255 - (i * 25) G = i * 25 B = j * 25 Cells(i, j).value = "ABC" Cells(i, j).font.color = RGB(R, G, B) Next Next