06/04/2021, 14:51

Macro là gì? Cách tạo Macro trong Excel với 8 bước cực kì đơn giản - ự học Excel VBA

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

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

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êngchuyể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ế

design mode JPG

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.

insert command button control png

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.

dat button tai day JPG

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

view code png

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.

noi code macro JPG

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:

giao dien macro phan 2 JPG

Giải thích:

  • ActiveCell là Cell đang được chọn
  • ActiveCell.Font.Bold = True là thiết lập bôi đậm
  • ActiveCell.Font.Italic = True là thiết lập in nghiêng
  • ActiveCell.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ữ "Zaidap.com".

Sau đó click vào button thì bạn sẽ thấy kết quả.

ket qua JPG

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.

macro security JPG

Check vào các hộp kiểm như hình dưới đây rồi nhấn Ok.

check security ok JPG

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.

excel enable macro JPG

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.

open visual basic JPG

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.

VBA Project Window png

Click vào Workbook mà bạn muốn tạo macro, sau đó chọn Insert -> Module.

CreateModule jpg

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.

New Module 1024x852 png

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

nhap code tai day JPG

Bạn hãy nhập đoạn code sau vào phần mà mình đã khoanh đỏ nhé.

Sub MyFirstMacro()

End Sub

nhap code func JPG

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"

nhap them code cho macro JPG

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.

run macro png

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!

Trịnh Tiến Mạnh

27 chủ đề

6824 bài viết

Cùng chủ đề
0