1 of 28 7/20/2007 12:00 PM
# 1
Trang chNi Quy Ghi Danh Thành Viên Thư vin Bài Trong Ngày Tìm Kiếm
Gii Pháp Excel > Góc hc tp > Hc tp Online
Kiến thc cơ bn v Visual Basic for Applications (VBA)
Ký danh Ghi Nh?
Mt mã Ðăng Nhp
Trang 1/ 4 123>cui »
Ðiu Chnh Kiếm Trong Bài
15-11-06, 07:38 PM
PhanTuHuong
6th Excel Member
Tham gia ngày: 06 2006
Nơi Cư Ng: Hà Ni
Bài gi: 1,060
Thanks: 86
Thanked 366 Times in 204 Posts
Tôi xin gii thiu nhng kiến thc cơ bn v macro trong Excel 2003 (TÀI LIU MI
BIÊN SON NÊN CÒN CÓ SAI SÓT- RT MONG ĐƯỢC S GÓP Ý CA CÁC THÀNH VIÊN!)
Đây là cun sách tôi dch t “Introduction to using macros in Microsoft Excel 2003” trường Durham
Information Technology Service xut bn. Ngoài ni dung trong đó, tôi có b sung t nhiu ngun tài liu
và kinh nghim ca bn thân.
2. Ghi và thc hin macro
Macro là gì?
Macro là tp hp mt s các dòng lnh.
Bn s dng chc năng Macro Recorder là mt ý tưởng hay để tng bước thc hin các công vic, nht là
lúc đầu tìm hiu v macro. Excel đã h tr ghi li (recorder) các công vic bn đã thc hin và ch không
ghi li khi bn dng ghi.
Ví d, mt ô (cell) được chn (selected) hin ti s không được ghi cho đến khi bn thc hin công vic
trong ô đó. Ngoài ra, Excel cũng không ghi li các công vic khi đang s dng bng điu khin (dialog
box) cho đến khi bn n nút OK trên bng điu khin đó.
Hình 1: Thc hin ghi macro
Mi tài tr cho giaiphapexcel.com, Ni quy , S dng din đàn: Tìm tài liu , Post bài , Xem
Ký danh
2 of 28 7/20/2007 12:00 PM
Hình 2: Ca s Record Macro
Trong sut thi gian ghi, macro đã được lưu li vi tên xác định trong module, module được to ra trong
quá trình ghi và là mt phn ca Workbook. Marco được ghi li có th được lưu trong This Workbook
(Workbook hin hành), New Workbook (Workbook mi) hoc trong Personal Macro Workbook (nhng
macro s hu riêng). Nhng lnh (code) được lưu trong Personal.xls, nhng macro s hu riêng đều s
dng được khi bn m Excel ra. Các macro trong các Workbook khác nhau có th s dng bt c lúc nào
khi các Workbook đang m (k c s dng chúng t Workbook khác).
Điu kin để có th tiến hành ghi macro:
1. Bng tính Excel hin hành (Activate Excel).
2. S dng Workbook mi.
2.1. Ghi macro trong trường hp s dng tham chiếu địa ch ô tuyt đối
Bn hãy ghi li macro trình bày tên bn và địa ch như sau:
Trích:
1. Trong Tools/Macro, chn Record New Macro (hình 1).
2.Trong Macro name: gõ Address_abs để đặt tên macro đó (hình 2).
Đặc đim là ký t đầu tiên là ca tên macro phi là ch. Còn các ký t khác có th là ch, s hoc ký t
gch dưới (ký t _). Các ký t đặc bit như khong trng (Space), @, %, $, #, &, ... không được chp
nhn, bn có th dùng ký t _ để tách tên trong macro.
3 of 28 7/20/2007 12:00 PM
Hình 3: Quá trình ghi
Trích:
3. Chuyn sang Shortcut key: để trng (s thc hin sau).
4. Trong Store macro in: để mc định là This Workbook.
5. Trong Description: bn gõ ni dung sau
Enter address starting in cell B3
6. Bm OK.
7. Thanh Stop Recording s xut hin. Bn có th di chuyn nó đến v trí khác nếu thy cn thiết.
8. Trong thanh Stop Recording, n vào nút Relative Reference cho m đi (không tác dng- hình 3).
9. Trong Sheet1, bm vào B3 và gõ tên bn. Ô dưới gõ tên lp, tiếp theo là tên trường.
10. Cho toàn b các ch đậm và nghiêng.
11. Bm vào ô B6.
12. Trong Stop Recording, bm vào nút Stop Recording.
Như vy, macro có tên Address_abs đã được ghi li. Nhng ô mà bn đã s dng trong quá trình ghi được
th hin dưới dng địa ch tuyt đối. Vì vy, nhng ô trong Worksheet đó s thc hin khi bn cho chy
macro, tên, lp và tên trường s được to ra đúng v trí trong Worksheet.
Ghi chú: Bn có th la chn tham chiếu tương đối trong sut quá trình ghi macro. Vn đề này s được đề
cp mc 2.3.
2.2. Chy macro khi s dng bng điu khin macro (Macro dialog box)
Bn cho chy macro trên t Sheet2 như sau:
Trích:
1. Chn sang Sheet2 và bm vào ô nào đó ngoài ô B3.
4 of 28 7/20/2007 12:00 PM
2. Trong menu Tools/Macro, chn Macros (hình 1).
3. Bm vào macro có tên Address_abs trong danh sách macro (hình 4).
4. Bm vào nút Run.
Sau đó bn s thy ni dung Sheet2 ging như Sheet1.
Hình 4: Chy macro Sheet2
Ghi chú: Nếu bn mun hu quá trình chy macro trước khi kết thúc, n vào nút Esc.
2.3. Ghi macro trong trường hp s dng tham chiếu địa ch ô tương đối
Macro Address_abs s dng địa ch ô tuyt đối. Tiếp theo bn s to mt macro cũng ging như trên.
Macro trước đã chn các ô (select cells) có quan h vi v trí ca ô hot động (active) trong quá trình
chy, macro s ghi li quan h tham chiếu ô tương đối.
Trích:
1. Chn Sheet1.
2. Bm vào ô B11.
3. Trong menu Tools/Macro, chn Record New Macros (hình 1).
4. Trong Macro name: gõ Address_Ref để đặt tên macro đó (hình 2).
5. Trong Shortcut key: Gõ ch A, như vy phím tt s là Ctrl+Shift+A (Nếu phím tt b trùng vi
phím có sn thì Excel t động b sung thêm phím Shift như trường hp này).
6. Trong Store macro in: để mc định là This Workbook.
7. Trong Description: bn gõ ni dung sau
Enter address starting in activate cell position
8. Bm OK.
9. Thanh Stop Recording s xut hin. Bn có th di chuyn nó đến v trí khác nếu thy cn thiết.
10. Trong thanh Stop Recording, n vào nút Relative Reference cho m đi (không tác dng).
Microsoft Excel s tiếp tc ghi macro vi quan h tương đối cho đến khi nào thoát khi Microsoft Excel
hoc bn n li vào nút Relative Reference.
Trích:
5 of 28 7/20/2007 12:00 PM
11. Gõ tên bn, lp, tên trường và địa ch trong các ô B11, B12, B13 và B14. Ni dung th hin
như sau:
Nguyen Van Hung
Lop DCCT-DKT K48
Truong DH Mo Dia chat
xa Dong Ngac, Tu Liem, Ha Noi
12. Cho toàn b các ch đậm.
13. Bm vào ô B15.
14. Trong Stop Recording, bm vào nút Stop Recording.
Ghi chú: Nếu bn mun macro chn ô đặc bit, đầu tiên chn ô đầu (active cell), sau đó chn ô có quan
h vi ô đầu, bn có th la chn hn hp địa ch tuyt đối và tương đối trong quá trình ghi macro.
Để s dng tham chiếu tương đối trong sut quá trình ghi macro, nút Relative Reference luôn sáng (có tác
dng).
Để s dng tham chiếu tuyt đối trong sut quá trình ghi macro, nút Relative Reference luôn ti (không
tác dng).
2.4. Dùng phím tt để thc hin mt macro (shortcut key)
Macro Address_Ref có th thc hin như mô t trong mc 2.2. Lúc trước phím tt đã được n định để
thc hin công vic đó, hãy s dng phương pháp thay thế này:
1. Ti Sheet2 bn chn vào 1 ô (ví d ô H14).
2. n t hp phím Ctrl+Shift+A. Khi đó tên và địa ch s xut hin dưới ô đó.
3. Bn hãy th thc hin li macro đó ti các v trí khác trong Sheet2.
3. Cách thc hin mt macro đơn gin
Dưới đây là các phương thc để thc hin macro, bn có th cho thc hin macro t các đối tượng sau:
Trích:
Đối tượng đồ ho trong worksheet hoc biu đồ
• Nút (button) trong thanh công c (Toolbar)
• Dòng lnh (command) trong menu ca Excel
3.1. Thc hin macro t mt đối tượng đồ ho trong worksheet
Bn có th dùng đối tượng đồ ho trong worksheet để thc hin mt macro.
Trích:
1. Chn Sheet3, nơi mà còn trng.
2. Vào menu View/Toolbars và bn chn Drawing (tr trường hp thanh công c Toolbar đã có trên
màn hình).
3. Chn đối tượng đồ ho như hình Oval và v hình oval đó.
4. Gõ ch vào hình oval đó bng cách n phi chut vào ri chn Add Text t thc đơn tt (hình
5).
5. Gõ ni dung Address ri bm ra ngoài để thoát.
6. Bn có th thay đổi kích thước hình oval cho phù hp để th hin đủ ni dung ch trong và
tính m thut.
7. n phi chut vào hình oval đó, chn Assign Macro.
8. Trong bng Assign Macro, chn macro có tên Address_Ref.
9. Sau đó n OK.
Sau đó, bn cho thc hin th macro:
Trích:
1. Chn 1 ô nào đó (ví d như ô J13).