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