Professional Documents
Culture Documents
VBA Na Sto Dwa, Czyli 102 Cwiczenia Z Wykorzystaniem VBA
VBA Na Sto Dwa, Czyli 102 Cwiczenia Z Wykorzystaniem VBA
Autor oraz Helion SA dołożyli wszelkich starań, by zawarte w tej książce informacje były
kompletne i rzetelne. Nie biorą jednak żadnej odpowiedzialności ani za ich wykorzystanie,
ani za związane z tym ewentualne naruszenie praw patentowych lub autorskich. Autor oraz
Helion SA nie ponoszą również żadnej odpowiedzialności za ewentualne szkody wynikłe
z wykorzystania informacji zawartych w książce.
Helion SA
ul. Kościuszki 1c, 44-100 Gliwice
tel. 32 231 22 19, 32 230 98 63
e-mail: helion@helion.pl
WWW: http://helion.pl (księgarnia internetowa, katalog książek)
Drogi Czytelniku!
Jeżeli chcesz ocenić tę książkę, zajrzyj pod adres
http://helion.pl/user/opinie/vba100
Możesz tam wpisać swoje uwagi, spostrzeżenia, recenzję.
ISBN: 978-83-283-7073-9
Printed in Poland.
Oznaczenia
Większy stopień trudności ( )
Część ćwiczeń opatrzono gwiazdką. Oznacza to, że są one nieco trudniejsze.
Pamiętaj jednak, że ocena stopnia skomplikowania ćwiczenia jest czysto
subiektywna. Ćwiczenia z gwiazdką mogą okazać się dla Ciebie łatwe, nato-
miast te teoretycznie łatwiejsze — wręcz przeciwnie. Nie sugeruj się więc
przesadnie oznaczeniem, a przede wszystkim nie daj się zniechęcić do podję-
cia wyzwania.
Komentarz ( )
Komentarz zawierający wyjaśnienie zastosowanego w danym przypadku
rozwiązania, omawiający funkcję Excel lub VBA, zwracający uwagę na jakiś
szczegół lub sugerujący dobrą praktykę.
Start = Timer
'tu umieść kod
Finish = Round(Timer - Start, 2)
MsgBox Finish & " sekund"
End Sub
1. Tabliczka mnożenia
Ćwiczenie
1 Napisz procedurę, która utworzy tabliczkę mnożenia od 1 do 100, jak na
poniższym obrazku.
Rozwiązania
Option Explicit
Sub MultiplicationTable()
Dim Row As Byte, Col As Byte
Dim Num As Byte
Dim Sht As Worksheet
Set Sht = ThisWorkbook.Worksheets(1)
For Row = 1 To 10
For Col = 1 To 10
Num = Row * Col
Sht.Cells(Row, Col).Value = Num
Next Col
Next Row
End Sub
Sub MultiplicationTable()
Dim myArray(1 To 10) As Byte
Dim Row
As Byte, Col As Byte
Dim Num
As Byte
Dim Sht
As Worksheet
Set Sht
= ThisWorkbook.Worksheets(1)
For Row
= LBound(myArray) To UBound(myArray)
For
Col = LBound(myArray) To UBound(myArray)
Num = Row * Col
Sht.Cells(Row, Col).Value = Num
Next Col
Next Row
End Sub
W VBA należy mieć na uwadze, że ten sam cel można osiągnąć na wiele róż-
nych sposobów. W drugim rozwiązaniu tabliczka mnożenia została utwo-
rzona z wykorzystaniem tablicy.
2. Dla małych pętli stosuj przycisk F8, aby krok po kroku przechodzić
przez program.
Rozwiązania
Option Explicit
Sub MultiplicationTableTwoStep()
Dim Row As Byte, Col As Byte
Dim i As Byte, j As Byte
Dim Num As Byte
Dim Sht As Worksheet
Set Sht = ThisWorkbook.Worksheets(1)
Row = 1
For i = 1 To 10 Step 2
Col = 1
For j = 1 To 10 Step 2
Num = i * j
Sht.Cells(Row, Col).Value = Num
Col = Col + 1
Next j
Row = Row + 1
Next i
End Sub