Cách sử dụng Macro và VBA trong Microsoft Excel

VBA là cách gọi tắt của Visual Basic for Application, là một ngôn ngữ lập trình dựa trên ngôn ngữ VB được phát triển bởi Microsoft.

VBA ngoài được tích hợp vào chung với Microsoft Office như Excel, Word, PowerPoint hay Outlook, nó còn được sử dụng trong cả Autocad để tạo ra các bản vẽ được lập trình sẵn .

Còn Macro, đây là một công cụ giúp bạn ghi lại các thao tác thực hiện dưới dạng câu lệnh VBA khi thao tác trên Excel. Đây là công cụ có thể giúp bạn tự động hóa nhiều thao tác trên Excel và trong bài chia sẻ này mình sẽ chia sẻ với các bạn cách để thực hiện.

Cách sử dụng Macro và VBA trong Microsoft Excel

Đầu tiên, đê thuận tiện bạn nên đưa công cụ Developer ra thanh Ribbon Toolbar của Excel .

Cách thêm công cụ Developer vào Ribbon Toolbar Excel.

Mặc định sau khi setup xong thì công cụ Developer sẽ ẩn đi, vì thế để hiện Developer trên Toolbar bạn cần vào File > Option và được cho phép Developer hiện trên thanh công cụ .

add-developer-to-ribbon-toolbar-microsoft-excel

✅ Nếu Office của bạn không tìm thấy công cụ Developer trong Options thì có lẽ rằng khi thiết lập bạn đã chọn không cài gói tương hỗ VBA. Để bổ xung gói tương hỗ VBA bạn tìm hiểu thêm bài viết : Thêm gói thiết lập Visual Basic Application Microsoft Office
Sau khi đưa Developer ra thanh công cụ Ribbon Toolbar, bạn sẽ thấy các thành phần chính để thiết kế xây dựng VBA như sau :

  1. Code: Bao gồm quản lý VBA, và Macro.
  2. Controls: Bao gồm các Object để liên kết với các thành phần trong VBA.

add-developer-to-ribbon-toolbar-microsoft-excel

Cách sử dụng giao diện quản lý VBA

Để vào giao diện quản trị VBA thì bạn hoàn toàn có thể sử dụng 2 cách :

  1. Chuyển sang Developer và chọn Visual Basic.
  2. Hoặc sử dụng tổ hợp phím Alt + F11

Trong giao diện VBA sẽ có các thành phần như :

  1. Thanh công cụ.
  2. Cây menu quản lý Sheet, Module, Class, UserForm
  3. Màn hình soạn thảo lệnh.
  4. Màn hình cho phép bạn tạo các điểm để xem khi Debug lệnh.

cach-su-dung-vba-microsoft-excel

Cách thêm 

và chức năng của 

Sheet, Module, Class, UserForm 

Để thêm các Objet vào 1 VBA Project bạn có thể chuột phải vào menu bên trái, sau đó chọn Insert và thêm vào Object để quản lý. Riêng Sheet sẽ được tự động tạo ra khi bạn thêm Sheet mới từ File Excel.

cach-su-dung-vba-microsoft-excel

Chức năng của Sheet, Module, Class, UserForm :

  1. Sheet1…Sheetn: được tự động tạo ra theo số Sheet từ File. Khi tạo lệnh trong từng Sheet thì lệnh đó chỉ được gọi và sử dụng từ Sheet đó.
  2. UserForm: được dùng để tạo giao diện người dùng và viết lệnh.
  3. Module: khác với Sheet, module có thể được truy xuất từ tất cả các Sheet và Module, Class khác trong cùng một VBA Project.
  4. Class: cũng tương tự như Module nhưng Class được dùng để tạo các Objet với các thuộc tính được bạn định nghĩa.

cach-su-dung-vba-microsoft-excel

Cách kiến thiết xây dựng một hàm cơ bản trong VBA và gọi hàm từ Excel .

👉 Để tưởng tượng đơn thuần về cách để viết lệnh trong VBA mình sẽ làm một ví dụ đơn cử về hàm cộng, ví dụ như tính tổng của giá trị cộng với 3 .

Khi viết hàm bình thường, bạn có thể sẽ viết như A2 + 3. Nhưng khi sử dụng VBA để tạo hàm mới bạn có thể sẽ thực hiện như sau:

  1. Tạo một Module mới.
  2. Thêm vào Module vừa tạo đoạn lệnh sau.
Function Cong_Them_3(so As Integer)
Cong_Them_3 = so + 3
End Function

Trong đó :

  • Function: Khai báo hàm kiểu trả về.
  • Cong_Them_3: Là tên hàm.
  • so As Integer: khai báo biến so là kiểu Interger (kiểu số).
  • Cong_Them_3 = so + 3: tổng của biến so +3 sẽ được trả về hàm.
  • End Function: kết thúc hàm.

cach-su-dung-vba-microsoft-excel

Khi bạn đã tạo hàm trong Module xong thì việc gọi và sử dụng hàm trong Excel cũng tương tự như như các hàm thường thì khác. Tức là khi bạn gọi hàm từ VBA bạn sẽ nhập dấu = và nhập các từ vần âm đầu của hàm thì Excel sẽ tự động hóa gợi ý các hàm trong đó có cả hàm VBA .

cach-su-dung-vba-microsoft-excel-143

Cách khởi tạo và sử dụng Macro

Một cách đơn thuần hơn việc tự tạo các hàm VBA là bạn hoàn toàn có thể tận dụng cộng cụ Macro. Công cụ này sẽ tạo ra một Module mới khi bạn khởi tạo Macro và ghi lại hàng loạt thao tác trên bảng tính Excel dưới dạng các câu lệnh VBA .
Ở đây mình có 1 ví dụ là tạo một Macro tự động hóa cộng thêm 1 ( AutoFill ) .

Đầu tiên, bạn chọn vào Record Macro

cach-su-dung-vba-microsoft-excel

Sau đó, hộp thoại Record Macro hiện lên, đặt lại tên cho Macro để dễ quản lý. OK để bắt đầu Macro ghi lại thao tác của bạn.

cach-su-dung-vba-microsoft-excel-143

Ở đây mình sẽ thực thi thứ tự như sau :

  1. Chọn Cells A1.
  2. Nhập vào Cells A1 giá trị 1
  3. Sau đó thực hiện AutoFill đến Cells A10.

cach-su-dung-vba-microsoft-excel

Sau khi AutoFill xong, bạn mở để xem Macro đã ghi lại những thao tác gì. Và hãy nghiên cứu và phân tích các dòng lệnh có nghĩa gì nhé :

  1. Là lệnh thao tác chọn Cells A1.
  2. Ghi vào Cells đang được chọn giá trị là 1. Tức là ở câu lệnh (1) bạn đã chọn Cells A1 thì ActiveCell chính là Cell A1.
  3. Lệnh thực hiện AutoFill, tức là giá trị tiếp theo sẽ được cộng thêm 1.
  4. Vùng giá trị sau khi AutoFill sẽ được chọn là Range(“A1:A10”).

cach-su-dung-vba-microsoft-excel

Để ngừng Macro, bạn chọn vào Stop Recording.

cach-su-dung-vba-microsoft-excel-143

✅ Bạn nên Stop Recording Macro sau mỗi lần thực hiện xong một hoat động nhé. Vì Macro sẽ ghi lại toàn bộ thao tác nên có thể sẽ ghi lại những thao tác thừa.

Bây giờ để áp dụng lại các thao tác bạn vừa thực hiện đã được Macro ghi lại. Bạn hãy tạo một Sheet mới và chọn thêm nút nhấn liên kết tới Macro.

cach-su-dung-vba-microsoft-excel

Sau đó, chọn vào tên Macro bạn vừa tạo và OK để áp dụng.

cach-su-dung-vba-microsoft-excel

Cuối cùng, sau khi tạo xong nút nhấn thì bạn hãy Click vào nút nhấn để xem kết quả nhé.

cach-su-dung-vba-microsoft-excel

Cách lưu file chứa Macro

Để lưu một file có Macro hay VBA thì bạn hãy lưu file bằng định dạng: Excel Macro-Enable Workbook.

✅ Lưu ý : Không lưu bằng định dạng khác vì Macro sẽ bị mất .

Cách mở file chứa Macro

Để mở các file có Macro thì khi mở bạn cần chọn Enable Content (1) để cho phép chạy Macro hoặc chọn vào Macro Security (2) để mặc định theo tùy chọn.

cach-su-dung-vba-microsoft-excel

cach-su-dung-vba-microsoft-excel

✅ Lưu ý : Macro cũng là một tập hợp thực thi các câu lệnh, nên hoàn toàn có thể tự động hóa chạy các câu lệnh để tải và setup chương trình khác mà bạn không hề hay biết. Chính vì thế các bạn chỉ mở cách file Macro từ các nguồn uy tín để tránh bị nhiễm VirusMacro .

OK! Bài viết này chia sẻ với các bạn những điều cơ bản nhất để các bạn tổng quát và hình dung được VBA và Macro là gì và hoạt động như thế nào.

Bạn hãy nỗ lực làm quen và sử dụng 2 công cụ này vì nó sẽ giúp bạn tạo ra vận tốc cũng như điều độc lạ trong việc thao tác và quản trị tài liệu .
Chúc các bạn thành công xuất sắc !