Nhã Linh
Nhã Linh PRO
Thảo luận 0 thảo luận
Vỗ tay 0 vỗ tay
Lượt xem 1714 lượt xem

Hướng dẫn sử dụng VBA để tạo menu Excel liên kết nhiều chức năng

May 06 2021

Thông thường, chúng ta hay sử dụng tính năng Hyperlink để liên kết dữ liệu trong Excel. Tuy nhiên, công cụ này chỉ có thể dẫn chúng ta đến đích đến mà không thể thêm các chức năng khác trong cùng đường link đó. Chính vì vậy, trong bài viết này, Gitiho sẽ hướng dẫn các bạn cách sử dụng code VBA Excel để tạo menu Excel liên kết nhiều chức năng.

Tuyệt đỉnh VBA - Viết code trong tầm tay

Giới thiệu quy trình liên kết dữ liệu để tạo menu Excel

Trước khi tìm hiểu cách tạo menu Excel bằng code VBA Excel, hãy để Gitiho giới thiệu cho các bạn quy trình công việc chúng ta cần thực hiện để dễ dàng thao tác với các chức năng trong phần sau của bài viết. Cùng tìm hiểu quy trình liên kết dữ liệu trong Excel bao gồm những bước nào nhé.

Đầu tiên chúng ta cần chọn địa chỉ đích của đường link. Địa chỉ này cần bao gồm:

  • Tên Sheet Excel.
  • Ô/Phạm vi ô trong sheet đó.
  • Những chức năng khác kèm theo (nếu có).

Ở bước này, bạn cần chú ý một vài nguyên tắc sau đây để không gặp lỗi Excel:

  • Nếu Sheet đang ẩn thì phải hiện Sheet trước, sau đó mới chọn Sheet.
  • Nếu ô/phạm vi ô đang ẩn thì phải hiện ô/phạm vi ô trước, sau đó mới chọn ô/phạm vi ô.
  • Nếu không chỉ ô/phạm vi ô cụ thể trong Sheet thì vẫn có thể chọn địa chỉ sheet làm đích đến.
  • Nếu Sheet không tồn tại thì liên kết sẽ bị lỗi.

Xem thêm: Cách tạo nút bấm ẩn hiện đường kẻ hình vẽ trong Excel bằng VBA

Song song với link đến thì chúng ta cần có link quay lại để đảm bảo tính 2 chiều của liên kết. Điều này sẽ giúp đường link phát huy hiệu quả dẫn đến điểm đích và quay trở lại điểm ban đầu.

Về cơ bản, các nguyên tắc tạo link quay trở lại tương tự như với việc tạo link đến. Tuy nhiên, chúng ta có thể đính kèm các chức năng cụ thể với link quay lại như ẩn Sheet đích đến, ẩn ô/phạm vi ô đang chọn,... Trong trường hợp này, chúng ta cần lưu ý trình tự thực hiện chức năng sao cho mượt và tránh gây xung đột trong việc tạo menu Excel.

Thực hành tạo menu Excel liên kết nhiều chức năng bằng VBA

Chúng ta đã nắm rõ quy trình tạo menu Excel rồi, bây giờ hãy bắt tay vào thực hành luôn thôi. Đầu tiên, chúng ta sẽ tạo link đến bằng code VBA Excel.

Trong ví dụ của Gitiho, chúng ta sẽ thực hành trên một file Excel gồm các Sheet có tên như sau:

  • MENU: Sheet quản lý danh sách các sheet cần liên kết.
  • Create: Sheet để tạo mới 1 phiếu Ủy nhiệm chi (UNC).
  • Data: Sheet quản lý danh sách các phiếu UNC.
  • UNC: Sheet in Ủy nhiệm chi.
  • DS_NguoiChuyen: Sheet chứa danh sách người chuyển tiền.
  • DS_NguoiNhan: Sheet chứa danh sách người nhận tiền.

Tại sheet MENU, chúng ta sẽ sắp xếp các đường link như sau:




Như trong hình, sheet Create đã được ẩn đi. Tuy nhiên, chúng ta có thể dễ dàng hiện Sheet này lên bằng cách bấm vào dòng Tạo mới Ủy nhiệm chi. Làm thế nào để thực hiện được điều này? Hãy cùng theo dõi các bước sau đây:


  • Bước 1: Tạo các Shape hình chữ nhật đại diện cho các nút bấm. Trong mỗi Shape chúng ta sẽ nhập tên địa chỉ link tương ứng. 
  • Bước 2: Tạo một Module với trong cửa sổ VBA Excel. Trong Module, tiến hành tạo Sub liên kết cho từng Shape.

Ví dụ: chúng ta tạo sub Link_Create_UNC để liên kết đến Sheet Create bằng code VBA Excel như trong hình




Trong đó: 

  • Sheet2 là code của Sheet Create.
  • Sheet2.Visible đại diện cho thuộc tính ẩn/hiện của Sheet. Nếu chúng ta chọn xlSheetVisible thì sheet đó được hiện ra nếu đang bị ẩn.
  • Sheet2.Select là thuộc tính lựa chọn, nghĩa là chúng ta chọn tới Sheet2 sau khi Sheet đó đã ở chế độ hiện.

Bước 3: Gán Macro cho Shape Tạo mới UNC.


Tại Shape Tạo mới UNC trong Sheet MENU, bấm chuột phải > Assign Macro > chọn Macro Link_Create_UNC.




Chúng ta hãy cùng kiểm tra kết quả bằng cách bấm chuột vào Shape vừa gắn Macro nhé. Nếu sau khi bạn bấm, Sheet Create hiện ra trên thanh hiển thị và giao diện Excel di chuyển đến Sheet này thì nghĩa là bạn đã thành công rồi đó. Lúc này, giao diện Sheet Tạo mới UNC như sau:




Tiếp theo, chúng ta sẽ thực hiện tạo link đến các Sheet theo các Shape trong MENU để hoàn thành bước tạo link đến trong quy trình tạo Menu Excel.


Xem thêm: Hướng dẫn từng bước cách viết Macro trong VBA Excel


Tương tự như cách tạo link đến, ở phần này chúng ta cũng thực hiện các bước tương tự để tạo link quay trở lại bằng code VBA Excel.

Bước 1: Tạo Shape quay trở lại Sheet MENU, ví dụ như Shape có nội dung Đóng trong Sheet Create.

Bước 2: Tạo Sub Link_MENU bằng code VBA Excel.


Trong đó:

  • AciveSheet là Sheet đang hoạt động. Tại Sheet đang hiển thị trong giao diện Excel, chúng ta sẽ đặt lệnh quay trở lại MENU.
  • ActiveSheet.Visible = xlSheetHidden tức là ẩn sheet đang hoạt động đi. Khi quay trở lại MENU, chúng ta sẽ ẩn sheet đó đi.
  • Sheet7 là code của sheet MENU.
  • Sheet7.select là chọn tới Sheet 7 (MENU).

Bước 3: Gán Macro cho Shape Đóng UNC.




Như vậy là chúng ta đã hoàn thành quy trình tạo menu Excel rồi.

Tổng kết

Các bạn vừa cùng Gitiho thực hành các bước tạo menu Excel nhanh chóng bằng code VBA Excel. Để học thêm nhiều thủ thuật về VBA khác, hãy đón đọc các bài viết trên blog Gitiho và nhanh tay đăng kí khóa học Tuyệt đỉnh VBA để tự tay viết code cho file Excel của mình nhé.


Gitiho chúc các bạn áp dụng thủ thuật thành công!


Tham khảo các bài viết khác về chủ đề VBA Excel tại đây:

Hướng dẫn tìm kiếm và lọc dữ liệu tự động bằng Textbox trong Excel VBA

Hướng dẫn hiện thẻ Developer để ghi Macro hoặc viết code VBA trong Excel

Unicode tiếng việt khi viết trong VBA

Hướng dẫn cách viết hàm VBA trong Excel

Cách sử dụng hàm MsgBox() để tạo hộp thông báo với VBA






Cùng tham gia cộng đồng hỏi đáp về chủ đề VBA

Thảo luận 0 câu trả lời
Lượt xem 1714 lượt xem
Vỗ tay vỗ tay

0 Bình luận

@ 2020 - Bản quyền của Công ty cổ phần công nghệ giáo dục Gitiho Việt Nam
Giấy chứng nhận Đăng ký doanh nghiệp số: 0109077145, cấp bởi Sở kế hoạch và đầu tư TP. Hà Nội