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.