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

Nội dung được viết bởi Ngọc Diệp

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.

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.

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:

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

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

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

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.

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

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:

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

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.

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

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.

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

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!

Nếu công việc của bạn liên quan nhiều đến quản lý, phân tích dữ liệu và làm báo cáo trên bảng tính thì giỏi Excel thôi chưa đủ. Nếu chỉ dùng Excel, bạn sẽ thường xuyên phải OT đến mỗi kỳ làm báo cáo, stress vì sai dữ liệu do nhập thủ công, hay gặp vấn đề các hàm load chậm do dữ liệu quá nặng,...

Có lẽ bạn đã từng nghe ở đâu đó về công cụ lập trình VBA trên Excel, giúp bạn tiết kiệm tối đa thời gian làm việc nhờ làm báo cáo tự động, phân tích và xử lý số liệu chính xác tuyệt đối, đặc biệt công cần lọ mọ sửa thủ công,...

Nhưng bạn không dám nghĩ một ngày nào đó mình sẽ dùng VBA bởi vì mình không biết lập trình, sửa code và gỡ lỗi mã. Tin mình đi, bạn hoàn toàn có thể thành thạo công cụ này ngay cả khi không giỏi Excel, không biết lập trình với khóa học VBAG01: Tuyệt đỉnh VBA - Tự động hóa Excel với lập trình VBA tại Gitiho.

Tất tần tật những kiến thức từ cơ bản đến nâng cao về cách sử dụng VBA trong Excel sẽ được đề cập khiến mọi thao tác thủ công trên Excel gần như được loại bỏ hoàn toàn. 

Hãy nhấn vào Học thử hoặc Đăng ký ngay để cảm nhận sự “vi diệu” mà VBA mang lại cho công việc của bạn nhé!

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

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

0 thảo 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
Giấy phép mạng xã hội số: 588, cấp bởi Bộ thông tin và truyền thông