Có thể bạn quan tâm: Chia Lịch Trực Bằng Excel: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
Mở Đầu
Microsoft Excel là một trong những công cụ bảng tính mạnh mẽ và phổ biến nhất hiện nay. Ngoài các tính năng cơ bản như tính toán, biểu đồ, và lọc dữ liệu, Excel còn cho phép người dùng mở rộng khả năng của nó thông qua Macro – những đoạn mã VBA (Visual Basic for Applications) tự động hoá các tác vụ 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. Tuy nhiên, để sử dụng macro một cách hiệu quả, người dùng cần cho phép Excel chạy macro – một bước quan trọng nhưng thường bị người dùng bỏ qua hoặc không hiểu rõ.
Bài viết này sẽ cung cấp cho bạn một hướng dẫn chi tiết, đầy đủ và an toàn về cách bật macro trong Excel, giải thích các tùy chọn bảo mật, cách tạo macro đơn giản, và một số lưu ý quan trọng để tránh rủi ro bảo mật. Nội dung được chia thành các phần sau:
- Hiểu về Macro và VBA trong Excel
- Tại sao cần cho phép macro?
- Cấu hình bảo mật macro trong Excel (các phiên bản Office)
- Các mức độ bảo mật và cách lựa chọn phù hợp
- Bật macro trong Excel 2026, 2026, 2026, 2026, 2026 và Microsoft 365
- Tạo macro đơn giản bằng công cụ Recorder
- Viết macro bằng VBA Editor (trình soạn thảo mã)
- Kiểm tra và debug macro
- Thực thi macro an toàn: ký số và trust center
- Lưu trữ và chia sẻ file có macro (định dạng .xlsm, .xlsb)
- Các lỗi thường gặp khi bật macro và cách khắc phục
- Kết luận và lời khuyên cuối cùng
Hãy cùng đi vào chi tiết từng bước để bạn có thể tự tin bật và sử dụng macro trong Excel một cách an toàn và hiệu quả.
Có thể bạn quan tâm: Công Thức Lấy Phần Dư Trong Excel: Hướng Dẫn Toàn Diện Từ Cơ Bản Đến Nâng Cao
1. Hiểu Về Macro và VBA Trong Excel
1.1 Macro là gì?
Macro là một chuỗi các lệnh, hành động được ghi lại hoặc viết bằng ngôn ngữ lập trình VBA (Visual Basic for Applications). Khi bạn chạy macro, Excel sẽ tự động thực hiện các bước mà bạn đã định nghĩa, giúp tiết kiệm thời gian cho các công việc lặp đi lặp lại như:
- Nhập dữ liệu định dạng giống nhau hàng ngày.
- Tạo báo cáo tổng hợp từ nhiều sheet.
- Áp dụng định dạng, công thức, hoặc lọc dữ liệu nhanh.
- Gửi email tự động dựa trên dữ liệu trong bảng tính.
1.2 VBA – Ngôn ngữ lập trình của Microsoft Office
VBA là một ngôn ngữ lập trình hướng đối tượng, tích hợp sẵn trong các ứng dụng Office (Excel, Word, PowerPoint, Access). Với VBA, bạn có thể:
- Truy cập và thao tác với các đối tượng (Workbook, Worksheet, Range, Chart…).
- Gọi các hàm API của Windows.
- Tương tác với các ứng dụng khác (Outlook, Word, PowerPoint).
- Tạo giao diện người dùng (UserForm) để nhập liệu.
1.3 Các loại macro trong Excel
| Loại macro | Định dạng file | Đặc điểm |
|---|---|---|
| Macro ghi lại (Recorded Macro) | .xlsm, .xlsb | Được tạo tự động bằng công cụ Recorder, dễ học cho người mới. |
| Macro viết tay (Hand‑coded VBA) | .xlsm, .xlsb | Được viết trực tiếp trong VBA Editor, linh hoạt, mạnh mẽ. |
| Add‑ins (tiện ích) | .xlam, .xla | Chứa các macro và giao diện người dùng, có thể cài đặt cho nhiều workbook. |
| Macro trong Personal Macro Workbook (PERSONAL.XLSB) | .xlsb | Lưu macro cá nhân, dùng chung cho mọi workbook trên máy. |
Có thể bạn quan tâm: Chia Trang Excel Thành 2 Phần: Hướng Dẫn Chi Tiết Từ Cơ Bản Đến Nâng Cao
2. Tại Sao Cần Cho Phép Excel Chạy Macro?
Mặc định, Excel không cho phép chạy macro vì lý do bảo mật. Macro có thể chứa mã độc, thực thi các hành động không mong muốn như:
- Xóa hoặc thay đổi dữ liệu.
- Gửi email tự động chứa nội dung độc hại.
- Kết nối tới máy chủ từ xa và tải phần mềm độc hại.
Do vậy, Microsoft thiết lập các mức độ bảo mật để người dùng quyết định có cho phép macro chạy hay không. Khi bạn cho phép macro, bạn đang xác nhận rằng:
- Bạn tin tưởng nguồn file (được tạo bởi bạn, đồng nghiệp, hoặc nhà cung cấp đáng tin cậy).
- Bạn hiểu rõ nội dung macro (đã xem xét mã nguồn hoặc nhận được mô tả rõ ràng).
- Bạn đã thiết lập môi trường bảo mật (cập nhật phần mềm, sử dụng antivirus, v.v.).
3. Cấu Hình Bảo Mật Macro Trong Excel
3.1 Truy cập Trust Center
Tất cả các phiên bản Excel hiện đại đều quản lý cài đặt macro qua Trust Center. Để vào Trust Center:
- Mở Excel → Nhấn File → Options.
- Trong cửa sổ Excel Options, chọn Trust Center ở cột bên trái.
- Nhấn nút Trust Center Settings….
3.2 Các mục trong Trust Center liên quan đến macro
| Tùy chọn | Mô tả | Mức độ an toàn |
|---|---|---|
| Disable all macros without notification | Tắt hoàn toàn macro, không hiển thị thông báo. | Rất an toàn, nhưng không thể chạy macro nào. |
| Disable all macros with notification (Mặc định) | Tắt macro, nhưng hiển thị thanh thông báo cho phép kích hoạt khi mở file có macro. | An toàn vừa phải, phù hợp cho người dùng không thường xuyên dùng macro. |
| Disable all macros except digitally signed macros | Cho phép chỉ các macro đã ký số bởi nhà phát triển đáng tin cậy. | An toàn cao, yêu cầu ký số. |
| Enable all macros (not recommended; potentially dangerous code can run) | Cho phép tất cả macro mà không cảnh báo. | Rủi ro cao, chỉ dùng trong môi trường kiểm thử nội bộ. |
| Trust access to the VBA project object model | Cho phép macro truy cập và thay đổi mã VBA của các dự án khác. Thường cần khi tạo add‑ins hoặc tự động hoá phức tạp. | Cần bật khi cần, nhưng nên tắt trong môi trường sản xuất. |
4. Lựa Chọn Mức Độ Bảo Mật Phù Hợp
4.1 Khi làm việc trong môi trường doanh nghiệp
- Đối với người dùng cuối: Chọn Disable all macros with notification. Khi mở file có macro, bạn sẽ nhận được thông báo “Security Warning – Macros have been disabled”. Nhấn Enable Content nếu tin tưởng nguồn file.
- Đối với nhà phát triển nội bộ: Yêu cầu ký số macro và chọn Disable all macros except digitally signed macros. Điều này giúp ngăn chặn macro không ký.
4.2 Khi làm việc cá nhân hoặc trong môi trường kiểm thử
- Nếu bạn đang thử nghiệm macro do mình viết, có thể tạm thời chọn Enable all macros để không bị gián đoạn. Tuy nhiên, đừng quên đổi lại sang mức bảo mật cao hơn sau khi hoàn thành.
4.3 Khi chia sẻ file macro cho người khác
- Ký số macro bằng chứng chỉ tin cậy (Digital Certificate). Khi người nhận mở file, Excel sẽ tự động nhận diện và cho phép chạy nếu chứng chỉ được tin cậy.
- Đính kèm tài liệu mô tả chức năng macro và hướng dẫn bật macro.
5. Bật Macro Trong Các Phiên Bản Excel
5.1 Excel 2026/2026/2026/2026/2026 và Microsoft 365
Các bước cơ bản như sau (áp dụng cho mọi phiên bản trên):
- Mở Excel → File → Options → Trust Center → Trust Center Settings….
- Chọn Macro Settings.
- Đánh dấu chọn Disable all macros with notification (hoặc mức bảo mật mong muốn).
- Nếu muốn cho phép macro ký số, bật Trust access to the VBA project object model (nếu cần).
- Nhấn OK → OK để đóng mọi cửa sổ.
Sau khi cấu hình, khi mở một file có macro (định dạng .xlsm, .xlsb, .xlam), bạn sẽ thấy thanh Security Warning màu vàng ở trên cùng. Nhấn Enable Content để cho phép macro chạy.
5.2 Excel 2007
- Vào Office Button → Excel Options → Trust Center → Trust Center Settings → Macro Settings và thực hiện các bước tương tự.
5.3 Excel cho Mac (Office 365)

Có thể bạn quan tâm: Chia Sẻ File Excel Online: Hướng Dẫn Chi Tiết, Mẹo Tối Ưu Và Các Công Cụ Phổ Biến
- Excel → Preferences → Security & Privacy.
- Tại mục Macro Security, chọn Disable all macros with notification hoặc mức bảo mật phù hợp.
- Khi mở file macro, sẽ xuất hiện hộp thoại Security Warning để bật macro.
6. Tạo Macro Đơn Giản Bằng Công Cụ Recorder
6.1 Khi nào nên dùng Recorder?
- Khi bạn mới bắt đầu và muốn tự động hoá một chuỗi thao tác đơn giản (định dạng, sao chép, chèn công thức).
- Khi muốn tạo “bản nháp” để sau này chỉnh sửa bằng VBA.
6.2 Các bước ghi macro
- View → Macros → Record Macro (hoặc Developer → Record Macro).
- Đặt tên macro (không chứa dấu cách, bắt đầu bằng chữ). Ví dụ:
TinhTongHang. - (Tùy chọn) Ghi chú Shortcut key (phím tắt, ví dụ:
Ctrl+Shift+T). - Lựa chọn Store macro in:
- This Workbook – macro chỉ dùng cho workbook hiện tại.
- Personal Macro Workbook – macro dùng cho mọi workbook trên máy.
- Nhấn OK và bắt đầu thực hiện các thao tác bạn muốn tự động hoá.
- Khi hoàn thành, quay lại View → Macros → Stop Recording.
6.3 Kiểm tra macro đã ghi
- View → Macros → View Macros → Chọn macro → Run để chạy.
- Hoặc mở VBA Editor (Alt+F11) → Modules → Module1 để xem mã nguồn được tự động tạo.
7. Viết Macro Bằng VBA Editor
7.1 Mở VBA Editor
- Nhấn Alt + F11 hoặc Developer → Visual Basic.
7.2 Cấu trúc cơ bản của một macro
Sub TenMacro() ' Mô tả ngắn gọn về chức năng Dim ws As Worksheet Set ws = ThisWorkbook.Sheets("Data") ' Ví dụ: tính tổng cột A và ghi vào ô B1 ws.Range("B1").Value = Application.WorksheetFunction.Sum(ws.Range("A:A")) End Sub
7.3 Các đối tượng quan trọng
| Đối tượng | Mô tả | Ví dụ |
|---|---|---|
Workbook | Sổ làm việc hiện tại hoặc mở. | Set wb = Workbooks.Open("C:\File.xlsx") |
Worksheet | Trang tính trong workbook. | Set ws = wb.Sheets(1) |
Range | Ô hoặc vùng ô. | ws.Range("A1:B10") |
Application | Đối tượng Excel toàn cục. | Application.ScreenUpdating = False |
7.4 Lưu ý khi viết mã
- Sử dụng Option Explicit ở đầu module để buộc khai báo biến, giảm lỗi.
- Bảo vệ lỗi bằng
On Error GoTođể tránh macro dừng đột ngột. - Tắt/ bật ScreenUpdating và Calculation để tăng tốc độ thực thi.
Option Explicit Sub ExampleMacro() On Error GoTo ErrHandler Application.ScreenUpdating = False Application.Calculation = xlCalculationManual ' ... code ... ExitPoint: Application.ScreenUpdating = True Application.Calculation = xlCalculationAutomatic Exit Sub ErrHandler: MsgBox "Lỗi: " & Err.Description, vbCritical Resume ExitPoint
End Sub
8. Kiểm Tra Và Debug Macro
- Breakpoint: Nhấn F9 trên dòng mã để đặt điểm dừng. Khi chạy macro, Excel sẽ dừng lại ở dòng đó.
- Step Into (F8): Bước từng dòng để quan sát giá trị biến.
- Immediate Window (Ctrl+G): Gõ lệnh ngay, ví dụ
? Worksheets.Countđể kiểm tra số sheet. - Watch Window: Thêm biến vào Watch để theo dõi giá trị trong thời gian thực.
9. Thực Thi Macro An Toàn: Ký Số Và Trust Center
9.1 Tại sao cần ký số?
- Xác thực nguồn: Người nhận biết macro được tạo bởi ai và không bị thay đổi.
- Tự động cho phép: Khi macro đã ký và chứng chỉ tin cậy, Excel sẽ tự động bật macro mà không hiển thị cảnh báo.
9.2 Cách tạo chứng chỉ tự ký (Self‑Signed Certificate)
- Mở Microsoft Office Tools → Digital Certificate for VBA Projects.
- Nhập tên chứng chỉ (ví dụ:
MyCompanyMacroCert). - Mở VBA Editor → Tools → Digital Signature → Choose → Chọn chứng chỉ vừa tạo.
- Lưu file dưới định dạng .xlsm.
Lưu ý: Chứng chỉ tự ký chỉ được tin cậy trên máy của bạn. Đối với người dùng khác, cần cài đặt chứng chỉ vào Trusted Publishers hoặc sử dụng chứng chỉ được cấp bởi tổ chức chứng thực (CA) uy tín.
9.3 Thêm nhà xuất bản tin cậy
- Control Panel → Internet Options → Content → Certificates → Trusted Publishers → Import.
10. Lưu Trữ Và Chia Sẻ File Có Macro
10.1 Định dạng file
| Định dạng | Mô tả | Khi nào dùng |
|---|---|---|
| .xlsm | Workbook có macro (Macro‑Enabled Workbook). | Khi có macro ở sheet bình thường. |
| .xlsb | Binary Workbook, hỗ trợ macro nhanh hơn. | Khi workbook lớn, cần tốc độ mở/đóng nhanh. |
| .xlam | Add‑in macro, không chứa dữ liệu sheet. | Khi muốn chia sẻ chức năng macro dưới dạng tiện ích. |
| .xls | Định dạng cũ, không hỗ trợ macro mới. | Tránh sử dụng, chỉ khi tương thích với Office 2003 trở về trước. |
10.2 Bảo mật khi gửi file macro
- Đính kèm mô tả chi tiết về macro trong email hoặc tài liệu hướng dẫn.
- Tránh gửi file qua các dịch vụ không mã hoá (ví dụ: email không TLS).
- Sử dụng Password Protection cho VBA project (Tools → VBAProject Properties → Protection) để ngăn người khác xem mã nguồn (không bảo vệ khỏi chạy macro).
11. 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 |
|---|---|---|
| Security Warning – Macros have been disabled | Macro bị tắt trong Trust Center. | Vào File → Options → Trust Center → Trust Center Settings → Macro Settings và chọn mức cho phép. |
| Run-time error ‘1004’: Application-defined or object-defined error | Tham chiếu Range không hợp lệ (địa chỉ sai, sheet không tồn tại). | Kiểm tra lại tên sheet, địa chỉ ô, sử dụng Worksheets("Sheet1").Range("A1"). |
| Compile error: Expected End Sub | Thiếu End Sub hoặc cấu trúc VBA không đúng. | Kiểm tra cặp Sub...End Sub, If...End If, For...Next. |
| Macro disabled because it is unsigned | Macro chưa ký và cài đặt bảo mật không cho phép macro không ký. | Ký macro hoặc thay đổi mức bảo mật sang “Enable all macros”. |
| Cannot open file because the file format or file extension is not valid | Lưu file dưới định dạng không hỗ trợ macro (.xlsx). | Lưu lại dưới .xlsm hoặc .xlsb. |
| Trust access to the VBA project object model is not enabled | Macro cố gắng truy cập VBA project (ví dụ: tạo macro mới). | Vào Trust Center → Macro Settings và đánh dấu Trust access to the VBA project object model. |
12. Kết Luận Và Lời Khuyên Cuối Cùng
Việc cho phép Excel chạy macro không chỉ là một thao tác kỹ thuật mà còn là một quyết định về bảo mật. Bằng cách hiểu rõ các mức độ bảo mật, cách cấu hình Trust Center, và thực hiện các bước an toàn như ký số và kiểm tra mã, bạn có thể tận dụng sức mạnh của macro để tự động hoá công việc mà không lo ngại về rủi ro.
12.1 Tổng hợp các bước quan trọng
- Xác định nhu cầu: Bạn cần chạy macro thường xuyên hay chỉ thỉnh thoảng?
- Cấu hình Trust Center: Chọn mức bảo mật phù hợp, bật “Trust access to VBA project” nếu cần.
- Kiểm tra nguồn file: Chỉ mở macro từ nguồn đáng tin cậy.
- Ký số macro (nếu có thể) để tránh cảnh báo và tăng độ tin cậy.
- Lưu file ở định dạng .xlsm hoặc .xlsb để bảo toàn macro.
- Kiểm tra và debug macro trước khi áp dụng trên dữ liệu thực.
- Bảo vệ VBA project nếu muốn ngăn người khác xem hoặc sửa mã.
12.2 Lời khuyên dành cho người mới
- Bắt đầu với Recorder: Ghi lại các thao tác đơn giản, sau đó mở VBA Editor để xem và học cách mã được tạo.
- Thực hành thường xuyên: Tạo các macro nhỏ để tự động hoá các công việc hàng ngày (định dạng bảng, tính tổng, lọc dữ liệu).
- Tham khảo tài liệu: Microsoft Docs, cộng đồng Stack Overflow, và các blog chuyên về VBA.
- Luôn sao lưu dữ liệu trước khi chạy macro mới, đặc biệt là trên file quan trọng.
Cuối cùng, macro là công cụ mạnh mẽ khi được sử dụng đúng cách. Hy vọng bài viết này đã cung cấp đủ kiến thức để bạn bật macro trong Excel một cách an toàn, cũng như hiểu sâu hơn về cách viết, kiểm tra và bảo mật macro. Chúc bạn thành công trong việc tự động hoá công việc và nâng cao năng suất làm việc với Excel!

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ẻ.
