Hướng dẫn chi tiết cách tạo menu liên kết trong Excel

5/5 - (1 bình chọn)

Để có thể thực hiện liên kết dữ liệu trong Excel, bạn sẽ thường dùng đến các chức năng Hyperlink. Thế nhưng các chức năng anyf chỉ đơn giản là làm một công việc dẫn link tới đích đến. Trong khi đó, ở một vài trường hợp, bạn sẽ muốn kết hợp thêm các chức năng khác vào như là link tới sheer đang ẩn, link tới vị trí đã bị ẩn thì phải dùng cách khác. Và trong bài viết này, chúng tôi sẽ hướng dẫn cho bạn cách dùng VBA để tạo được MENU liên kết các chức năng lại với nhau.

QUY TRÌNH LIÊN KẾT DỮ LIỆU

Trước khi tiến hành viết code trong VBA, bạn nên làm quen với việc mô tả quá trình công việc cần làm trước, để việc viết code, tổ chức lệnh trong VBA sẽ trở nên rõ ràng hơn và dễ hiểu hơn. Quy trình liên kết dữ liệu được mô tả như sau:

1. LINK ĐẾN

Mục đích chính sẽ là CHỌN tới địa chỉ đích. Tại địa chỉ đích này sẽ gồm:

  • Tên sheet
  • Ô / vùng ô nào trong sheet đó
  • Các chức năng khác kèm theo (nếu có)

Trong nội dung này, hãy chú ý đến một số nguyên tắc sau:

  • Nếu như Sheet đang bị ẩn thì phải mở ẩn trước, tiếp đó mới chọn tới Sheet đó được.
  • Nếu như ô đang ẩn thì phải mở ẩn trước, rồi sau đó mới chọn tới ô đó được.
  • Nếu như không nói cụ thể ô nào trong Sheet thì bạn vẫn có thể chọn tới Sheet đó được
  • Nếu như Sheet không tồn tại thì liên kết sẽ lỗi

2. LINK QUAY LẠI

Khi đã tạo liên kết, bạn cần lưu ý khi có link dẫn đi thì cần phải có link để quay trở lại. Việc này nhằm giúp liên kết đảm bảo được đường đi của nó có tính 2 chiều, cũng như giúp việc đi đến hay quay trở lại được thực hiện một cách dễ dàng. Việc tạo link quay trở lại cũng sẽ dựa trên nguyên tắc giống Link đến, nhưng ở đây link quay trở lại có thể kèm theo những chức năng như ẩn sheet đích, ẩn ô đang chọn. Lúc này, chúng ta cần lưu ý về trình tự thực hiện để tránh việc bị xung đột.

CÁCH VIẾT LỆNH LIÊN KẾT ĐA CHỨC NĂNG TRONG VBA

Sau khi đã hiểu rõ được quy trình rồi, bạn tiến hành mở cửa sổ VBA, sau đó tạo mới 1 Module và thực hiện viết các Sub liên kết.

TẠO LINK ĐẾN TRONG VBA

Ví dụ như bạn đang có một file Excel, trong đó gồm các Sheet như sau:

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

Trong Sheet MENU, bạn sẽ tổ chức các link như bên dưới: Trong đó sheet Create đã được ẩn đi rồi, nhưng bạn cũng có thể gọi ra sheet này chỉ với thao tác đơn giản là bấm vào dòng Tạo mới Ủy nhiệm chi. Cách thực hiện gồm các bước sau: Bước 1: Tạo những Shapes hình chữ nhật, trong mỗi shape bạn sẽ viết tên tương ứng với những địa chỉ cần link. Trong những Shape này,  bạn chỉ cần lấy tên đường link, còn lại màu của shape, đường viền bạn sẽ loại bỏ đi (No Fill, No Line) Bước 2: Tại Module vừa tạo (trong cửa sổ VBA), hãy tạo Sub để liên kết cho từng Shape Ví dụ: Sub Link_Create_UNC để giúp liên kết tới Sheet Create như sau: Trong đó:

  • Sheet2 là Code Name của sheet Create
  • Sheet2.Visible sẽ là thuộc tính ẩn/hiện của Sheet, trong đó bạn chọn xlSheetVisible để cho sheet đó được hiện ra (nếu bị ẩn thì sẽ hiện)
  • Sheet2.Select sẽ là thuộc tính lựa chọn, điều này cũng có nghĩa là chọn tới Sheet2 sau khi sheet đó đã ở chế độ hiện

Bước 3: Tiến hành gán Macro cho Shape Tạo mới UNC Tại Shape, thực hiện tạo mới UNC trên MENU, bạn bấm chuột phải rồi chọn Assign Macro, tiếp tục chọn tới macro Link_Create_UNC vừa tạo được ở bước 2 Bây giờ thì bạn thử bấm vào Shape đã gán macro để có thể thấy macro được thực hiện: Sheet Create lúc này sẽ được hiện ra trên thanh Sheet Tab. Đồng thời, bạn chọn tới Sheet này, giao diện sheet tạo mới UNC sẽ như sau: Tiếp tục như vậy, bạn sẽ tạo liên kết đến từng Sheet theo những Shape trong MENU

TẠO LIÊN KẾT QUAY TRỞ LẠI MENU

Tương tự đối với liên kết đến các Sheet, bạn cũng thực hiện những bước như sau: Bước 1: Tạo Shape cho lệnh quay trở về MENU, ví dụ như Shape có chữ Đóng trong sheet Create Bước 2: Tiếp tục tạo sub Link_MENU như sau: Trong đó:

  • AciveSheet sẽ là sheet đang hoạt động, đang mở. Tại Sheet đang làm việc bạn sẽ đặt lệnh quay trở lại MENU
  • ActiveSheet.Visible = xlSheetHidden tức là ẩn sheet đang hoạt động đi. Lúc này, khi quay trở lại MENU đồng thời bạn sẽ ẩn sheet đó đi
  • Sheet7 là code name của sheet MENU
  • Sheet7.select là chọn tới Sheet 7 (MENU)

Bước 3: Thực hiện gán Macro cho Shape và tiến hành lệnh đóng UNC Như vậy là bạn đã có thể hoàn tất được một vòng đường link dữ liệu trong VBA rồi đấy! Chúc bạn thao tác thành công!

Đừng quên tham khảo thêm các kiến thức khác nhé:

Tìm hiểu các kí tự đặc biệt khoảng trắng trong Excel

Cách đếm nhiều điều kiện dạng hoặc hàm COUNTIFS đơn giản

5 công thức cộng trong Excel đơn giản và hiệu quả

Trả lời

Email của bạn sẽ không được hiển thị công khai. Các trường bắt buộc được đánh dấu *