Để có thể liên kếtdữ liệu trongExcel, chúng ta thường sử dụng chức năng Hyperlink, hàm Hyperlink. Tuy nhiên những chức năng này chỉđơn thuần làm một công việc là dẫn linkđể liên kết tớiđíchđến. Trong một vài trường hợp chúng ta muốn kết hợp thêm nhiều chức năng khác cùng trong 1đường link, ví dụ nhưlink tới 1 sheetẩn, link tới 1 vị tríđã bịẩn thì cách làm trên khôngđápứngđược yêu cầu. Vậy chúng ta 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.
Bạn đang xem: Hướng dẫn tạo treeview trong excel
Quy trình liên kết 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 việc mô tả quy trình công việc cần làm trước, khiđó việc viết code, tổ chức lệnh trong VBA cũng trở nên rõ ràng hơn, dễ hiểu hơn.
Quy trình liên kết dữ liệu có thểđược mô tả như sau:
1. Linkđến
Mụcđích chính là CHỌN tớiđịa chỉđích. Tạiđịa chỉđích này sẽ bao gồm:Tên sheetÔ / vùngô nào trong sheetđóNhững chức năng khác kèm theo [nếu có]
Trong nội dung này, chúý một sốnguyên tắc sau:Nếu Sheetđangẩn thì phải mởẩn trước, sauđó mới chọn tới Sheetđóđược.Nếuôđangẩn thì phải mởẩn trước, sauđó mới chọn tớiôđóđược.Nếu không nói cụ thểô nào trong Sheet thì vẫn có thể chọn tới SheetđóđượcNếu 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, chúng ta lưuý khi có link dẫnđi thì cần có linkđể quay trở lại. Việc này sẽ giúp liên kếtđảm bảođườngđi của liên kết có tính 2 chiều, giúp việcđiđến quay trở lạiđược thực hiện dễ dàng.
Việc tạo link quay trở lại cũng dựa trên nguyên tắc giống Linkđến, nhưng link quay trở lại có thể kèm theo các chức năng nhưẩn sheetđích,ẩn cácôđang chọn. Khiđó chúng ta lưuý vềtrình tự thực hiệnđể tránh xungđột.
Xem thêm: Hướng Dẫn Backup Iphone Bằng 3Utools, 3Utools Là Gì
Cách viết lệnh liên kếtđa chức năng trong VBA
Sau khiđã nắmđược quy trình rồi, chúng ta mở cửa sổ VBA, tạo mới 1 Module và thực hiện viết các Sub liên kết.
Nếu bạn chưa biết cách mở cửa sổ VBA thì có thể tham khảo bài viết sau:
Bắt đầu với Excel Macros và lập trình VBA
Tạolinkđến trong VBA
Ví dụ chúng ta có một fileExcel, trongđó gồm các Sheet:MENU: Nơi quản lý danh sách các Sheet cần Liên kết.Create: mụcđíchđể tạo mới 1 phiếuỦy nhiệm chi [UNC]Data: mụcđíchđể quản lý danh sách các phiếu UNCUNC:Để inỦy nhiệm chiDS_NguoiChuyen: Danh sách người chuyển tiềnDS_NguoiNhan: Danh sách người nhận tiền
Trong Sheet MENU, chúng ta sẽ tổ chức các link như sau:
Trongđó sheet Createđãđượcẩnđi, nhưng chúng ta có thể gọi rasheet này chỉ với thao tác bấm vào dòng Tạo mớiỦy nhiệm chi.
Cách thực hiện như sau:
Bước 1: Tạo các Shapes hình chữ nhật, trong mỗi shape sẽ viết tên tươngứng với cácđịa chỉ cần link.
Tham khảo:Hướng dẫn thao tác với các đối tượng đồ họa trong Excel
Trong các Shape này chúng ta chỉ cần lấy tênđường link, còn màu của shape,đường viền chúng ta sẽ loại bỏđi [No Fill, No Line]
Bước 2: Trong Module vừa tạo[trong cửa sổ VBA] tạo Sub để liên kết cho từng Shape
Ví dụ: Sub Link_Create_UNC để liên kết tới Sheet Create như sau:
Trongđó:Sheet2 là Code Name của sheet CreateSheet2.Visible là thuộc tínhẩn/hiện của Sheet, trongđó chúng ta chọn xlSheetVisibleđể cho sheetđóđược hiện ra [nếu bịẩn thì sẽ hiện]Sheet2.Select là thuộc tính lựa chọn, điều này có nghĩa là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 trên MENU, chúng ta bấm chuột phải rồi chọnAssign Macro, chọn tới macroLink_Create_UNCvừa tạođượcở bước 2
Bây giờ chúng ta thử bấm vào Shapeđã gán macro sẽ thấy macrođược thực hiện: Sheet Createđược hiệnra trên thanh Sheet Tabvà đồng thời chọn tới Sheet này. Giao diện sheet tạo mới UNC như sau:
Tiếp tục như vậy chúng ta sẽ tạo liên kết tới từng Sheet theo các Shape trong MENU
Tạo liên kết quay trở lại MENU
Tương tự với liên kếtđến các Sheet, chúng ta cũng thực hiện các bước như sau:
Bước 1: Tạo Shape cho lệnh quay trở về MENU,ví dụ Shape có chữĐóng trong sheet Create
Bước 2: Tạo sub Link_MENU như sau:
Trongđó:AciveSheet là sheetđang hoạtđộng,đang mở. Tại Sheetđang làm việc chúng ta sẽđặt lệnh quay trở lại MENUActiveSheet.Visible = xlSheetHidden tức làẩn sheetđang hoạtđộngđi. Khi quay trở lại MENUđồng thời chúng ta sẽẩn sheetđóđiSheet7 là code name của sheet MENUSheet7.select là chọn tới Sheet 7 [MENU]
Bước 3: Gán Macro cho Shape thực hiện lệnhđóng UNC