Dodatkowe ćwiczenia z VBA 1. Stwórz makro, które będzie
Transkrypt
Dodatkowe ćwiczenia z VBA 1. Stwórz makro, które będzie
Dodatkowe ćwiczenia z VBA 1. Stwórz makro, które będzie wylistowywać po kolei wartości od 1 do 10. Następnie zmień wartość do 100. (WSKAZÓWKA – pamiętaj, że możesz łatwo konwertować zmienne liczbowe na tekst i w komendzie ActiveDocument.Concent.InstertAfter text := liczba, liczba może być dowolną liczbą wcześniej zdefiniowaną np. jako liczba = 3 ) 2. Zmodyfukuj makro by wyświetlało wynik dzielenia liczb przez 3. (WSKAZÓWKA – możesz wrzucać równiania matematyczne w komendzie, którą używasz do wstawiania tekstu, np. ActiveDocument.Concent.InstertAfter text := liczba/3 & " " ) 3. Stwórz makro, które będzie wylistowywać możliwe pary liczb 5 i 10. (WSKAZÓWKA – możesz umieścić jedną pętlę for w drugiej zmieniając jedynie zmienną iterującą. W ten sposób możesz wylistować możliwe kombinacje poprzez := iterator1 & iterator2 & vbLf ) 4. Zmień wartości w poprzednim makrze na 6 i 2, sprawdz czy dalej działa. 5. Wykorzystaj makro z zadania 1/2. Zmodyfikuj je tak, by wyświetlało wartość tylko wtedy, gdy jest mniejsza od 10 (WSKAZÓWKA – użyj istrukcji warunkowej if ) 6. Zmodyfukuj makro by wyświetlało resztę z dzielenia liczb (WSKAZÓWKA – wykorzystaj operację reszty z dzielenia, jej składnia to „zmienna MOD dzielnik”, jeśli zmienną jest iterator, a chcemy otrzymać resztę z dzielenia przez 2 to składnia będzie : iterator MOD 2 ) 7. Stwórz makro, które będzie wylisotowywać po kolei wartości od 1 do 20, kazdą w osobnej linii. Obok każdej liczby umieść tekst z informacją czy dana liczba jest nieparzysta czy nie (WSKAZÓWKA – to już niebanalne zadanie. Najpierw trzeba stworzyć pętlę wylistowywującą jak w zadaniu 1. Potem wstawić przed wylistowaniem warunek – jeśli reszta z dzielenia przez 2 wynosi 1 to jest to liczba nieparzysta, jeśli 0 to parzysta, można posłużyć się instrukcją warunkową, np. jeśli reszta z dzielenia iteratora wynosi 0 to wylistuj iterator & „- parzysta”, w innym przypadku wylistuj iterator & „ – nieparzysta” ) 8. Stwórz makro, podobnie jak w ćwiczeniach na zajęciach, które będzie symulować rzut kością. Dodaj jednak pętlę, by robiło to 10 razy. Dodatkowo dodaj jednak zmienną, która będzie podliczać ile sumarycznie wypadło w stylu „WYNIK, suma oczek to SUMA”. (WSKAZÓWKA – przed pętlą for możesz zdefiniowac jakąś zmienną = 0, do której potem będziesz dodawał wyniki i wyswietlał ile ta zmienna wynosi jako suma, pamiętaj że ta zmienna musi być uaktualniania jako zmienna=zmienna+wynik, inaczej stracisz poprzednią wartość ) 9. Napisz makro, które będzie wyświetlać numer iteracji pętli oraz wynik mnożenie wartości iteracji przez poprzednie (WSKAZÓWKA – to zadanie z kartkówki, podobnie jak w zadaniu 8 trzeba wcześniej stworzyć zmienną niezależną od iteratora, która będzie uaktualniania w pętli) 10. Wymyśl 10 śmiesznych tekstów. Stwórz makro, które będzie brało jakąś początkową wartość, w zależności od tego jaką ma cyfrę jedności wyświetało jeden z 10 śmiesznych tekstów. Po wyświetlania tekstu wartość powinna zmniejszyć się o dowolną liczbę od 1 do 9. Niech pętla iteruje się maksymalnie 100 razy ale przerywa w momencie w którym wartość początkowa spadła poniżej 10. (WSKAZÓWKA – to już jest bardzo rozbudowane zadanie, analizując je po kolei: a. Zacznijmy od zdefiniowania początkowej wartości Zmienna=1237 b. Potrzebujemy pętli for która będzie iterować się od 1 do 100 c. Wyliczamy wartość reszty dzielenia liczby przez 10. Wartosc = Zmienna MOD 10 d. Stosując operator Call oraz instrukcję Case możemy wprowadzić wyświetalnie smiesznego tekstu w zależności od reszty z dzielenia (zostało to wystarczająco dobrze opisane w ćwiczeniach na zajęciach) e. Losujemy dowolną liczbę od 1 do 10 (chociażby zadanie 8) f. Odejmujemy od wartości wylosowaną liczbę. Wartosc = Wartosc – Losowana g. I sama pętla już jest gotowa. Potrzebujemy jeszcze warunku, że przerwiemy ją w momencie w którym wartość będzie mniejsza od 10. Robimy to przez instrukcję warunkową: if Wartosc<10 Then Exit For Pamiętamy jeszcze by zamknąć pętlę for wykorzystując instrukcję „Next”. )