Các cách để chạy macro trong VBA

1. Giới thiệu

Ở các bài viết trước, chúng ta đã tìm hiểu 2 cách để tạo chương trình macro trong VBA. Trong bài viết này, chúng ta sẽ tìm hiểu các cách chạy macro trong VBA.

2. Các cách chạy macro trong VBA

2.1. Chạy macro từ cửa sổ Macro

Chúng ta sử dụng 1 trong các cách sau để mở cửa sổ Macro như hình bên dưới.

  • Nhấn tổ hợp phím Alt + F8.
  • Chọn Tab DeveloperMacros.
Macro window

Tại cửa sổ Macro, chọn macro mà chúng ta muốn chạy, sau nó nhấn Run. Ví dụ, ở đây chúng ta sẽ chạy macro First_Macro mà chúng ta đã tạo ở bài tìm hiểu trước.

Macro runs successfully

2.2. Sử dụng Shortcut key

VBA cho phép chúng ta gán shortcut key cho các macro mình đã tạo. Khi cần chạy 1 macro, chúng ta chỉ cần nhấn Shortcut key tương ứng với macro đó.

Nếu chúng ta tạo macro bằng Record Macro, thì chúng ta gán shortcut key cho macro tại phần Shortcut key tại cửa sổ Record Macro như bên dưới.

Đối với các macro chúng ta tạo từ VBA Editor, để gán shortcut key cho các macro này, chúng ta có thể thực hiện 1 trong 2 cách bên dưới:

2.2.1. Sử dụng cửa sổ Macro

Mở cửa sổ Macro, chọn macro cần gán shortcut key, nhấn button Options

Tại cửa sổ Macro Options, gán shortcut key cho macro tại phần Shortcut key, sau đó nhấn OK.

2.2.2. Sử dụng phương thức Application.OnKey trong VBA

Chúng ta có thể gán shortcut key cho macro ngay trong VBA Editor bằng cách sử dụng phương thức Application.OnKey của VBA như sau:

Assign shortcut key by Application.OnKey method

Phương thức Application.OnKey nhận 2 parameter lần lượt là chuỗi giá trị của Shortcut key và tên của Procedure ứng với shortcut key đó.

Ở ví dụ trên, chúng ta sử dụng chuỗi “+^{f}” có giá trị là:

  • + => giá trị của phím Shift.
  • ^ => giá trị của phím Ctrl.
  • {f} => giá trị của phím F.

Để biết giá trị của tất cả các phím trong VBA, chúng ta có thể tham khảo tại đây.

Để gán shortcut key cho macro, chúng ta chỉ cần chạy procedure CreateShortcut. Ngược lại, nếu muốn bỏ gán shortcut key cho macro, chúng ta sẽ chạy macro DeleteShortcut.

Trong trường hợp chúng ta muốn các procedure này chạy tự động mỗi khi đóng/mở workbook, chúng ta chỉ cần gọi các procedure này trong ThisWorkbook module như bên dưới.

Run macros automatically in workbook

2.3. Gán macro vào các item khác

Ngoài các cách chạy macro ở trên, chúng ta còn có thể gán (assign) macro vào các thành phần giao diện trong cửa sổ làm việc của Excel.

2.3.1 Gán macro vào button

Chúng ta có thể gán macro vào button như hình bên dưới.

Assign macro to button

Chọn macro chúng ta muốn gán vào button, sau đó chọn OK.

Assign Macro Window

Để chạy macro, chúng ta chỉ cần click vào button mà chúng ta đã gán macro.

Ngoài ra, chúng ta cũng có thể gán macro vào các đối tượng khác ví dụ như icon, image, shape…

2.3.2. Gán macro vào Ribbon Toolbar

Chúng ta cũng có thể gán macro vào Ribbon toolbar như trong hình bên dưới, nhờ đó mà chúng ta có thể chạy macro trực tiếp từ thanh công cụ của Excel.

Để gán macro vào Ribbon, chúng ta vào menu FileOptions.

Tại cửa sổ Excel Options, chọn Customize Ribbon.

Tại phần Choose commands from, chọn Macros – chọn macro mong muốn – chọn vị trí mà chúng ta muốn thêm macro – Nhấn Add – Nhấn OK.

Add macro into Ribbon

Macro của chúng ta đã được thêm vào Ribbon toolbar.

2.3.3. Gán macro vào Quick Access Toolbar

Chúng ta cũng có thể gán macro vào Quick Access Toolbar như trong hình bên dưới.

Để gán macro vào Quick Access Toolbar, chúng ta vào menu FileOptions.

Tại cửa sổ Excel Options, chọn Quick Access Toolbar.

Tại phần Choose commands from, chọn Macros – chọn macro mong muốn – Nhấn Add – Nhấn OK.

Quick Access Toolbar

2.4. Chạy macro từ VBA IDE Editor

Cuối cùng, chúng ta có thể chạy macro từ cửa sổ VBA Editor.

Run macro from VBA Editor

Thông thường đây là cách chúng ta sử dụng ngay sau khi chúng ta phát triển xong chương trình macro của mình trên VBA Editor để đảm bảo là chương trình của chúng ta chạy thành công.

3. Kết

Trong VBA, để chạy 1 chương trình macro, chúng ta có thể sử dụng 1 trong những cách sau đây.

  • Chạy macro từ cửa sổ Macro.
  • Sử dụng Shortcut key.
  • Gán macro vào các thành phần giao diện của Excel.
  • Chạy macro từ VBA Editor.

Tùy vào tình huống sử dụng, chúng ta có thể chọn cho mình cách chạy macro phù hợp.

Chúng ta kết thúc bài tìm hiểu tại đây.

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

SHARE:

Share on facebook
Facebook
Share on linkedin
LinkedIn
Share on email
Email

Recent Post

Follow us