Hướng dẫn cách tạo menu liên kết nhiều chức năng trong Excel bằng VBA

Để có thể liên kết dữ liệu trong Excel, chúng ta thường sử dụng chức năng Hyperlink, chức năng Hyperlink. Tuy nhiên, các chức năng này chỉ đơn giản làm một công việc là cung cấp một liên kết để liên kết đến đích. Trong một số trường hợp chúng ta muốn kết hợp nhiều chức năng khác với cùng một liên kết, ví dụ liên kết đến một trang tính ẩn, liên kết đến một vị trí ẩn thì cách làm trên không đáp ứng được yêu cầu. Vậy hãy cùng tìm hiểu giải pháp là sử dụng VBA để tạo MENU liên kết nhiều chức năng.

Quy trình ràng buộc dữ liệu

Trước khi đi vào thực hiện viết code trong VBA, chúng ta nên làm quen với phần mô tả quy trình công việc cần làm trước, sau đó việc viết code và tổ chức các câu lệnh trong VBA cũng trở nên rõ ràng và dễ hiểu hơn.

Quá trình liên kết dữ liệu có thể được mô tả như sau:

1. Liên kết đến

Mục đích chính là LỰA CHỌN đến địa chỉ đích. Tại địa chỉ đích này sẽ bao gồm:

  • Tên trang tính
  • Ô / vùng nào của các ô trong trang tính đó
  • Các chức năng đi kèm khác (nếu có)

Trong nội dung này, lưu ý một số nguyên tắc:

Tải game crack việt hoá tại: https://daominhha.com
  • Nếu Trang tính bị ẩn, bạn phải mở Trang tính đó trước, sau đó chọn Trang tính đó.
  • Nếu ô bị ẩn, bạn phải mở ô đó trước, sau đó chọn ô đó.
  • Nếu bạn không chỉ định ô nào trong Trang tính, bạn vẫn có thể chọn Trang tính đó
  • Nếu Trang tính không tồn tại, liên kết sẽ không thành công
>>> Xem thêm:  Power Query – Thay đổi vị trí dữ liệu Nguồn

2. Liên kết trở lại

Khi tạo liên kết, chúng ta lưu ý rằng khi có một liên kết để đi thì cần có một liên kết để quay lại. Điều này sẽ giúp liên kết đảm bảo rằng đường dẫn của liên kết là hai chiều, giúp bạn dễ dàng đi – về.

Tạo liên kết ngược cũng dựa trên nguyên tắc tương tự như liên kết đến, nhưng liên kết ngược có thể đi kèm với các chức năng như ẩn trang tính, ẩn các ô đã chọn. Sau đó chúng ta lưu ý thứ tự thực hiện để tránh xung đột.

Cách viết lệnh liên kết đa chức năng trong VBA

Sau khi hiểu quy trình, chúng ta mở cửa sổ VBA, tạo một Module mới và viết các liên kết phụ.

Nếu chưa biết cách mở cửa sổ VBA, bạn có thể tham khảo bài viết sau:

Bắt đầu với Excel Macro và Lập trình VBA

Tạo liên kết đến trong VBA

Ví dụ: chúng tôi có một tệp Excel, bao gồm Trang tính:

  • THỰC ĐƠN: Nơi quản lý danh sách các Trang tính cần liên kết.
  • Tạo ra: mục đích để tạo vé Ủy quyền thanh toán (UNC) mới
  • Dữ liệu: mục đích quản lý danh sách phiếu bầu UNC
  • UNC: Để in Ủy quyền
  • DS_NguoiChuyen: Danh sách người chuyển tiền
  • DS_NuoiNhan: Danh sách người nhận

Trong MENU Trang tính, chúng tôi sẽ tổ chức các liên kết như sau:

Trong đó trang Tạo đã bị ẩn, nhưng chúng ta có thể gọi ra trang này chỉ bằng cách nhấp vào dòng Tạo Ủy quyền mới.

>>> Xem thêm:  So sánh hai danh sách và tách các thành phần giống nhau, khác nhau

Tiến hành như sau:

Bước 1: Tạo các Shapes hình chữ nhật, trong mỗi hình dạng sẽ ghi tên tương ứng với địa chỉ cần liên kết.

Tham khảo: Hướng dẫn thao tác trên đối tượng đồ họa trong Excel

Trong các Hình dạng này, chúng ta chỉ cần lấy tên liên kết, và màu của hình dạng, đường viền mà chúng ta sẽ loại bỏ (Không tô, Không đường)

Bước 2: Trong Mô-đun mới được tạo (trong cửa sổ VBA), hãy tạo một Phụ để liên kết cho mỗi Hình dạng

Ví dụ: Sub Link_Create_UNC để liên kết với Trang tính Tạo ra như sau:

Trong đó:

  • Sheet2 là Tên mã của trang tính Tạo
  • Sheet2.Vosystem là thuộc tính ẩn / hiện của Sheet, trong đó chúng ta chọn xlSheetVbroken để hiển thị trang tính đó (nếu ẩn thì sẽ hiển thị)
  • Sheet2.Select là thuộc tính lựa chọn, điều này có nghĩa là chọn đến Sheet2 sau khi trang tính đó đã được xem

Bước 3: Gán Macro cho Hình dạng Tạo UNC mới

Tại Shape Create a new UNC on MENU, ta click chuột phải chọn Assign Macro, chọn macro Link_Create_UNC vừa tạo ở bước 2

Bây giờ chúng ta thử click vào Shape được gán macro để xem macro đã xong: Sheet Create hiển thị trên thanh Sheet Tab và đồng thời chọn Sheet này. Giao diện trang tính tạo một UNC mới như sau:

Tiếp tục như vậy, chúng ta sẽ tạo liên kết đến từng Trang tính theo Hình dạng trong MENU

>>> Xem thêm:  Hướng dẫn cách sửa lỗi Circular References Warning trong Excel 2010, 2013, 2016

Tạo liên kết trở lại MENU

Tương tự như liên kết với Trang tính, chúng ta cũng thực hiện các bước sau:

Bước 1: Tạo Hình dạng cho lệnh quay lại MENU, ví dụ Hình dạng có văn bản Đóng trong tấm Tạo ra

Bước 2: Tạo Link phụ_MENU như sau:

Trong đó:

  • ActiveSheet là trang tính đang hoạt động, đang mở. Tại Sheet làm việc chúng tôi sẽ đưa đơn hàng về MENU
  • ActiveSheet.Vosystem = xlSheetHidden tức là ẩn trang tính đang hoạt động. Khi quay lại MENU, chúng tôi cũng sẽ ẩn trang tính đó
  • Sheet7 là tên mã của MENU trang tính
  • Sheet7.select là chọn tối đa Trang 7 (MENU)

Bước 3: Gán Macro cho Shape để thực thi UNC. lệnh đóng cửa

Vậy là chúng ta đã có thể hoàn thành một vòng lặp liên kết dữ liệu trong VBA rồi. Bạn có thể luyện tập thêm cho các sheet khác bằng cách tải file mẫu tại: http://bit.ly/2DKiTUI

Chúc may mắn!

Xem thêm:

Hướng dẫn sử dụng Hyperlinks để liên kết dữ liệu hiệu quả

Sử dụng Siêu kết nối trong Excel làm menu điều hướng

Nguồn : Blog hocexcel