Macro là gì? Cách tạo Macro trong Excel với 8 bước cực kì đơn giản
Trong bài này mình sẽ hướng dẫn bạn cách tạo một Macro trong Excel VBA, mình sẽ không hướng dẫn quá sâu bởi chúng ta đang tập tành học VBA.
Nói đến Macro thì hầu như dân văn phòng ai cũng thấy khiếp sợ, bởi phải có kiến thức lập trình Visual Basic căn bản thì mới làm ra được những Macro chuyên nghiệp.
Và trước khi học các bước tạo Macro thì bạn phải hiểu Macro là gì đã nhé.
1. Macro là gì?
Trong Excel, Macro là tập hợp những thao tác được gom lại, và thể hiện qua những dòng code dựa trên ngôn ngữ lập trình Visual Basic for Applications (VBA).
Bài viết này được đăng tại [free tuts .net]
Ta có thể hiểu nôm na rằng Macro là một nơi lưu trữ nhiều hành động để thực hiện một chức năng nào đó, và mỗi khi muốn sử dụng thì ta chỉ cần gọi đến Macro, lúc này Excel sẽ tự động thực hiện các hành động đó, ta không cần phải làm gì cả.
Ví dụ: Mình muốn xây dựng một chức năng gồm ba hành động đó là: in đậm, in nghiêng, và chuyển thành chữ in hoa. Nếu thực hiện thủ công thì phải lam ba bước rất phiền hà. Nếu chỉ dùng một lần thì không sao, chứ dùng cả trăm lần thì mất khá nhiều thời gian. Vì vậy mình sẽ viết một Macro gộp ba thao tác đó lại, mỗi khi muốn sử dụng thì gọi đến mà thôi, việc còn lại Excel tự chạy ngầm ba hành động đó.
Nếu bạn là dân lập trình thì mình nghĩ nó không quá khó hiểu, vì công dụng rất giống với hàm (function). Nhưng bạn là dân văn phòng thì quả thật rất hại não.
2. Cách tạo Macro Excel đơn giản
Bây giờ mình sẽ hướng dẫn tạo một Macro đầu tay, để từ đó bạn se hiểu được Macro là gì và công dụng của nó trong Excel là như thế nào.
Giả sử mình muốn tạo ra một chức năng thực hiện 3 thao tác gồm: Bôi đâm, in nghiêng và chuyển thành chữ in hoa.
Nếu làm điều này bằng thủ công thì rất dài dòng. Chưa tính đến chuyện làm rất nhiều lần thì sẽ tốn không ít thời gian.
Vì vậy mình sẽ tạo một Macro, mỗi khi muốn sử dụng ở đâu thì chỉ cần gọi Macro này ra là được. Về nguyên lý thì mỗi khi bạn gọi Macro này thì Excel sẽ thực hiện ngầm 3 thao tác đó và áp dụng lên đối tượng bạn muốn sử dụng.
B1: Đầu tiên, tại tab Developer bạn hãy click vào Design Mode để bật tính năng Design.
- Design Mode bật thì bạn đang ở giao diện thiết kế
- Design Mode tắt thì bạn đang ở giao diện sử dụng, dùng để chạy thực tế
B2: Mình muốn tạo một Button, khi click vòa Button này thì sẽ áp dụng Macro cho Cell đang được chọn (tức là ô - nơi chứa dữ liệu mà bạn muốn sử dụng tính năng của Macro).
Chọn Insert, sau đó click vào Command Button (nằm trong phần ActiveX Controls) như hình dưới đây.
Click chuột vào một vị trí nào đó trong bảng tính của Excel để tạo ra một button.
Vì đang ở chế độ Design Mode nên bạn có thể di chuyển được button này tới bất kì đâu.
B3: Click chuột phải vào button đó và chọn View Code, hoặc click double chuột vào Button đó (đang ở chế độ Design Mode).
B4: Khung code Visual Basic xuất hiện, và nó tạo sẵn một function, đây chính là nơi mà bạn code cho Macro.
Bạn hãy nhập đoạn code sau vào ở giữa hai dòng đó.
Private Sub CommandButton1_Click() ActiveCell.Font.Bold = True ActiveCell.Font.Italic = True ActiveCell.Value = UCase(ActiveCell.Value) End Sub
Giao diện như sau:
Giải thích:
ActiveCell
là Cell đang được chọnActiveCell.Font.Bold = True
là thiết lập bôi đậmActiveCell.Font.Italic
= True là thiết lập in nghiêngActiveCell.Value
= UCase(ActiveCell.Value) là chuyển chữ thường thành chữ hoa
B5: Chạy thử
Hãy lưu file lại và thoát giao diện VB Code.
Tắt chế độ Design Mode, sau đó chọn một ô bất kì và nhập vào dòng chữ "freetuts".
Sau đó click vào button thì bạn sẽ thấy kết quả.
3. Các bước tạo một Macro trong Excel chuyên nghiệp
Như mình đã nói ở trên, để tạo được những Macro nâng cao thì đòi hỏi bạn phải có kiến thức lập trình nói chung và lập trình VB nói riêng. Bạn có thể click vào link ở trên để học phần căn bản, sau đó quay lại đọc series VBA này.
Và sau đây mình sẽ đưa ra 8 bước giúp bạn tạo ra những Macro chuyên nghiệp.
Bước 1: Bật Developer Tool
Mình có viết một bài hướng dẫn rồi, bạn hãy xem tại bài hướng dẫn bật Developer Tool nhé.
Bước 2: Kiểm tra cấu hình bảo mật
Bước tiếp theo là kiểm tra một chút cấu hình về bảo mật để đảm bảo an toàn khi làm việc với Macro.
Bạn hãy click vào tab Developer, sau đó click vào Macro Security.
Check vào các hộp kiểm như hình dưới đây rồi nhấn Ok.
Bước 3: Kiểm tra định dạng lưu trữ file
Nếu bạn làm việc với Macro thì phải lưu file ở định dạng Macro Enabled Workbook. Bạn nên làm công việc này ngay từ đầu để tránh bị mật code nhé.
Chọn File -> Save As -> chọn Excel Macro Enabled Workbook ở phần File Type, sau đó click Save là được.
Nếu bạn dùng phiên bản Excel 2016 trở về trước thì tên định dạng file có thể khác. Nhưng bạn cứ kiểm tra thấy chữ Enable Macro là chọn thôi nhé.
Bước 4: Biết cách nhập code Visual Basic
Để mở phần code Visual Basic thì tại tab Developer bạn click vào biểu tượng Visual Basic, hoặc nhấn tổ hợp phím Alt + F11
.
Bước 5: Tạo một Module VBA
Tất cả các Macros đều lưu trử thành dạng Module, vì vậy ta phải tạo nó trước.
Hãy mở Visual Basic Code lên, tại phần VBA Project là nơi chứa các Workbook và Sheet của project.
Click vào Workbook mà bạn muốn tạo macro, sau đó chọn Insert -> Module.
Một folder Modules được tạo ra, và trong đó có một file Module1 mà bạn vừa tạo. Bạn có thể thay đổi tên Module1 bằng cách click vào phần thuộc tính như hình dưới đây.
Bước 6: Tạo code Macro đầu tiên
Bạn hãy click double chuột 2 lần vào Module1, lúc này một hộp thoại hiện ra, dây chính là phần nhập code.
Nếu bạn sử dụng Excel phiên bản cũ thì nó sẽ hiển thị dạng tab nhé.
Bạn hãy nhập đoạn code sau vào phần mà mình đã khoanh đỏ nhé.
Sub MyFirstMacro() End Sub
Bước 7: Nhập code xử lý Macro
Giả sử mình muốn khi chạy Macro này thì sẽ xuất hiện một ô thông báo.
Phần này bạn chưa học, nhưng bạn cứ nhập như mình nói nha, những bài tiếp theo ta sẽ học kỹ hơn.
Hãy nhập dòng code sau vào giữa 2 dòng code ở phần 6.
MsgBox "Hello World"
Bước 8: Chạy Macro
Để chạy Macro này thì bạn hãy click vào phía bên trong của Macro, sau đó chọn Run -> Run Sub/UserForm.
Một hộp thoại thông báo xuất hiện dòng chữ "Hello World" là bạn đã chạy thành công.
Trên là tổng hợp 8 bước giúp bạn tạo Macro Excel đầu tiên, sau này mỗi khi lập trình Macro thì bạn phải kiểm tra lần lượt như vậy nhé, để tránh bị mất code khi lưu file.
Qua bài này chắc chắn bạn đã hiểu Macro là gì rồi phải không nào? Và cũng biết cách tạo một Macro trong Excel đơn giản nhất, để từ đó hiểu nguyên lý hoạt động của Macro. Chúc bạn thành công!