Macro VBA Cho Người Mới: Tự Động Hóa Excel Chỉ Với Record Macro
Chia sẻ
"Hướng dẫn Record Macro trong Excel cho người mới: tự động hóa thao tác lặp đi lặp lại, gán phím tắt, tạo nút button, KHÔNG CẦN biết code."
1. Macro là gì?
Macro là CHUỖI THAO TÁC được ghi lại và có thể chạy lại tự động. Thay vì thực hiện 20 bước format báo cáo mỗi ngày → ghi Macro 1 lần → chạy lại 1 click.
Macro dùng ngôn ngữ VBA (Visual Basic for Applications), nhưng bạn KHÔNG CẦN viết code — Excel có công cụ Record Macro ghi lại thao tác của bạn.
2. Record Macro — Bước đầu tiên
2.1. Cách ghi Macro
Developer → Record Macro (hoặc View → Macros → Record Macro)
Điền thông tin:
Macro name: TenMacro (không dấu, không khoảng cách)
Shortcut key: Ctrl + (phím bất kỳ)
Store in: This Workbook
Description: Mô tả macro
Nhấn OK → Excel bắt đầu GHI
Thực hiện các thao tác bạn muốn tự động hóa
Developer → Stop Recording
2.2. Ví dụ: Format báo cáo
Ghi lại:
Ctrl+A (chọn tất cả)
Ctrl+1 → Font: Arial, Size 11
Chọn hàng 1 → Bold, nền xanh, chữ trắng
Auto-fit column width
Freeze hàng đầu
Stop Recording
Xong! Từ giờ chỉ cần 1 click → toàn bộ format tự động.
3. Chạy Macro
3.1. Cách 1: Phím tắt
Nhấn Ctrl + phím đã gán lúc ghi.
3.2. Cách 2: Developer → Macros
Developer → Macros (hoặc Alt+F8)
Chọn macro → Run
3.3. Cách 3: Nút Button
Developer → Insert → Button (Form Control)
Vẽ nút trên sheet
Gán macro → OK
Đổi text nút: "📊 Format Báo Cáo"
3.4. Cách 4: Quick Access Toolbar
File → Options → Quick Access Toolbar
Choose commands from: Macros
Chọn macro → Add → OK
Icon macro luôn hiện trên toolbar
4. Xem và sửa code VBA
4.1. Mở VBA Editor
Alt + F11 → Visual Basic Editor
4.2. Code từ Record Macro
Sub FormatBaoCao()
Cells.Select
With Selection.Font
.Name = "Arial"
.Size = 11
End With
Rows("1:1").Select
With Selection
.Font.Bold = True
.Interior.Color = RGB(0, 128, 0)
.Font.Color = RGB(255, 255, 255)
End With
Cells.EntireColumn.AutoFit
ActiveWindow.FreezePanes = True
End Sub4.3. Chỉnh sửa code
Code từ Record thường THỪA (ví dụ: Select → With Selection). Có thể rút gọn nhưng KHÔNG BẮT BUỘC — code thừa vẫn chạy đúng.
5. Macro hữu ích cho người mới
5.1. Macro 1: Xóa dòng trống
Sub XoaDongTrong()
Dim rng As Range
Set rng = ActiveSheet.UsedRange
Dim i As Long
For i = rng.Rows.Count To 1 Step -1
If WorksheetFunction.CountA(rng.Rows(i)) = 0 Then
rng.Rows(i).Delete
End If
Next i
End Sub5.2. Macro 2: Tạo mục lục
Sub TaoMucLuc()
Dim ws As Worksheet
Dim i As Long: i = 2
Sheets(1).Range("A1").Value = "MỤC LỤC"
Sheets(1).Range("A1").Font.Bold = True
For Each ws In ThisWorkbook.Worksheets
If ws.Index > 1 Then
Sheets(1).Hyperlinks.Add _
Anchor:=Sheets(1).Cells(i, 1), _
Address:="", _
SubAddress:="'" & ws.Name & "'!A1", _
TextToDisplay:=ws.Name
i = i + 1
End If
Next ws
End Sub5.3. Macro 3: Backup sheet
Sub BackupSheet()
Dim ten As String
ten = ActiveSheet.Name & "_BK_" & Format(Now, "yyyymmdd_hhmmss")
ActiveSheet.Copy After:=ActiveSheet
ActiveSheet.Name = ten
End Sub6. Bật tab Developer
Nếu không thấy tab Developer:
File → Options → Customize Ribbon
Tick ✅ Developer → OK
7. Lưu file có Macro
File chứa Macro phải lưu dạng .xlsm (Excel Macro-Enabled Workbook):
File → Save As → chọn Excel Macro-Enabled Workbook (.xlsm)
Nếu lưu .xlsx → macro bị XÓA!
8. Personal Macro Workbook
8.1. Macro dùng cho MỌI file
Khi ghi Macro → Store in: Personal Macro Workbook
Macro lưu vào file ẩn PERSONAL.XLSB → tự mở mỗi khi Excel khởi động → macro khả dụng ở MỌI file.
8.2. Ví dụ: Format nhanh
Ghi macro format cơ bản vào Personal → mọi file đều dùng được.
9. Bảo mật Macro
9.1. Macro Security Settings
Developer → Macro Security:
Setting | Ý nghĩa |
|---|---|
Disable all | Không chạy macro nào |
Disable with notification | Hỏi người dùng có cho phép không |
Disable except digitally signed | Chỉ chạy macro đã ký số |
Enable all (KHÔNG khuyến khích) | Chạy tất cả |
9.2. Enable Content
Khi mở file .xlsm → Excel hiện thanh vàng "Security Warning: Macros have been disabled" → click Enable Content nếu tin tưởng nguồn file.
10. Sai lầm khi Record Macro
Select quá nhiều: Click vào ô không cần → macro ghi lại hết
Scroll: Cuộn chuột bị ghi → macro chạy lâu
Thao tác sai rồi undo: Undo KHÔNG được ghi — phải ghi lại từ đầu
Quên Stop Recording: Mọi thao tác tiếp tục bị ghi
10.1. Tips Record Macro
Lên kế hoạch trước: Liệt kê các bước → thực hiện chính xác
Dùng phím tắt: Ctrl+A, Ctrl+1 thay vì click menu → code gọn hơn
Test trước: Thử thao tác 1 lần trước khi ghi
11. Mẹo Macro
Record trước, sửa sau: Ghi macro → xem code → học VBA dần
Personal Workbook cho macro chung: Format, navigation, backup
Button cho macro cụ thể: Gán nút → người khác cũng dùng được
Ctrl+Shift cho shortcut: Tránh ghi đè shortcut Excel có sẵn
Backup trước khi chạy macro: Macro KHÔNG CÓ Undo
12. Tổng kết
Macro là bước đầu tiên vào thế giới tự động hóa Excel. Record Macro cho phép bạn tạo automation mà KHÔNG CẦN viết code. Bắt đầu từ format báo cáo, xóa dòng trống, tạo mục lục — sau đó dần học VBA để tùy chỉnh và xây dựng giải pháp phức tạp hơn.
📌 Lưu ý: File demo .xlsm download từ mạng cần bỏ chặn macro trước khi sử dụng. Xem hướng dẫn chi tiết: Cách Bỏ Chặn Macro Excel.
Mục lục
- 1. Macro là gì?
- 2. Record Macro — Bước đầu tiên
- 2.1. Cách ghi Macro
- 2.2. Ví dụ: Format báo cáo
- 3. Chạy Macro
- 3.1. Cách 1: Phím tắt
- 3.2. Cách 2: Developer → Macros
- 3.3. Cách 3: Nút Button
- 3.4. Cách 4: Quick Access Toolbar
- 4. Xem và sửa code VBA
- 4.1. Mở VBA Editor
- 4.2. Code từ Record Macro
- 4.3. Chỉnh sửa code
- 5. Macro hữu ích cho người mới
- 5.1. Macro 1: Xóa dòng trống
- 5.2. Macro 2: Tạo mục lục
- 5.3. Macro 3: Backup sheet
- 6. Bật tab Developer
- 7. Lưu file có Macro
- 8. Personal Macro Workbook
- 8.1. Macro dùng cho MỌI file
- 8.2. Ví dụ: Format nhanh
- 9. Bảo mật Macro
- 9.1. Macro Security Settings
- 9.2. Enable Content
- 10. Sai lầm khi Record Macro
- 10.1. Tips Record Macro
- 11. Mẹo Macro
- 12. Tổng kết
Muốn làm chủ VBA?
Tham gia khóa học E-Learning của Trà Đá Data để được hướng dẫn chi tiết từ A-Z với Case Study thực tế.
Tìm hiểu ngayBình luận
Đăng nhập để tham gia bình luận
Đăng nhậpNhận bài viết mới nhất
Đăng ký để nhận thông báo khi có bài viết mới. Không spam, chỉ kiến thức chất lượng.
Bài viết liên quan
Khám phá thêm các bài viết cùng chủ đề
INDIRECT Và OFFSET: Tạo Tham Chiếu Động Trong Excel
INDIRECT biến text thành tham chiếu, OFFSET tạo range dịch chuyển. Tạo dependent dropdowns, dynamic charts, cross-sheet lookups một cách linh hoạt.
IF Nâng Cao: IFS, SWITCH, LAMBDA, LET — Công Thức Điều Kiện Thế Hệ Mới
Không còn nested IF 64 cấp! IFS cho nhiều điều kiện, SWITCH cho match giá trị, LET cho biến trung gian, LAMBDA cho hàm tự tạo. So sánh chi tiết và ví dụ.
Dynamic Array Excel: UNIQUE, SORT, FILTER, SEQUENCE — Công Thức Tràn
Hướng dẫn Dynamic Array Excel 365: UNIQUE lọc không trùng, SORT sắp xếp, FILTER lọc điều kiện, SEQUENCE tạo chuỗi số. Kết hợp tạo solutions mạnh mẽ.
