Có thể bạn quan tâm: Các Hàm Thông Dụng Trong Excel: Hướng Dẫn Toàn Diện Cho Người Dùng Mới Và Nâng Cao
Mở Đầu: Tại Sao Macro Lại Quan Trọng Trong Excel?
Macro là một trong những tính năng mạnh mẽ nhất của Microsoft Excel, cho phép người dùng tự động hoá các thao tác lặp đi lặp lại, giảm thiểu sai sót và tăng năng suất làm việc. Dù bạn là một nhân viên kế toán, nhà phân tích dữ liệu, hay một người quản lý dự án, việc biết cách bật và sử dụng macro sẽ giúp bạn tiết kiệm thời gian đáng kể. Bài viết này sẽ hướng dẫn chi tiết cách bật macro trong Excel, đồng thời cung cấp những kiến thức nền tảng để bạn có thể tự tin khai thác tính năng này.
Có thể bạn quan tâm: Chèn Hộp Kiểm (checkbox) Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
1. Khái Niệm Cơ Bản Về Macro Và VBA
1.1 Macro là gì?
Macro (viết tắt của “macron”) là một chuỗi các lệnh được ghi lại hoặc viết bằng ngôn ngữ lập trình Visual Basic for Applications (VBA) để thực hiện tự động một loạt các thao tác trong Excel. Khi chạy macro, Excel sẽ thực hiện các bước như bạn đã ghi lại mà không cần bạn phải thao tác thủ công.
1.2 VBA – Ngôn Ngữ Lập Trình Của Macro
VBA (Visual Basic for Applications) là môi trường lập trình tích hợp trong các ứng dụng Office, bao gồm Excel. Khi bạn viết macro, thực chất bạn đang viết mã VBA. Hiểu cơ bản về VBA sẽ giúp bạn tùy chỉnh macro một cách linh hoạt hơn.
Có thể bạn quan tâm: Chuyển Sheet Nhanh Trong Excel: Kỹ Thuật, Mẹo Và Công Cụ Tối Ưu
2. Kiểm Tra Cài Đặt Bảo Mật Macro Trước Khi Bật
Trước khi bật macro, bạn cần kiểm tra và điều chỉnh mức độ bảo mật để Excel cho phép chạy macro. Microsoft đã thiết lập các mức bảo mật để ngăn chặn mã độc, vì vậy việc thay đổi cài đặt này cần được thực hiện cẩn thận.
2.1 Các Mức Bảo Mật Macro
- Disable all macros without notification: Tắt hoàn toàn macro, không hiển thị thông báo.
- Disable all macros with notification: Tắt macro nhưng hiển thị thông báo, cho phép người dùng bật lại khi cần.
- Disable all macros except digitally signed macros: Chỉ cho phép macro đã ký số.
- Enable all macros (not recommended; potentially dangerous code can run): Bật tất cả macro, không có cảnh báo – không nên dùng trong môi trường không tin cậy.
2.2 Cách Thay Đổi Mức Bảo Mật
- Mở Excel.
- Vào File → Options (tùy chọn).
- Chọn Trust Center (Trung tâm tin cậy) ở phía bên trái.
- Nhấn nút Trust Center Settings….
- Chọn Macro Settings.
- Chọn mức bảo mật mong muốn (thường là “Disable all macros with notification” để an toàn) và nhấn OK.
Lưu ý: Nếu bạn làm việc trong môi trường doanh nghiệp, có thể có chính sách IT quy định mức bảo mật cụ thể. Hãy tham khảo bộ phận IT trước khi thay đổi.
3. Bật Tab “Developer” (Nhà Phát Triển) – Bước Đầu Tiên Để Tạo Macro
Tab “Developer” (Nhà phát triển) chứa tất cả các công cụ liên quan đến macro và VBA. Mặc định, tab này không hiển thị, vì vậy bạn cần bật nó lên.
3.1 Các Bước Bật Tab Developer
- Mở Excel và vào File → Options.
- Chọn Customize Ribbon (Tùy chỉnh Ribbon).
- Ở cột Main Tabs (Các tab chính), tích vào Developer.
- Nhấn OK.
Sau khi thực hiện, bạn sẽ thấy tab Developer xuất hiện trên thanh Ribbon.
4. Cách Bật Macro Trong Excel
4.1 Khi Mở File Có Macro Được Bảo Vệ
Khi mở một file Excel chứa macro (định dạng .xlsm, .xlsb, hoặc .xltm), Excel sẽ hiển thị Security Warning (Cảnh báo bảo mật) ở thanh màu vàng trên cùng.
- Bước 1: Nhấp vào Enable Content (Bật nội dung) để cho phép macro hoạt động.
- Bước 2: Nếu bạn muốn luôn bật macro cho file này, bạn có thể chọn Enable All Content (Bật tất cả nội dung) trong Trust Center Settings.
4.2 Bật Macro Bằng Cách Ghi Lại (Record Macro)
Ghi lại macro là cách dễ nhất để tạo macro mà không cần viết mã VBA.
- Bước 1: Trên tab Developer, nhấn Record Macro.
- Bước 2: Đặt tên cho macro (không được chứa khoảng trắng, ví dụ:
TinhTongBangDonGia). - Bước 3: Chọn Store macro in:
- This Workbook: Lưu macro trong file hiện tại.
- New Workbook: Lưu macro trong một file mới.
- Personal Macro Workbook: Lưu macro trong file ẩn
Personal.xlsbđể dùng chung cho mọi workbook. - Bước 4: Nhấn OK và bắt đầu thực hiện các thao tác bạn muốn ghi lại (ví dụ: nhập dữ liệu, định dạng, tính toán).
- Bước 5: Khi hoàn thành, quay lại tab Developer và nhấn Stop Recording.
4.3 Chạy Macro Đã Ghi Lại

Có thể bạn quan tâm: Cách Bôi Đen Nhanh Trong Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
- Cách 1: Sử dụng Macro Dialog:
- Vào Developer → Macros.
- Chọn macro cần chạy và nhấn Run.
- Cách 2: Gán macro cho nút bấm:
- Vào Developer → Insert → chọn Button (Form Control).
- Vẽ nút trên sheet, cửa sổ Assign Macro sẽ xuất hiện.
- Chọn macro và nhấn OK. Khi bấm nút, macro sẽ thực thi.
5. Cách Viết Macro Bằng VBA
Nếu bạn muốn tùy chỉnh sâu hơn, việc viết mã VBA là cần thiết.
5.1 Mở Trình Soạn Thảo VBA
- Trên tab Developer, nhấn Visual Basic (hoặc nhấn
Alt + F11).
5.2 Cấu Trúc Cơ Bản Của Một Macro VBA
Sub TenMacro() ' Mô tả: Đây là mô tả ngắn gọn về macro ' Thực hiện các hành động ở đây MsgBox "Chào mừng bạn đến với macro!"
End Sub
- Sub: Khởi đầu một macro (procedure).
- End Sub: Kết thúc macro.
- MsgBox: Hiển thị hộp thoại thông báo.
5.3 Ví Dụ Thực Tế: Tự Động Định Dạng Bảng
Giả sử bạn muốn định dạng một bảng dữ liệu: tự động đặt màu nền cho tiêu đề, căn giữa, và tạo đường viền.
Sub DinhDangBang() Dim ws As Worksheet Set ws = ActiveSheet ' Định dạng tiêu đề (hàng 1) With ws.Range("A1:E1") .Font.Bold = True .Interior.Color = RGB(0, 112, 192) ' Màu xanh đậm .Font.Color = vbWhite .HorizontalAlignment = xlCenter End With ' Đặt đường viền cho toàn bộ bảng With ws.Range("A1:E" & ws.Cells(ws.Rows.Count, "A").End(xlUp).Row) .Borders.LineStyle = xlContinuous .Borders.Weight = xlThin End With MsgBox "Định dạng bảng đã hoàn tất!"
End Sub
5.4 Lưu Macro Vào Định Dạng Đúng
- Đối với macro có VBA, file phải được lưu ở định dạng Excel Macro-Enabled Workbook (
.xlsm) hoặc Excel Binary Workbook (.xlsb). Khi lưu, chọn File → Save As → Excel Macro-Enabled Workbook (.xlsm).
6. Quản Lý Macro: Xóa, Chỉnh Sửa và Bảo Mật
6.1 Xóa Macro
- Vào Developer → Macros.
- Chọn macro cần xóa.
- Nhấn Delete.
6.2 Chỉnh Sửa Macro
- Mở Visual Basic (
Alt + F11), tìm module chứa macro, sửa mã và lưu lại.
6.3 Bảo Mật Macro Bằng Chữ Ký Số
Nếu bạn phân phối file macro cho người khác, nên ký số để người dùng tin cậy nguồn macro.
- Mua chứng chỉ số (code signing certificate) từ nhà cung cấp.
- Trong VBA Editor, vào Tools → Digital Signature.
- Chọn chứng chỉ và lưu lại file.
Khi người dùng mở file, Excel sẽ hiển thị thông báo rằng macro đã được ký và tin cậy.
7. Các Lỗi Thường Gặp Khi Bật Macro Và Cách Khắc Phục
| Lỗi | Nguyên Nhân | Cách Khắc Phục |
|---|---|---|
| “Macros are disabled” | Mức bảo mật quá cao | Thay đổi cài đặt trong Trust Center → Macro Settings |
| “Cannot run the macro ‘XYZ’. The macro may not be available in this workbook” | Tên macro sai hoặc macro không tồn tại trong workbook | Kiểm tra lại tên macro và đảm bảo nó được lưu trong đúng workbook |
| “Run-time error ‘1004’: Application-defined or object-defined error” | Tham chiếu tới phạm vi không tồn tại hoặc lỗi VBA | Kiểm tra lại các đối tượng (Range, Worksheet) trong mã |
| “Security Warning – Macro has been disabled” | File được tải từ internet hoặc email | Nhấn Enable Content hoặc mở file, chọn File → Info → Enable Editing → Enable Content |
| “Macro cannot be run because it is not digitally signed” | Cài đặt chỉ cho phép macro ký số | Đổi mức bảo mật thành “Disable all macros with notification” hoặc ký số macro |
8. Mẹo Và Thủ Thuật Nâng Cao Khi Sử Dụng Macro
Sử dụng
Application.ScreenUpdating = Falseđể tắt cập nhật màn hình trong quá trình chạy macro, giúp tăng tốc độ.vba Application.ScreenUpdating = False ' Các lệnh macro Application.ScreenUpdating = TrueGhi lại macro trong Personal Macro Workbook để tái sử dụng trong mọi file.
- Khi ghi macro, chọn Store macro in: Personal Macro Workbook.
Lưu lại và đóng Excel; file
Personal.xlsbsẽ được tạo trong thư mục Excel.Tạo hàm người dùng (UDF) trong VBA để sử dụng trong công thức Excel.
vba Function TongSao(rng As Range) As Double Dim cell As Range Dim total As Double For Each cell In rng If IsNumeric(cell.Value) Then total = total + cell.Value Next cell TongSao = total End FunctionSau khi tạo, bạn có thể dùng công thức
=TongSao(A1:A10)trong sheet.Sử dụng
Withđể giảm lặp lại đối tượng.vba With Worksheets("Sheet1") .Range("A1").Value = "Tên" .Range("B1").Value = "Tuổi" End WithGhi lại macro bằng cách chuyển đổi sang “Developer Mode” để truy cập nhanh các công cụ như Immediate Window, Watch, Locals để debug.
9. Khi Nào Nên Tránh Dùng Macro?
Mặc dù macro mạnh mẽ, nhưng không phải lúc nào cũng là giải pháp tốt nhất:
– Dữ liệu nhạy cảm: Tránh chạy macro từ nguồn không tin cậy, vì chúng có thể chứa mã độc.
– Công việc đơn giản: Đối với các thao tác đơn lẻ, sử dụng công cụ có sẵn (Sort, Filter, Pivot) sẽ nhanh hơn.
– Môi trường doanh nghiệp có chính sách nghiêm ngặt: Tuân thủ quy định IT, có thể không được phép bật macro.
10. Tổng Kết
Việc bật macro trong Excel không chỉ là một thao tác kỹ thuật mà còn là quá trình hiểu và quản lý bảo mật, tối ưu hoá quy trình làm việc. Từ việc bật tab Developer, điều chỉnh Trust Center, ghi lại macro, tới viết mã VBA tùy chỉnh, mỗi bước đều đóng góp vào việc khai thác tiềm năng tối đa của Excel. Hy vọng qua bài viết chi tiết này, bạn đã nắm vững cách bật macro, tạo và quản lý macro một cách an toàn và hiệu quả.
Hãy bắt tay vào thực hành ngay hôm nay: bật tab Developer, ghi lại một macro đơn giản, và dần dần khám phá sức mạnh của VBA để tự động hoá công việc của mình. Chúc bạn thành công!

Tiến sĩ Lê Thống Nhất sinh năm 1955 tại Nghệ An, là nhà giáo, nhà báo và doanh nhân trong lĩnh vực giáo dục. Ông từng giảng dạy Toán học tại Trường THPT Chuyên Phan Bội Châu và đảm nhiệm nhiều vai trò trong ngành giáo dục, từ viết sách, biên soạn tài liệu đến sáng lập các dự án hỗ trợ học tập trực tuyến.
Ông là người sáng lập BigSchool – nền tảng giáo dục trực tuyến kết nối giáo viên và học sinh cả nước. Ngoài ra, ông còn nổi tiếng với vai trò tác giả, diễn giả truyền cảm hứng và khách mời trên nhiều chương trình truyền hình, trong đó có “Ai là triệu phú” trên truyền hình VTV.
Trong suốt sự nghiệp, Tiến sĩ Lê Thống Nhất đã nhận nhiều giải thưởng giáo dục và được biết đến như một người luôn đổi mới, ứng dụng công nghệ vào dạy và học, góp phần lan tỏa tri thức và niềm say mê học tập cho thế hệ trẻ.
