VBA ćwiczenie 2
Transkrypt
VBA ćwiczenie 2
VBA ćwiczenie 2 1 VBA ćwiczenie 2 Funkcja MsgBox Funkcja ta wyświetla komunikat w oknie z ikoną i przyciskami. Postać funkcji: MsgBox(Prompt,Buttons,Title,HelpFile,Contex); niektóre wpisy w nawiasie są opcjonalne. Funkcja InputBox Funkcja InputBox(Prompt,Title,HelpFile,Contex); Funkcje te możemy stosować do wyświetlenia i wprowadzania wartości zmiennych do programu np.: Do wyświetlenia wyniku możemy użyć wersji znacznie skróconej jak w programie poniżej(bez wszystkich parametrów. Sub zad2_1() Dim a As Integer ' deklaracja zmiennych typ integer Dim b As Integer a = InputBox("podaj liczbę a=", "wpisywanie zmiennych") 'wprowadzanie zmienej a b = InputBox("podaj liczbę b=", "wpisywanie zmiennych") 'wprowadzanie zmiennej b MsgBox ("Wynik dodawania a+b= " & (a + b)) 'wyświetlanie sumy a+b End Sub Zauważ że aby wyświetlić wartość liczbową (a+b) w oknie komunikatu dodaliśmy łączymy wpisy za pomocą (&) . Możemy połączyć napisy funkcją Str() która zamienia liczbę na napis(liczby). Popraw program zastępując wpis MsgBox MsgBox ("Wynik dodawania a+b= " +str (a + b)) Sub zad2_2() Dim a As Integer Dim b As Integer a = Range("a1").Value 'pobranie zmiennych z komórki b = Range("a2").Value Range("a4:a5").ClearContents 'czyszczenie zakresu komórek If a > b Then 'początek warunku Range("a4").Value = a * b ' jeśli prawda Else Range("a5").Value = a + b ' jeśli fałsz End If ' koniec warunku End Sub Zwróć uwagę na polecenie ( Range("a4:a5").ClearContents ) zadaniem jego jest wyczyszczenie komórek w których za chwilę zostaną wypisane dane. Zadania do wykonania: Zadanie 1 Napisz program, który pobiera promień ( R ) koła poprzez komendę InputBox, a następnie oblicza obwód koła o promieniu R i wypisuje jego wartość w komórce d1 arkusza. Program uzupełnij tym aby w komórce c1 pojawiał się napis obwód koła. VBA ćwiczenie 2 2 Zadanie 2 Napisz program, który pobiera 2 liczby a i b z komórek następnie oblicza ich iloczyn. Jeśli iloczyn jest dodatni pojawia się napis iloczyn dodatni, jeśli zaś ujemny pojawia się napis iloczyn ujemny. Wykorzystaj do programu okna wprowadzania i wyprowadzania danych. Rozbudowana funkcja IF Tę funkcję stosujemy gdy sprawdza się kolejno warunki wykluczające się IF warunek_1 Then Instrukcje gdy warunek jest spełniony ElseIf warunek_2 Then Instrukcje gdy warunek 2 jest spełniony Else Instrukcje gdy żaden z warunków nie jest spełniony End If Instrukcja jest wykonana gdy napotka warunek, który jest spełniony. Przykład: 2-1 Sub przykl2_3() Dim wiek As Integer wiek = InputBox("podaj wiek w latach") If wiek <= 0 Then MsgBox ("wiek nie może być ujemny lub równy 0") ElseIf wiek < 7 Then MsgBox ("jesteś przedszkolakiem") ElseIf wiek < 18 Then MsgBox ("niejesteś pełnoletni") ElseIf wiek < 65 Then MsgBox ("jesteś pełnoletni i czekasz na emeryturę") Else ‘gdy nie spełniony jest żaden z warunków MsgBox ("idz na emeryturę") End If End Sub W warunku IF używa się także operatorów logicznych np: AND – koniuncja OR – alternatywa NOT – zaprzeczenie Operatory logiczne stosujemy podobnie jak w matematyce wartość prawda fałsz zawiera tabela x true true False False y true false True False NOT x false false true true NOT y false true false true X AND Y true false false false X OR Y true true true false VBA ćwiczenie 2 Przykład 2-2 Sub przykl2_4() Dim a As Integer Dim b As Integer Dim dzial As String ‘ zmienna tekstowa a = InputBox("podaj długość boku a") b = InputBox("podaj długość boku b") dzial = InputBox("podaj dzialanie ; pole lub obwod") If (dzial <> "pole") And (dzial <> "obwod") Then ‘ sprawdzenie poprawności działania MsgBox ("złe dzialanie") ‘ poniżej tabela ElseIf dzial = "pole" Then MsgBox ("Pole prostokąta = " & (a * b)) Else MsgBox ("obwod prostokata = " & (2 * a + 2 * b)) End If End Sub Znak <> znaczy ≠ (różny) Zadanie do wykonania: Zad 3 Napisz program obliczający obwód trójkąta o bokach a, b, c pamiętaj aby figura była na pewno trójkątem przed dokonaniem obliczeń sprawdź sumę długości boków (a+b>c) itd. Długości boków wprowadź do arkusza kalkulacyjnego w polach f1 do f3 wynik działania wyświetl także w arkuszu w polu f4 Zad 4 Napisz program obliczający podatek od dochodów. Wartość rocznego dochodu wpisz w komórkę h1 w komórkach h2 wyświetli się podatek za pierwszy próg : próg 25000 stawka podatku 19% h3 -||: próg do 34000 stawka 30% h4 -||: próg powyżej 34000 stawka 40% Użyj zmiennych pomocniczych (single) a następnie zsumuj poszczególne wartości podatku i wyświetl je w komórce h5 UWAGA Program napisz etapami I – wyliczany podatek jest obliczany (nieprawidłowo) od kwoty bazowej zgodnie z progami. (if .... i elseif) II- wyliczany podatek obliczany jest w poszczególnych progach od kwoty wyliczanej z różnicy progów. Zad5 Wprowadź trzy liczby a,b,c używając operatorów logicznych i warunku IF wyświetl wprowadzone liczby w komórkach od A1 do A3 po kolei od najmniejszej do największej. Wprowadzasz liczby w różnej kolejności lecz wyświetlane są zawsze po kolei. 3