You are on page 1of 10
Trong suét thoi gian ghi, macro da duc lwu lai voi ten xac dinh trong module, module dug tao ra trong qua trinh ghi va la mot phan ctia Workbook. Macro dugc ghi lai 6 thé dug luu trong This Workbook (Workbook hién hanh), New Workbook (Workbook mdi) hoac trong Personal Macro Workbook (nh@ng macro s@ hu riéng). Nhéng macro dug lu trong Personal.xls d&u stv dung dug khi ban mé Excel ra. Cac macro trong cdc Workbook khdc nhau co thé str dung bat clr Itic nao khi cdc Workbook dang mé (ké ca str dying chting tir Workbook khac). Diéu kién dé co thé thwe hién ghi macro: 1. Trén workbook dang dug kich hoat (Activate Workbook) 2. Trén workbook mdi Chie nang nay chi khéng thye hign khi ban dieng ghi. Chtre nang ty ghi khong c6 tac dung déi voi mét sé cong viéc. Vi du: nh trong qua trinh ghi macro, mét 6 duge chon (select) & hién tai sé khong dug ghi lai céc hanh d6ng xay ra voi né khi ban khéng thyc hién céng viéc trong 6 dé. Ngoai ra, Excel cling khéng ghi lai cdc céng viéc khi dang st? dung bang diéu khién (dialog box) cho dén khi ban bam nuit OK trén bang diéu khién dé. Bé hiéu ro hon thi-ban hay thy hanh c6ng viée ghi macro nhu & duéi day: 2.1- Tao macro bang chtrc nang Recorder Macro Ban hay tién hanh tao macro dau tién bang chtvc nang ty ghi macro. Noi dung macro nay trinh bay t6n va dia chi cla ban, cach thc hién nhu sau 1. Trong Tools/Macro, chon Record New Macro (hinh 2-1). 2. Trong Macro name: gé Address_abs dé dat tén macro dé (hinh 2-2). Dac diém la ky tu dau tién la cia ten macro phai IA chi? khong cé d4u (c6 nghia khéng phai la chit tiéng Viét). Con cac ky ty khac co thé la chi, sé hodc ky tw gach dui (ky ty _). Cac ky tw dac biét nhu khoang tréng (Space), @, %, $, #, &... khong duoc chap nhan, ban cé thé dung ky tu’_ dé tach tén trong macro. Quy dinh viét tén cla macro hay ham ty lap dé cap chi tiét hon trong myc 9.1. 3. Chuyén sang Shortcut key: dé tréng (ban sé thu'c hién viée nay sau). 4. Trong Store macro in: dé mac dinh la This Workbook. 5. Trong Description: ban g6 néi dung sau: Enter address starting in cell B3 6. Bam OK 7. Thanh Stop Recording sé xuat hién trong sudt qua trinh ghi macro. Ban cé thé di chuyén no dén vi tri khac (néu thay can thiét) bang cach bam trai va gid chudt tai thanh tiéu dé cia thanh Stop Recording. 8. Trong thanh Stop Recording, nut Relative Reference mac dinh bi mo (khéng tac dung - hinh 2-3). 9. Trong Sheet1, bam vao B3 va gé tén clia ban. © & dudi go tén lop, tiép theo Ia tén trudng ma ban dang hoc. Chwy la ban sty dung chi? khéng co dau, vi néu cé dau thi néi dung chi? dé trong macro sé khé doc 10. Cho toan b6 cac chi? dam va nghiéng. 11. Bam vao 6 B6. 12. Trong Stop Recording, bam vao nuit Stop Recording. Nguyen Van Hung Lop DCCT-DKT K48 Truong DH Mo Dia chat wt» chet { sheer sheer / Ready Record Hinh 2-3: Qué trinh ghi macro Nhu vay, macro cé tén Address_abs da duc ghi lai. Nnivng 6 ma an da str dung trong qué trinh ghi dugc thé hién dui dang dja chi tham chiéu tuyét déi (tén 6 gdm c6 hang va cét, vi du A2, CD78....). Vi vay, nhing 6 trong Worksheet do sé thyc hién khi ban cho thyc hién macro, tén ban, tén lop va tén trvong sé duc tao ra dung vi tri trong Worksheet. Tiép theo ban sé tao mét macro giéng nhw trén cling bang cach ghi macro. Chi khac la Macro truéc da chon khdi 6 (hay Ia vung) cé dia chi tham chiéu tuyét-d6i, con Macro sau sé sir dung quan hé tham chidu 6 tuong déi (quan hé voi vi tri cla 6 duoc kich hoat ban dau). 1. Chon Sheet1. 22 Bam vao 6 B11 Trong menu Tools/Macro, chon Record New Macro (hinh 2-1). Trong Macro name: g6 Address_Ref dé dat tén macro dé (hinh 2-2) aR ON Trong Shortcut key: Gite phim Shift va go cht A, nhw vay phim tat 98 la Ctrl+Shift+A. Ban nén tranh truong hop phim tat dé chay macro tring voi phim tt sn c6 trong Excel. Néu chang may ban tao phim tat chay macro tring voi phim tt trong Excel thi khi bdm phim tat, macro dé sé chay va phim tat sé khong cé tac dung. 2 Trong Store macro in: dé mac dinh la This Workbook N Trong Description: ban g6 néi dung sau Enter address starting in activate cell position Bam OK Thanh Stop Recording sé xuat hién. Ban c6 thé di chuyén né dén vi tri khac néu thay can thiét. © @ 10. Trong thanh Stop Recording, bam vao nut Relative Reference cho sng lén (c6 tac dung nhu hinh 2-3), Excel sé tiép tye ghi macro v6i quan hé tong déi cho dén khi nao thoat khoi Excel hoac ban bam lai vao nut Relative Reference. 11. G6 tn ban, lp, tén trudng va dia chi trong cac 6 B11, B12, B13 va B14. Ndi dung the hién nhw sau: Nguyen Van Hung Lop DCCT-DKT K48 Truong DH Mo Dia chat xa Dong Ngac, Tu Liem, Ha Noi 12. Cho toan bé cac cht dam. 13. Bam vao 6 B15. 14. Trong Stop Recording, bam vao nut Stop Recording. Ban cé thé str dung chi? co dau tiéng Viét, tuy nhién khi sang ctra sé VBE thi chi do sé rat kho doc. Ghi ché: Khi str dung quan hé tham chiéu 6 tuong déi, chon 6 géc (ActiveCell) truéc khi chon ntit Relative Reference, cac 6 khac quan hé tham chiéu tuong déi voi 6 géc do. Ban cé thé la chon hén hop dia chi tuyét déi va twong dai trong qua trinh ghi macro. Tuy nhién, ban khdng nén str dung phuong phap nay vi qua trinh tham chiéu sé lon x6n, khé theo di. 23 - Dé stv dung tham chiéu twong déi trong sudt qua trinh ghi macro, nut Relative Reference luén sang (cé tac dung). - Dé stv dung tham chiéu tuyét di trong suét qua trinh ghi macro, nut Relative Reference ludn t6i (khdng tac dung) 2.2- Thyc hién macro khi st» dung bang diéu khién macro Thyc hién mét macro 1a qua trinh thi hanh cac lénh chtra trong macro dé (con ggi la thuc thi hodc la chay macro. Ban cho thy hién macro trén tl Sheet2 nhu sau: 1. Chon sang Sheet2 va bam vao 6 nao dé ngoai 6 B3. 2. Trong menu Tools/Macro, chon Macros (hinh 2-1). 3. Bdm vao macro c6 tén Address_abs trong danh sach macro (hinh 2-4) Bam vao nut Run Sau d6 ban sé thay néi dung thé hién sau khi thuc hién macro & Sheet2 giéng nhu tai Sheet. Ban sé thay céng viéc thue hién trong macro la rat nhanh va chinh xac. Voi cac cong viée phirc tap va xt? ly on hon, thoi gian 8 thi hanh mt macro cé thé vai giay tham chi én dén hang phut. > WN Shoots \ sheet2 ( sheots / Hinh 2-4: Thyc hign macro tir cia sé Macro tai Sheet2 24 2.3- Thuc hién macro khi st dung phim tat (shortcut key) Thu tuc Address_Ref c6 thé duc diéu khién trong bang diéu khién Macro (muc 2.2). Luc truéc phim tat da dugc gan dé thue hién céng viée 46, hay sl dung phuong phap thay thé nay: 1. Tai Sheet2 ban b4m vao 1 6 bat ky (vi du 6 H14). 2. An phim Ctrl+Shift va A. Khi dé tén va dia chi sé xudt hién dudi 6 dé. 3. Ban hay thir thy hién lai macro d6 bang phim tat tai cdc vi tri khae trong Sheet2 2.4- Tam divng the hién va thoat khéi macro Trong qué trinh thi hanh macro, néu muén tam ding hay héy qué trinh thyc hién macro true khi két thie, ban 4n vao nut ESC trén ban phim. Dé thye hién cong viéc nay thi thoi gian thyrc hién macro phai di dai. Vi du, tha tuc Address_abs khi thi hanh thi khéng thé kip dng lai vi thoi gian din ra rt nhanh. Bé kip “bat”, ban bé sung thém vong lap For... Next dé kéo dai thoi gian thy hién (xem cach bé sung ma Iénh vao trong macro trong muc 4.4) Két qua nhw hinh 2-5 6 dudi day: wy) Addvess, ActiveCe ll. FormulaRiC: Range ("54") .Select Activece 11. Fo: |: Range ("D3") .Select Hinh 2-5: Tam difng khi thy hign thi tuc 25 Civa sé Microsoft Visual Basic hién ra thong bao rang thi tye dang thuc hign da bi ngat (Code excecution has been interrupted). Ban o6 cac truong hop wa chon nhu sau: - Continue: tht tuc tiép tuc chay binh thuong. - End: thu tuc ding tai day. ~ Debug: g6’r6i trong thi tuc (xem chi tiét trong Chuong 16). Tuy truéng hop cu thé ma ban chon mat trong cac trvong hop trén Trong mét sé trong hop st? dung vong 1d u khéng can than thd tue sé khéng bao gid két thuic. Vi du nhw th tuc dui day: "Tha tuc lam viéc tét Sub Chuan () Dim i As Integer ie Do Range("Al") .Value = i Msgbox Range ("Al") .Value asied Loop Until i > 10 End Sub Thd tuc trén 6 sty dyng vong lap Do ... Loop tang dan bién i ttr 1 dén 10 va thoat khdi vong lap do thoa man diéu kién i > 10, thu: tuc két thic. Nhu vay th tuc lam viéc tét. Con thu tuc dui day: 'Tha tyc nay bi 14i, khéng bao gid két thuc Sub Loi() Dim i As Integer ee Do Range("Al") .Value = i Msgbox Range("Al") .Value Loop Until i > 10 End Sub Thu tuc 6 trén do quén khai bao dong Iénh i =i + 1, do dé gid tri i van bang 1 va diéu kién i> 10 khéng bao gid dug thod man, vong lp khong bao gid két thc. Tw dé dan dén tinh trang “treo may". Phim ESC lic dé v6 tac dung, ban phai bam Ctrl+Break dé co thé thoat khdi tinh trang “treo may” nhw hinh 2-5. 26 Chuong 3 CACH THUC HIEN MOT MACRO BON GAN Ban da biét cach thue hién macro ti phim tat. Ngoai ra, con mot sé phuong t thirc khac cé thé thu hién macro, ban cd thé thwe hién macro tl cac diéu khién sau: - Déi twong trong worksheet hoac biéu dé. - Nut Iénh (Button) trong thanh c6ng cu (Toolbar) - Thanh menu ctia Excel. 3.1- Thyc hién macro tir mét adi twong trong worksheet C6 nhiéu déi twong trén worksheet c6 thé diéu khién macro, vi dy nhu déi teng dd hoa trong worksheet. Cac bude thy hién nhu sau: 4, Chon Sheet3 hay bat ctr sheet nao cn tréng. 2, Vao menu View/Toolbars chon Drawing (trv truéng hop thanh cong cu Toolbar da cé trén man hinh) 3. Chon déi tueng 48 hoa nhu hinh Oval va vé hinh oval dé 4. G6 chi? vao hinh Oval dé bang cach bam phai chudt, rdi chon Add Text ttr thyc don tat (hinh 3-1). 5. Gé ndi dung Address rdi bam ra ngoai dé thoat, 6. Ban c6 thé thay di kich thuéc hinh Oval cho phi hop dé thé hien dy dt: ndi dung ché & bén trong, ngoai ra cdn phai dam bao tinh my thuat va tién dung khi str dung 7. An phai chust vao hinh Oval d6, chen Assign Macro dé gan thii tue cho déi twong hinh Oval 8. Trong bang Assign Macro, chon macro cé tén Address_Ref. 9. Bam OK: Sau-do, ban cho thue hién chay thty macro: 14. Chon 1 6 nao dé (vi dy nhw 6 J13). 2. Bam vao hinh Oval trén, macro sé thyc hién. ar doi tung dé hoa (cé gan diéu khian macro) ra khéi ché khac trong worksheet, sty dung phai chudt dé di chuyén (b6i vi bam trai chudt thi macro sé thy hién). Cén néu ban muén thay di macro khac thi ban bam phai chudt trén doi twong, chon Assign Macro va lwa chon macro nao ban muén Nhteng déi tung trong Drawing cé chiva tht tuc (macro) khi di chuyén Chuot t6i sé 06 hinh ban tay, dé la dau hiéu dé phan biét voi dai tong khong chiva thi tuc, Format autoshape, Eeypertin. Wty n\ sheet { Sheet sheets / chestd / Ready Hinh 3-1; Gan macro vao hinh Oval 3.2- Thc hién macro tir nut 'énh trong thanh céng cu Ngoai cach 6 trén, ban cé thé thc hién macro tiy nut lénh (button) trong cac thanh céng cu ty tao (Custom Toolbar). Vi dy, ban c6 thé gan viéc diéu khién macro Address_abs vao nuit hinh mat cudi (Smiley Face) nhu sau: 1. Di chuyén chuét dén mét diém nao 46 trong cc thanh Toolbar. 2. An phai chu6t, trong thyc don tat chon Customize. 3. Trong bang Customize, chon tab Toolbars (hinh 3-2). 28 4. Chon nut New. 5. Sau do bang New Toolbar xuat hién, ban gé tén vao (vi dy Macro1) rdi OK 6. Trong bang Customize, chon tab Commands (hinh 3-3) 7. Trong hép Categories, chon AutoShapes 8. Trong Commands, cudn xudng cho: dén khi ban chon dugc hinh ung y (hinh Smiley Face). 9. Tai hinh Smiley Face, git? trai va kéo chudt vao trong thanh céng cu Macro1 (hinh 3-4). Ban c6 thé chon thém cac biéu tong khac néu can 10. Bam phai chudt vao nut Smiley Face, thuc don tat sé hién ra. Ban c6 thé stva hay xoa hinh dé va thay bang cdc hinh khac. Xem them mét sd chtre nang clia thyc don tat tai muc 3.3 & duoi day. 11. Chon Assign Macro trong thyc don tat, chon macro Address_abs va bam OK. 12. Dong bang Customize. Toolbars Commands — Options ("3.0 Settings Borders Chart Chatt Menu Bar Circular Reference Pi compare Side by Side Central Toolbox [__j Diagram # Drawing L lv i f 29 en : culmea _ Toolbars | To add a command to a toolbar: select a category and drag the | commend aut of this dialog box to a toolbar. Categories: “Window and Help Drawin | Teen Saeeees [Folded Commer Charti o @s “Forms ae control Teobox © dont Maceos "to" Symbol Built-in Menus | “New Menu scene Toobars Commands Options To.add a command ta» toolbar: select a category and drag the command out of this dslog box to « toobar. f Cowra i eget Button Image : “Edt Button Imsge... 1 Change futon Image» fF Vandow and Help r : Drawing wi Defer Style i | Text Only (Always) Test Only (Mens) : “image and Text i Hinh 3-4: Tao cdc nét Iénh trong thanh Macroi va gan Assign Macro 30

You might also like