Cách sử dụng macro trong Excel

Chắc hẳn bất cứ ai sử dụng Excel đều đã từng nghe tới cụm từ “Macro”. Vậy Macro trong Excel là gì, có tác dụng ra sao? Hãy đọc bài viết dưới đây của Học Excel Online để tìm hiểu.

Macro – trình tự động mô phỏng tác vụ người dùng trong Excel

Macro là một chuỗi tự động  được nhập vào, mô phỏng thao tác gõ phím hoặc thao tác với chuột của người dùng. Một macro thường được sử dụng để thay thế một loạt các hành động lặp đi lặp lại và phổ biến trong việc xử lý bảng tính. Chẳng hạn bạn có thể ghi một định dạng và sau đó lặp lại ở bất cứ đâu bằng một thao tác chạy bộ ghi.

Ghi macro trong Windows

Macro trong Windows

Một macro sẽ ghi lại toàn bộ những bước thao tác và thể hiện qua code Visual Basic for Applications [VBA]. Những bước thao tác này có thể bao gồm nhập chữ hoặc sốchọn ô, chọn lệnh trong thanh ribbon hay trong menuđịnh dạng ô, định dạng cột/hàng, import dữ liệu từ nguồn ngoài như Access… VBA là một phần tử của bộ ngôn ngữ lập trình Visual Basic được tích hợp vào hầu hết các ứng dụng Office. Mặc dù VBA cung cấp cho bạn khả năng tự động hóa các thao tác đối với các ứng dụng Office, đôi khi ta không cần thiết phải sử dụng đến nếu trình ghi Macro có thể thực hiện điều đó hộ bạn.

Một điều quan trọng bạn cần biết đó là khi ghi một macro, trình ghi sẽ ghi lại hầu hết tất cả những thao tác bạn thực hiện, chẳng hạn như dù bạn có click nhầm vào một nút nào đó. Giải pháp cho điều đó là ghi lại một macro mới, hoặc chỉnh sửa code VBA. Đây cũng là lý do khi bạn ghi một thao tác nào đó, tốt nhất hãy làm việc với những thứ quen thuộc. Càng quen càng tốt.

Macro và các công cụ VBA có thể tìm thấy trong thẻ Developer. Về mặc định thẻ này bị ẩn đi, bạn có thể tham khảo cách hiện thẻ

Ghi một macro trong Excel

Một số tip hữu dụng sau đây về macro mà bạn nên biết:

  • Khi bạn ghi một bản ghi để làm một số tác vụ, Excel sẽ chỉ chạy tác vụ đó trong vùng được xác định sẵn. Điều này có nghĩa là nếu bạn thêm hàng/cột vào trong vùng đã ghi, macro sẽ không chạy thao tác cho vùng mới thêm vào.
  • Nếu bạn muốn xử lý một tác vụ dài, hãy chia thành những bản ghi nhỏ hơn thay vì một bản ghi lớn.
  • Macro không chỉ áp dụng trong phạm vi Excel. Bạn có thể tạo một bản ghi liên kết tới các ứng dụng Office khác có hỗ trợ VBA. Chẳng hạn như ghi một macro để tạo bảng trong Excel, sau đó đưa vào Outlook để gửi tới địa chỉ trong bảng.

Để ghi ta làm như sau:

  1. Trong thẻ Developer, nhóm Code, chọn Record Macro
  2. Trong mục Macro name, điền tên theo ý muốn. Lưu ý hãy đặt một cái tên liên quan tới tác vụ vận hành nhé.
  3. Để liên kết với một tổ hợp phím tắt, trong mục Shortcut key, dùng bất cứ phím nào theo ý muốn.  Và khi phím tắt này trùng với các phím tắt mặc định, chẳng hạn như Ctrl + Z, bạn sẽ mất đi tính năng Ctrl + Z có sẵn trong Excel [Undo].
  4. Tại Store macro in, chọn vị trí bạn muốn đặt bản ghi.
  5. Trong mục Description, ghi những ghi chú về bản ghi.
  6. Click OK để bắt đầu.
  7. Để ngừng việc ghi, vào lại thẻ Developer, nhóm Code và chọn Stop Recording.

Làm việc với Macro trong Excel

Trong thẻ Developer, click Macros để xem những bản ghi. Ta có thể thao tác như sau:

Lưu ý: File chứa macro phải được lưu dưới dạng Excel Macro-Enabled Workbook [.xlsm]

Tìm hiểu thêm về VBA qua những bài viết sau:

Khóa VBA101 – VBA cho người mới

Form nhập liệu cơ bản với VBA

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.

Đầ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 cài đặt xong thì công cụ Developer sẽ ẩn đi, vì vậy để hiện Developer trên Toolbar bạn cần vào File> Option và cho phép Developer hiện trên thanh công cụ.

✅Nếu Office của bạn không tìm thấy công cụ Developer trong Options thì có lẽ khi cài đặt bạn đã chọn không cài gói hỗ trợ VBA. Để bổ xung gói hỗ trợ VBA bạn tham khảo bài viết: Thêm gói cài đặt 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 để 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.

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

Để vào giao diện quản lý VBA thì bạ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.

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.

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.

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

👉Để hình dung đơn giản về cách để viết lệnh trong VBA mình sẽ làm một ví dụ cụ thể 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.

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ư các hàm thông thường 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ừ chữ cái đầu của hàm thì Excel sẽ tự động gợi ý các hàm trong đó có cả hàm VBA.

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

Một cách đơn giản hơn việc tự tạo các hàm VBA là bạ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 toàn bộ 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 cộng thêm 1 [AutoFill].

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

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.

Ở đây mình sẽ thực hiện 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.

Sau khi AutoFill xong, bạn mở để xem Macro đã ghi lại những thao tác gì. Và hãy 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”].

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

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

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

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

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.

✅ Lưu ý: Macro cũng là một tập hợp thực thi các câu lệnh, nên có thể tự động chạy các câu lệnh để tải và cài đặt chương trình khác mà bạn không hề hay biết. Chính vì vậy 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 cố gắng làm quen và sử dụng 2 công cụ này vì nó sẽ giúp bạn tạo ra tốc độ cũng như điều khác biệt trong việc thao tác và quản lý dữ liệu.

Chúc các bạn thành công!

Video liên quan

Chủ Đề