(Strona testowana w przeglądarce Internet Explorer)

Zastosowanie VB w excel’u.

Z5_1. Przekopiować plik „proba z makrem” na własny nośnik z nazwą „proby z makrem nazwisko_imię” a następnie otworzyć go w excelu włączając makra. Przeanalizować działanie makra „nowe”.

W tym samym module napisać makro „nowe_1”, które będzie działało tak samo jak makro „nowe” lecz w którym, zamiast
instrukcji wyboru CASE, będą zastosowane instrukcje warunkowe proste a następnie kolejne makro: „nowe_2”,
w którym zamiast instrukcji warunkowych prostych będzie jedna instrukcja warunkowa rozbudowana: if...elseif...end if.
Zapisać skoroszyt opcją: „Zapisz jako – z obsługą makr”.
Działanie makra „nowe”:


 

 

OPTION EXPLICIT

 

Sub nowe()

                                 '’deklaracje zmiennzch

Dim  etat As String   

Dim  i As Integer

 

For i = 1 To 7

    etat = Cells(1 + i, 1).Value

 

    Select Case etat

    Case "sprzedawca"

    Cells(1 + i, 3).Value = 8              ‘(1)

    Case "kierownik"

    Cells(1 + i, 3).Value = 15            ‘(2)

    Case "asystent"

    Cells(1 + i, 3).Value = 10            ‘(3)

    End Select

Next i

 

End Sub

 

Case.jpg

 

 

 


 

Z5_2. W tym skoroszycie zarejestrować makro o nazwie: „Imię”, które komórki A1:J1 wypełni kolejnymi liczbami naturalnymi. Przeanalizować jego
kod a następnie uruchomić go w arkuszu 2.

Zapisać skoroszyt opcją: „Zapisz jako – z obsługą makr”.

 

Z5_3. W module 1 dopisać podprogram (makro) o nazwie „Nazwisko”, które, stosując pętle for:

a)      zakres A1:J1 wypełni kolejnymi liczbami naturalnymi. Zastosować metodę: Cells(w,k).Value.

b)      zakres A2:J2 wypełni pierwiastkami kwadratowymi z tych liczb. Zastosować metodę: Cells(w,k).Value.

c)      zakres A3:J3 wypełni kolorami o indeksach jak odpowiednie powyższe liczby. Zastosować metodę: Cells(w,k).Interior.Colorindex.

Uruchomić go w arkuszu 3. Zapisać skoroszyt opcją: „Zapisz jako – z obsługą makr”.

 

Z5_4. W arkuszu 4 postawić przycisk o nazwie: „cmdRK” i opisie: ”Rozwiązywanie równania kwadratowego” Do kodu programu utworzonego do tego przycisku przekopiować kod program na obliczanie pierwiastków równania kwadratowego (Z2_3), poprawić i przerobić go, aby działał w ten sposób,
że: współczynniki: a, b, c będzie pobierał z komórek: C5, C6, C7 a wyniki x1, x2, „brak pierwiastków” wypisze odpowiednio w komórkach:
E5, E6, E7.

Uruchomić go w arkuszu 3. Zapisać skoroszyt opcją: „Zapisz jako – z obsługą makr”.

 


 

Z5_5. Przykładowe zadanie na kolokwium (trudniejsze).

 

Stwórz program, który będzie liczył kolejne przybliżenia liczny Eulera „e” z następującego wzoru:

 

gdzie, n zadaje użytkownik w programie poprzez pole tekstowe (textbox) jako wartość naturalną większą od zera, czyli np. dla n=3, „e” ma być obliczone z wzoru:

 

 

 

Na formularzu ma się znajdować: przycisk (button) „Oblicz”, który uruchamia procedurę obliczeniową i etykiety zapewniające czytelność programu a wyniki: „obliczone „e” dla kolejnych wartości „n” mają być wyświetlone w listboxach. Dodatkowo w labelu i w MessageBoxie wyświetlić również końcową obliczoną wartość liczby „e”.

Silnia ma w programie być liczona ze wzoru:

 

 

 

 

 

lste

 

lstn

 

lble

 

lbln

 

lblekon

 

lblek

 

txtn

 

lblwprn

 

 


 

Option Explicit

 

Private Sub cmdOblicz_Click()

 

Dim ekon, suma As Single

Dim silnia As Long

Dim i, j, n As Integer

Dim odp As Byte

 

n = Val(txtn.Text)

 

if (n < 1 Or n > 11) Then

odp = MsgBox("n ma być w zakresie od 1 do 11", vbExclamation, "Błąd")

End

End If

 

lstn.Clear

lste.Clear

lblekon.Caption = ""

 

suma = 2

For i = 1 To n

silnia = 1

For j = 1 To i+1

 silnia = silnia * j

Next j

suma = suma + 1 / silnia

lstn.AddItem  j-2

lste.AddItem  suma

Next i

ekon = suma

lblekon.Caption = str(ekon)

MsgBox ("e=" + Str(ekon))

End

End Sub