Macro là công cụ cho phép ghi lại các thao tác (các lệnh) của người sử dụng dưới dạng 1 danh sách các lệnh. Khi ta gọi tới 1 macro (chạy ma...
Macro là công cụ cho phép ghi lại các thao tác (các lệnh) của người sử dụng dưới dạng 1 danh sách các lệnh. Khi ta gọi tới 1 macro (chạy macro), nó sẽ thực hiện lại các thao tác đó 1 cách tự động.
Như vậy muốn tự động hóa một quá trình, ta cần thực hiện các công việc đó, dùng macro ghi lại và khi cần thực hiện quá trình đố tự động, ta cho chạy macro.
1. Ghi lại các thao tác (tạo macro)
B1: Vào Tools\Macro\Record new macro
B2: Đặt tên macro, OK
B3: Thực hiện các thao tác muốn ghi lại
B4: Bấm nút Stop
2. Gán macro cho đối tượng đồ họa (hình vẽ, ảnh, nút bấm…)
Bạn muốn gọi tới một macro để thực thi nó, hãy gán macro cho một đối tượng đồ họa, khi cần gọi macro đó, bạn bấm chuột vào đối tượng đồ họa đã được gán macro. Thực hiện đơn giản như sau:
B1: Bấm chuột phải vào đối tượng đồ họa, chọn Assign macro
B2: Chọn tên macro, OK
Bạn có thể xem thêm kỹ thuật gán macro cho menu để xây dựng menu trên Excel trong một bài viết khác
3. Ứng dụng macro xây dựng chức năng tìm kiếm
Ta cùng tìm hiểu ứng dụng này qua một ví dụ cụ thể.
Ví dụ: Bạn cần thiết kế một giao diện tìm kiếm như sau:
Hình 1. Giao diện tìm kiếm – Sheet 2
Diễn giải: Khi tìm kiếm hàng, người sử dụng nhập vào 1 hoặc nhiều tiêu chí trên các ô tìm kiếm và bấm nút Tìm kiếm để tìm. Kết quả hiển thị ở khung Kết quả phía dưới.
Ý tưởng: Để thiết kế công cụ tìm kiếm, thực chất ta sử dụng chức năng lọc (advanced fillter), tuy nhiên ta không lọc thủ công mà làm thao tác đó 1 lần, ghi lại bằng macro và khi cần tìm kiếm thì cho chạy macro (bấm nút Tìm kiếm) để nó thực hiện lại thao tác mà ta đã ghi.
Trình tự thực hiện:
Bước 1: Lập bảng dữ liệu gốc ở “sheet 1” (tên sheet bạn có thể thay đổi)
Hình 2. Bảng dữ liệu gốc – Sheet 1
Bước 2: Lập vùng điều kiện lọc (vùng để nhập vào các tiêu chí tìm kiếm) ở sheet2 (xem hình 1)
Bước 3: Tạo một macro ghi lại thao tác lọc bằng Advanced Fillter: lọc dữ liệu gốc (sheet 1) với vùng điều kiện lọc (ở sheet 2). Kết quả lọc đặt ở một vị trí mới trong sheet 1.
Bước 4: Tham chiếu tới kết quả lọc (ở sheet 1) bằng các phép gán thông dụng (dạng =sheet 1!a20) để có kết quả tìm kiếm
Bước 5: Gán macro vừa ghi cho nút Tìm kiếm
Xem video hướng dẫn tại http://www.youtube.com/watch?v=ZDnNCmQSFcQ&;feature=youtu.be
4. Ứng dụng macro xây dựng chức năng in hóa đơn.
Ý tưởng: Làm thao tác in, ghi lại thao tác này bằng một macro, gán macro cho một nút bấm. Sau này cần in hóa đơn đó, bạn chỉ cần bấm vào nút bấm đã gán macro.
Bước 1: Thiết kế mẫu hóa đơn ở Sheet 1.
Bước 2: Tạo 1 macro, macro này lưu lại thao tác in, các thao tác làm lần lượt như sau:
- Chuyển sang sheet 1 (Sheet có chứa hóa đơn)
- Bấm biểu tượng máy in
- Chuyển về sheet 2 (sheet có chứa nút bấm gọi in)
Bước 3: Gán macro cho nút In
Tham khảo: Phương pháp lọc Advanced Fillter
1. Chuẩn bị: Lập vùng điều kiện lọc.
Vùng điều kiện lọc gồm hàng đầu tiên chứa tiêu đề cột (trường), các hàng tiếp theo dùng để chứa điều kiện lọc. Các điều kiện được đặt trên cùng hàng thì kết hợp với nhau bằng phép And, các điều kiện đặt khác hàng thì kết hợp với nhau bằng phép Or.
Ví dụ: bảng điểm thi gồm 4 môn học. Lập vùng điều kiện như sau:
TOÁN
|
LÝ
|
HOÁ
|
ANH
|
>=5
|
>=5
|
>=5
|
>=5
|
Vùng điều kiện này để lọc ra những trường hợp có Toán>=5 và Lý>=5 và Hóa>=5 và Anh>=5, tức là lọc ra danh sách những sinh viên không phải thi lại
Vẫn trường hợp trên, ta lập vùng điều kiện như sau:
2. Thao tác lọc
Bước 1: Bôi đen bảng dữ liệu.
Bước 2: Vào menu Data\Fillter\Advanced fillter
Bước 3: Chọn vị trí đặt kết quả lọc, chọn 1 trong 2 trường hợp sau:
- Fillter the list in place: kết quả trích lọc để ngay tại vị trí bảng dữ liệu, nghĩa là nó sẽ ẩn các hàng không thoả mãn điều kiện đi.
- Copy to another location: kết quả trích lọc đặt tại vị trí mới, vị trí này được xác định tại mục Copy to.
Bước 4: Xác định phạm vi bảng dữ liệu trong mục List range.
Bước 5: Xác định phạm vi bảng điều kiện trong mục Criteria range.
Bước 6 (tùy chọn): Loại bỏ các bản ghi trùng nhau – đánh dấu vào mục Unique record only.
Ghi chú: Khi đặt kết quả trích lọc ngay tại vị trí bảng dữ liệu, muốn hiển thị lại dữ liệu gốc thì chọn Data / Fillter / Show all.
Chúc các bạn thành công!