Zachodniopomorski uniwersytet technologiczny instytut technologii mechanicznej



Pobieranie 366.54 Kb.
Strona4/9
Data28.04.2016
Rozmiar366.54 Kb.
1   2   3   4   5   6   7   8   9

Zadanie - Plik LISTA Z DZIEKANATU





Polecenia do wykonania.


  1. Wzorując się na przykładzie 2 napisz funkcję o nagłówku:



    Function Pozycja_spacji(nr As Integer, napis As String) As Long

    której zwracaną wartością jest pozycja spacji w tekście określonym przez argument napis, przy czym jeśli nr=1 ma być określana pozycja pierwszej spacji, nr=2 drugiej spacji itd. aż do czwartej spacji - nr=4. Dla nr ≠ 1,2,3,4 funkcja ma przyjmować wartość 0. Wywołaj tę funkcję w arkuszu tak jak to jest pokazane na rysunku.





  1. Napisz funkcję o nagłówku:



Function Fragment(nr As Integer, napis As String) As String


    która zwraca fragment tekstu, który znajduje się pomiędzy spacjami w tekście określonym przez argument napis. Jeśli nr=1 funkcja ma wyznaczyć tekst do pierwszej spacji, dla nr=2 tekst pomiędzy pierwszą a drugą spacją, dla nr=3 tekst pomiędzy drugą a trzecią spacją, a dla nr=4 tekst od trzeciej spacji do końca. Wywołaj tę funkcję w arkuszu podobnie jak funkcję Pozycja_spacji.



  1. Napisz funkcję VBA, która oblicza ilość spacji w tekście określonym przez argument funkcji. Skorzystaj z następującego spostrzeżenia: po usunięciu z tekstu wszystkich spacji długość tekstu zmniejszy się o ilość spacji; usunięcie spacji można zrealizować za pomocą funkcji Visual Basica Replace (por. pomoc VB) zamieniając spację " " na brak znaku "".


Ćwiczenie 4

Zagadnienia:


  • Pętla For

Zadanie 1

Należy zaprojektować makro, które zamienia cyklicznie wartości w komórkach od A1 do A20 wg następującego schematu:


A20→A19→……….→A2→A1



Przepisz w edytorze VBA projekt makra poniżej, zastępując instrukcje ujęte w nawiasy klamrowe instrukcją pętli For.
Sub zamień()

Dim x As Range, z As Variant, k As Integer

Set x = [a1:a20]

z = x(1)

x(1) = x(2)

x(2) = x(3)

'

'

'

x(19) = x(20)

x(20) = z

End Sub

Zadanie 2

Napisz makro, które zamienia cyklicznie wartości w komórkach od A1 do A20 wg następującego schematu:


A1→A2→……….→A19→A20

Wskazówka: Należy użyć instrukcji For z frazą Step:


For k = … toStep

Zadanie 3

Napisz makro, które zamienia wartości w komórkach od A1 do A20 wg następującego schematu:


A1 ↔A20, A2 ↔A19, A3 ↔A18 itd. aż do A10 ↔A11
Zmodyfikuj makro w taki sposób, aby zamieniało na podobnej zasadzie wartości w komórkach zakresu zaznaczonego w Excelu, tzn. pierwszą z ostatnią, druga z przedostatnią itd. Związanie zmiennej x typu Range z wybranym zakresem komórek w arkuszu realizuje się instrukcjami:
Dim x As Range

Set x = Selection
Ilość komórek w zakresie określa wyrażenie x.Count.

Zadanie 4

Za pomocą formuły =sin(wiersz()) wypełnij komórki w zakresie D1:D30. Następnie w edytorze VBA:



  1. napisz makro, które koloruje na czerwono wartości dodatnie a na niebiesko wartości ujemne ( wskazówka: [D1].Interior.ColorIndex = 3 wprowadza w komórce [D1] czerwony kolor tła zaś

[D1].Interior.ColorIndex = 5 niebieski);

  1. napisz makro, które zlicza wartości ujemne i wartości dodatnie;

  2. wyznacz za pomocą makra wartość maksymalną/minimalną.

Zadanie domowe

Oblicz przybliżoną wartość liczby z dokładnością do 0.0001 wykorzystując szereg:




Wypisz również kolejne sumy częściowe tego szeregu w wybranej kolumnie.

Ćwiczenie 5


Zagadnienia:

Ćwiczenie to dotyczy arkusza rodzina.xlsm, który należy pobrać z dysku P:\office2007. W arkuszu tym należy nadać nazwy zakresom komórek zgodnie z rysunkiem poniżej (należy nazwać zakresy bez nagłówków). W drugiej części tego dokumentu podane są przykłady makr i funkcji, które mogą być pomocne w realizacji ćwiczenia. Przykłady te można skopiować do edytora VBA (w nowym module), odpowiednio sformatować, a następnie makra należy uruchomić, zaś przykładową funkcję użyć w odpowiedniej formule.




Zadania

  1. Napisać funkcję, która obliczy ile pieniędzy wydali rodzice.

  2. Napisać makro, które obliczy ile pieniędzy wydały dzieci.

  3. Napisać funkcję, która obliczy ile razy robiły zakupy dzieci.

  4. Napisać makro, które obliczy ile razy robili zakupy rodzice.

  5. Napisać funkcję, która obliczy ile pieniędzy wydano w określonym dniu (data jako parametr funkcji)

  6. Napisać makro, które wypisze w wybranym obszarze osoby, które kupowały jajka.

  7. Za pomocą makr lub/i funkcji wyznaczyć dzień, w którym wydano najwięcej pieniędzy.

  8. Napisać makro, które tworzy listę wydatków zrobionych w niedziele w miesiącu lutym. (por. help: funkcja Weekday)

  9. Napisać funkcję, która obliczy ile pieniędzy ogółem wydała wskazana osoba.

  10. Napisać funkcję, która obliczy ile pieniędzy ogółem wydano dla wskazanego rodzaju wydatków (w polu grupa).

  11. Za pomocą makra wykonać zestawienie, które podaje dla każdego dnia w miesiącu lutym 1995 r. liczbę wydatków i łączną kwotę wydatków.

  12. Wypisać za pomocą makr lub/i funkcji wszystkie daty dni miesiąca lutego 1995 r., w których tata nie robił zakupów (nie wydawał pieniędzy).

  13. Za pomocą makra, żółtym kolorem zaznaczyć 3 najmniejsze kwoty wydatków. (tło komórki w kolorze żółtym)

  14. Napisać makro, które wypisze w wybranym obszarze daty trzech dni, w których wydatki rodziny były największe, a obok kwoty tych wydatków.

  15. Uogólnić makro z p. 14 na k- maksymalnych wartości. Zastosować procedurę dla k = 5 w zagadnieniu wypisania dat 5 dni, w których zanotowano największą ilość wydatków. (uwaga: jeśli n jest liczbą wszystkich wartości – elementów zbioru, to powinno być k <= n; gdy k = n dostajemy procedurę sortowania).

  16. Wypisz bez powtórzeń listę wszystkich rodzajów wydatków.


1   2   3   4   5   6   7   8   9


©absta.pl 2016
wyślij wiadomość

    Strona główna