vba4 - CBA.PL

Transkrypt

vba4 - CBA.PL
VBA cw 4_2010
Funkcje w VBA
Podstawowe funkcje matematyczne (przykładowe)
Abs(x)- zwraca wartość bezwzględną liczby
Int(x)- zwraca część całkowitą liczby, dla liczb ujemnych oddaje najbliższą liczb całkowitą
mniejszą od x
Sqr(x) zwraca pierwiastek kwadratowy z liczby nieujemnej.
Rnd –zwraca wartość typu Single będącą liczbą losową z przedziału <0 ,1)
Sin(x), Cos(x), Tan(x) –oblicza wartość trygonometryczną liczby, argument podajemy w
radianach
Atn(x) zwraca wartość funkcji arcus tangens dla podanego argumentu.
Funkcje arkuszowe są metodami obiektu Application np.:
Application.Pi()- zwraca wartość liczby PI
Przykład_1
Sub przykład_1()’ zapis wzoru do komórek arkusza
Dim r As Single
r = Range("h2").Value
'pobranie zmiennej
Range("h3").Value = 4 * Application.Pi() * r ^ 3 / 3
'wstawienie wyniku jako liczby
Range("h4").Value = "=4*Pi()*h2^3/3"
'wypisanie wyniku jako wzoru
End Sub
Przykład_2
Sub przykład_2() ‘ makro losuje liczbę od <0,100)
Dim liczba as Integer ‘ deklaracja zmiennej
Randomize
’uaktywnienie generatora liczb losowych
Liczba=Int(Rnd*100) ‘ funkcja Rnd losuje liczbę <0,1) którą wymnażamy przez 100 aby
zwiększyć zakres <0,100)
MsgBox(Str(liczba)) ‘wyświetlenie liczby wylosowanej
End Sub
Przykład_3
Sub kolor()
‘ makro wypełnia zakres komórek kolorami
Randomize
‘ uruchomienie funkcji losowej
For li = 1 To 20
‘ pętla zewnętrzna kolumny
For li2 = 1 To 8
‘pętla wewnętrzna rzędy
Cells(li2, li).Interior.ColorIndex = Int(Rnd * 57) , określenie położenia komórki i losowanie
koloru
Next
Next
End Sub
VBA cw 4_2010
Zadanie_1
Napisz makro obliczające pole koła i jego obwód wartość (r- promień) przyjmuje z komórki
d1, a wyniki wyświetla w komórkach d2 i d3
Zadanie 2
Napisz makro obliczające pierwiastek kwadratowy liczby. Makro sprawdza czy liczba jest
dodatnia i oblicza wartość pierwiastka. Jeśli jest ujemna wyświetla się komunikat
Zadanie_3
Napisz makro, które wczytuje oknem dialogowym liczbę w zakresie od -1 do 1 i oblicza dla
tej liczby wartości sin, cos, wyniki wyświetl w kolejnych komórkach arkusza.
Gdy liczba jest poza zakresem niech wyświetli się komunikat że liczba jest poza zakresem
Zad_4
Napisz program obliczający wysokość budynku mając daną odległość od niego oraz kaki
tworzy cień z podstawą. Wszystkie dane: ( kąt, odległość od obiektu) wprowadź przez okno
komunikatu. Wynik (wysokość w metrach podaj przez MSgbox).
Zad_5
Stosując funkcję losową napisz makro wypełniające komórki arkusza (A1:J10) losowo
wybranymi liczbami całkowitymi z przedziału 1 do 6 . Zastosuj funkcję losową w pętli For
oraz przesunięcie komórek cells.
Zad_6
Stosując pętlę For napisz makro które pobierze 5 liczb przez okno komunikatu policzy dla
nich :
Sumę wprowadzonych liczb?
Sumę kwadratów wprowadzonych liczb?
Wyniki wyświetli w arkuszu kalkulacyjnym.
- Zmodyfikuj program w taki sposób aby wyświetlał także w arkuszu wprowadzane liczby
oraz ich kwadraty.
Zad_7
Napisz program który wprowadza 10 liczb przez okno komunikatu. Na końcu zaś wyświetli
największą wprowadzoną liczbę przez ciebie. (użyj pętli For oraz warunku IF)
- Zmodyfikuj program tak aby w arkuszu wyświetlał wprowadzone liczby na końcu zaś
wyświetlił największą z nich.