You are on page 1of 492
PHAN TU HUGNG Lap Trinh (Visual Basic for Applications) (In tai ban) NHA XUAT BAN THONG KE HA NOI, nam 2009 LOI NOI DAU Hién nay, phn mém Excel da tro nén than thude déi voi nhiing ngw thong xuyén lam viée véi bang tinh va biéu do. Khé néing tinh todn, phan tich va wit ly dit liéu tuyét voi ca phan mém Excel c6 thé gitip ching ta gidi quyét duoc nhiéu loai céng viée khéc nhau. Bai cb nhiéu stich tiéng Viet hudng dan ste dung phan mém Excel tir co ban dén nang cao, ting dung tir nginh kF thudt dén linh vive kinh té. Tuy nhién, phén lon sach a6 chi huéng dén khai théc cdc céng cu va chite nang sén c6 trong phan mém Excel, Voi doi hoi cita cong viee ngay cang cao thi viee stt dung céng cu va chite nang san cé trong phan mém Excel nhiéu khi rat khé khan hode khéng thé dap ting duge. May man thay, Microsoft dé hé tre ngén ngit lap winh Visual Basic for Applications (goi tat la VBA) tich hop trong phan mém Excel (cing voi cdc phan mém khac trong goi Office). La ngén ngit lap trinh Visual Basic (VB) phat trién trong ting dung, VBA da gitip phan mém Excel cé kha nang tuy bién cao, vot ra khoi gibi han bang tinh thong thong. Sit dung VBA cting voi céc céng cu san cé trong phan mém Excel gitip ching ta co thé gidi quyét doe nhiéu bai todn phite tap voi khé nang tw déng héa cao, sin phdm c6 thé trong duong vi céc phan mém chuyén dung. Ngon ngit VBA rét gdn giti voi VB, trong khi dé VB la ngén ngit duve str dung pho bién & Viet Nam cing nhu todn thé gidi vi dé sit dung va ngudn sdch va, tdi liéu phong phi. Mét sd trwong dai hoc trén thé gidi da dua VBA vdo gidng day chinh thitc. Con tai Viet Nam, nhiéu ngwoi cing rat quan tam dén ngén ngit nay, daic biét la nhitng ngudi lam viée trong linh vuc dia chat, khai thic mo, xdy dung, giao thong, thuy loi, tai chinh, ké todn, kinh té,... Hién nay, Truong Pai hoc Mo Bia chat, Tredng Dai hoc Giao théng vn téi, Truong Dai hoc Xay dyng da dia ngén ngit VBA vao gidng day trong mot sé chuyén nganh. Hon nita, khi nam duge VBA trong Excel, ban cé thé dé dang nam bit VBA trong AutoCad, day la mot phan mém chuyén vé linh vue dé hog rat néi tiéng thudng duge sir dung trong cde ngdnh kF thudt. Tuy nhién, sach huwéng dan stv dung VBA bang tiéng Vier thi rat hiém hode chi duge dé cép rat han ché trong cdc tai lieu c6 lién quan Vi vay, cudn sdch nay hy vong dap tmg mét phan nhu cau cia nhiing ai quan idm dén ngén ngit VBA noi chung va ting dung trong Excel néi riéng 3 Trong lan tai ban nay, cudn séch dé duge sita aéi, bb sung cho phi hop vd dé hiéu hon. Mét.sé doan code dugc trinh bay lai cho hop ly: nhém gitip ban doc dé ding tiép can hon voi ctta sé kim vige cia VBA Toi xin cém on cée thanh vién trong dién dan www giaiphapexcel.com va dic biét la Ban quan tri da gép ¥, cung cap nhiéu kién thite cing nh ede san phdm ting dung ctta VBA dé cudn sich duoc hodn thién. Téi ciing xin giti Ioicdmon dén cde anh Lé Van Duyét (Ci ‘ng ty TNHH Dunlopillo - TPHé Chi Minh), Nguyé én Duy Tuan (Trrong Pai hoc Cong nghiép Ha Néi), Dao Viet Cudng (Cong 0» Co phan Du lich va Thuong mai Vinpearl ~ Nha Trang), Nguyén Van Son (Cong ty Cé phdn Nay dung bat cing - Hai Phong)... da tan tinh gitip dé t6i hodn thanh cudn séch nay, Tée gid MUC LUC Chwong t: GIG! THIEU VE VISUAL BASIC FOR APPLICATIONS Chuong 2: GHI VA THUC HIEN MACRO 2.1- Tao macro bang chire nang Recorder Macro 2.2- Thue hién macro khi sir dung bang diéu khién macro 2.3- Thue hién macro khi sir dung phim tit (shortcut key) 2.4- Tam dimg khi thyc hign macro Chuong 3: CACH THUC HIEN MOT MACRO DON GIAN 3.1- Thue hién macro tir m6t déi wrong trong worksheet 3.2- Thue hién macro tir nit lénh trong thanh cong cu 3.3- Thuc hién macro ttr thanh menu 3.4- Thay déi Iya chon trong macro Chong 4: CUA SO VISUAL BASIC EDITOR (VBE) 4.1- Cau trite ctra sé VBE 4.2- Cita s6 soan thao code (Code window) 4,3- Cita 36 Immediate 4.4- Higu chinh trong VBE 4.4.1- Thay ddi tén ctia tht tuc 4.4.2- Stra dOi ma 1énb trong thi tuc 4.4,3- Tao thém Module trong cia sé VBE 4.4.4- Gd bo module Chuong 5: LAM VIEC VOI FILE EXCEL CO CHUA MACRO 5.1+ Sir dung chite nang Security 5.2- Str dung cdc chong trinh diét virus 5 Chuong 6: UU, NHU'O'C DIEM CUA CHUC NANG TU GHIMACRO 6.1-Uu diém cita chtte néing tr ghi macro 6.2- Nhuge diém cia chite nang ty ghi macro Chuong 7: NGON NGU VISUAL BASIC FOR APPLICATIONS 7.1- Cac déi tong (Objects) 7.2- Cac phuong thire (Methods) 7.3- Cac thudc tinh (Properties) Chuong 8: MOT SO DOI TUGNG CO BAN TRONG EXCEL 8.1- Déi tugng Application 8.1.1- Thudc tinh Calculation 1.2- Thude tinh ScreenUpdating 8.1.3- Thude tinh DisplayAlerts 8.2- Déi tuong Window 8.3- Déi tuong Workbook 8.4- Doi tong Worksheet 8.4.1- Xac dinh ac théng tin trong Worksheet 8.4.2- Nhdp dit ligu vio trong Worksheet 8.4.3- Diéu khién Worksheet 8.5- Doi tugng 6 (cell) va khdi 6 (range) 8.5.1- Thude tinh Range 8.5.2- Thudc tinh Selection 8.5.3- Thudc tinh Cells 8.5.4- Thude tinh Offset 8.5.5- Thude tinh Rows va Columns 8.5.6- Cac kiéu thude tinh khac trong tham chiéu 6 a 58 60 62 66 67 67 68 8.5.7- Xac dinh thén, 8.5.8- Tao ving truc tiép (khdng sir dung VBA) 8.5.9- Tao ving bang cach str dung VBA 8.5.10- Lam viée véi nhiéu ving 8.5.11- Di chuyén, sao chép va xoa 6 (khdi 6) 8.5.12 Mot s6 thude tinh hitu ich cita déi tong Range 8.6- Tra citu va tham khao ddi tuong Chwong 9: KHAI BAO VA SU DUNG BIEN TRONG VBA 9.1- Khai bao kiéu gia tri cho bién 9.2- Cac toan tir trong VBA 9.3- Biéu thire 9.4- Gan gia tri cho bién, hing va déi trong 9.4.1- Gan gid tr] cho bién 9.4.2- Gan gia tri ld hing s6 cho bién 9.4.3- Gan gid tri cho bién déi trong 9.4.4- Hudng dan truyén tham s6 bang gid tr 9.5- Khai bao va sir dung mang (Array) 9.5.1- Mang cé kich thuéc cé dinh 9.5.2- Mang dong 9.6- Sir dung Type dé khai bao bién nguai ding 9.7- Xéc dinh kiéu bién bang ham TypeName 9.8- Vong dai cia bién Chuong 10: SU DUNG TRG GIUP TRONG VBA 10.1- Tro gitip truc tiép trong méi trudng VBA 10.2- Sir dung hép thoai tr gitip voi chit dé 86 87 87 88 89 93 96 1s 8 119 10.3- Sir dung vi du mau cita Excel 10.4- Sit dung Internet Chuong 11: THIET LAP MOI TRUGNG LAM ViEC L1.1- Sir dung Options 1.2- St dung VBA. Project Chwong 12: PHUONG PHAP TU XAY DUNG MACRO 12.1- Xay dung macro 12.2- Ngiit dong khi ma lénh qué dai 6 12.3- Cac i xy ra khi xay dung macro Chuong 13: SU DUNG VA XAY DUNG HAM TRONG VBA 13.1- Str dung céc ham sin cé trong Excel 13.1.1- Goi cdc ham trong Worksheet tir VBA 13.1.2- Chén ham s6 trong Worksheet vao 6 13.2- Str dung cdc ham trong VBA 13.2.1- Ham todn hoc 13.2.2- Ham xae nhan dit ligu 13.2.3- Ham chuyén ddi gitta ede kiéu dit ligu 13.2.4- Ham vé xi ly chudi 13.2.5- Ham dinh dang dit ligu 13.2.6- Ham tao s6 ngau nhién 13.2.7- Ham vé ngay gid 13.2.8- Ham vé dé hoa 13.2.9- Ham chuong trinh 13.2.10- Cac ham khac 120 121 123 124 13.3- Xay dung ham trong VBA 13.3.1- Phan biét ham ty lap véi thi tuc 13.3.2- Cach xdy dung ham 13.3.3- M6 ta ndi dung ham 13.3.4- Tao va str dung ham trong Add-Ins 13.3.5- Goi ham ttt thi tuc Chuong 14: CAU TRUC DIEU KHIEN 14.1- Diéu khién c6 didu kign 14.1.1- Diéu khién IF 14.1.2- Diéu khién Select Case 14.1.3- Diéu khién And 14.1.4- Diéu khién Or 14.1.5- Diéu khién sir dung nhiéu And va Or 14.2- Diéu khién vong lap 14.2.1- Diéu khién Do ... Loop 14.2.2- Diéu khién Do While ... Loop 14.2.3- Diéu khién Do ... Loop While 14.2.4- Diéu khién Do Until ... Loop- 14.2.5- Diéu khién Do ... Loop Until 14.2.6- Diéu khién For ... Next 14,2.7- Diéu khién For Each... Next 14.2.8- Lénh thodt (Exit) 14.2.9- Vong lap ling 14.2.10- Diéu khién With - End With 165 165 165 169 170 176 178 Chuong 15: HOP THOAI TRONG VBA 15.1- Hp théng bao Message box (Msg Box) 15.1.1- Cac loai théng diép trong buttons 15.1.2- Théng sé cia nut diéu khién 1.3- Cac biéu trong théng digp trong Msgbox 15.1.4- Xay dung tham sé cho MsgBox 15.2- Phuong thite InputBox 15.3- Ham InputBox Chuong 16: KY THUAT XU LY LOI 16.1- Cac kiéu 16i thuong gap 16.2- Léi thi hanh va cach xtr ly 18i 16.2.1- Xae dinh va lim viée véi nhimg 13i xay ra 16.2.2- C; +h “bay” 16i chi tiét bang On Error 16.2.3- G6i gon xr ly 16i 16.2.4- Nhiing trudng hop nén bé qua 13i 16.2.5- Xac dinh Idi cu thé 16.2.6- Léi do ngudi sir dung cé y 16.3- L6i lap trinh va ky thuat xtr ly 164 16.3.1- Cac loai 16i lap trinh 16.3.2- Xac dinh 1éi va ky thual xir ly 13i 16,3.3- Str dung c6ng cy stra Ii cia VBA (VBA Debugger) 16.4- Cac phuong phap giam 13i 16.5- Nhitng théng sé vé ma lénh Ii trong VBA Chwong 17: LAP TRINH SU KIEN TRONG EXCEL 2003 17.1- Chi din vé cdc thil tue cia su kién 17.2- Lam hitu hiéu va v6 hiéu cdc su kién 194 194 195 195 195 197 200 217 224

You might also like