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”. )

Podobne dokumenty