Siêu liên kết VBA | Cách tạo siêu liên kết trong Excel bằng mã VBA?
Siêu liên kết là URL được gắn với một giá trị được nhìn thấy khi chúng ta di chuột qua nó và khi chúng ta nhấp vào nó, URL sẽ được mở ra, trong VBA chúng ta có một thuộc tính sẵn có để tạo siêu liên kết trong VBA và để sử dụng thuộc tính này, chúng ta sử dụng phương thức Add cùng câu lệnh siêu kết nối để chèn một siêu kết nối trong một ô.
Siêu liên kết trong Excel VBA
Mặc dù chúng ta có phím tắt Page Up & Page Down trong excel để di chuyển từ trang này sang trang khác. Nhưng nó trở nên phức tạp khi chúng ta phải di chuyển từ 10 đến nhiều trang tính hơn. Đây là lúc vẻ đẹp của “Siêu liên kết trong Excel” xuất hiện trong hình ảnh. Siêu liên kết là một URL được xác định trước đưa bạn đến ô hoặc trang tính tương ứng như được chỉ định.
Tất cả chúng ta đều biết cách tạo siêu liên kết trong trang tính để nhanh chóng di chuyển từ trang tính này sang trang tính khác và bạn cũng có thể chuyển đến bất kỳ trang tính nào khác. Nhưng trong bài viết hôm nay, chúng tôi sẽ hướng dẫn bạn cách tạo siêu liên kết bằng cách sử dụng mã VBA.
Công thức của siêu liên kết VBA
Hãy xem công thức của các siêu liên kết trong Excel VBA.
- Anchor: Bạn muốn tạo siêu kết nối trong ô nào.
- Địa chỉ: URL của siêu liên kết để điều hướng là gì?
- [Địa chỉ phụ]: Vị trí của trang là gì?
- [Mẹo màn hình]: Giá trị được hiển thị khi bạn đặt con trỏ chuột vào tên hoặc ô siêu kết nối là gì?
- [Văn bản để hiển thị]: Bài kiểm tra sẽ được hiển thị trong ô là gì? Ví dụ Tên trang tính.
Làm thế nào để tạo siêu liên kết trong Excel VBA?
Bạn có thể tải xuống Mẫu siêu liên kết VBA này tại đây - Mẫu siêu liên kết VBAGiả sử bạn muốn tạo một siêu liên kết VBA đến trang tính có tên “Trang tính chính” từ trang tính khác “Ví dụ 1”.
Trong trang tính “Ví dụ 1” và trong ô A1, tôi sẽ tạo siêu kết nối bằng cách sử dụng Mã trong VBA.
Bước 1: Đầu tiên chọn ô A1 của trang tính Ví dụ 1.
Mã:
Sub Hyperlink_Example1 () Worksheets ("Ví dụ 1"). Chọn Phạm vi ("A1"). Chọn End Sub
Bước 2: Bây giờ bằng cách sử dụng đối tượng Active Cell mở các siêu liên kết. thêm phương pháp.
Mã:
Sub Hyperlink_Example1 () Worksheets ("Ví dụ 1"). Chọn Range ("A1"). Chọn ActiveCell.Hyperlinks.Add (End Sub
Bước 3: Đối số đầu tiên là “Anchor” tức là trong ô nào chúng ta sẽ liên kết để tạo siêu liên kết VBA. Trong trường hợp này, ô A1 và vì chúng tôi đã chọn ô A1 nên đề cập đến nó là "Lựa chọn".
Mã:
Sub Hyperlink_Example1 () Worksheets ("Ví dụ 1"). Chọn Range ("A1"). Chọn ActiveCell.Hyperlinks.Add (Selection, End Sub
Bước 4: Chúng tôi không tạo bất kỳ địa chỉ nào ở đây, vì vậy hãy bỏ qua Địa chỉ kể từ bây giờ.
Mã:
Sub Hyperlink_Example1 () Worksheets ("Ví dụ 1"). Chọn Range ("A1"). Chọn ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", End Sub
Bước 5: Tiếp theo là Địa chỉ phụ. Ở đây chúng ta cần đề cập đến trang tính nào mà chúng ta đang đề cập đến và ô đầu tiên của trang tính đó.
Mã:
Sub Hyperlink_Example1 () Worksheets ("Ví dụ 1"). Chọn Range ("A1"). Chọn ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", SubAddress: = "'Main Sheet'! A1", End Phụ
Tôi đã đề cập đến tên trang tính là "Trang tính chính" và trong địa chỉ ô trang tính đó là "A1".
Bước 6: Bỏ qua Mẹo màn hình. Đối với Văn bản để hiển thị, hãy đề cập đến tên trang tính.
Mã:
Sub Hyperlink_Example1 () Worksheets ("Ví dụ 1"). Chọn Range ("A1"). Chọn ActiveCell.Hyperlinks.Add Anchor: = Selection, Address: = "", SubAddress: = "'Main Sheet'! A1", TextToDisplay : = "Trang chính" Kết thúc Phụ
Được rồi, hãy chạy mã này bằng phím F5 hoặc theo cách thủ công sau đó, nó sẽ tạo một siêu liên kết trong ô A1 trong trang tính “Ví dụ 1”.
Khi bạn nhấp vào Siêu liên kết “Trang tính chính”, nó sẽ chuyển hướng đến trang tính chính.
Siêu liên kết của nhiều trang tính có vòng lặp
Chúng tôi đã thấy việc tạo một siêu liên kết VBA cho một trang tính. Khi chúng ta có nhiều trang tính, rất khó để tạo siêu liên kết VBA cho mỗi trang tính với cùng một dòng mã cho mỗi trang tính.
Giả sử bạn có 11 trang tính như trong hình dưới đây.
Bạn muốn tạo siêu kết nối cho từng trang tính trong Trang tính chỉ mục bằng cách sử dụng Mã VBA.
Bước 1: Xác định biến dưới dạng trang tính.
Mã:
Sub Create_Hyperlink () Dim Ws As Worksheet End Sub
Bước 2: Việc đầu tiên là chọn Bảng chỉ mục và chọn ô A1.
Mã:
Sub Create_Hyperlink () Dim Ws As Worksheet Worksheet ("Index"). Chọn Range ("A1"). Chọn End Sub
Bước 3: Bây giờ mở For Each Loop trong VBA.
Mã:
Sub Create_Hyperlink () Dim Ws As Worksheet Worksheet ("Index"). Chọn Range ("A1"). Chọn Cho Mỗi W trong ActiveWorkbook.Worksheets Tiếp theo Ws End Sub
Bước 4: Vì chúng ta đã chọn ô A1 nên bây giờ nó là một ô đang hoạt động. Vì vậy, hãy bắt đầu siêu liên kết với ô đang hoạt động.
Mã:
Sub Create_Hyperlink () Dim Ws As Worksheet Worksheet ("Index"). Chọn Range ("A1"). Chọn Cho Mỗi W trong ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add (Tiếp theo Ws End Sub
Bước 5: Anchor là một ô siêu liên kết. Vì vậy, nó là ô hoạt động.
Mã:
Sub Create_Hyperlink () Dim Ws As Worksheet Worksheet ("Index"). Chọn Phạm vi ("A1"). Chọn Cho Mỗi W trong ActiveWorkbook.Worksheets ActiveCell.Hyperlinks. Thêm Anchor: = ActiveCell, Next Ws End Sub
Bước 6: Địa chỉ không được đề cập là “”.
Mã:
Sub Create_Hyperlink () Dim Ws As Worksheet Worksheet ("Index"). Chọn Range ("A1"). Chọn Cho Mỗi W trong ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor: = ActiveCell, Address: = "", Next Ws End Phụ
Bước 7: Địa chỉ con là khi chúng ta lặp qua trang tính, nó sẽ là tên trang tính. Để tham khảo tên trang tính, chúng tôi cần một dấu ngoặc kép duy nhất “ ' ” với tên trang tính và “! Địa chỉ ô ”và đóng tên trang tính bằng một dấu ngoặc kép“ ' ”.
Mã:
Sub Create_Hyperlink () Dim Ws As Worksheet Worksheet ("Index"). Chọn Range ("A1"). Chọn Cho Mỗi W trong ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor: = ActiveCell, Address: = "", SubAddress: = "" & Ws.Name & "! A1" & "", Phụ cuối Ws Tiếp theo
Bước 8: Bỏ qua Mẹo màn hình và để Văn bản hiển thị, bạn có thể nhập tên trang tính.
Mã:
Sub Create_Hyperlink () Dim Ws As Worksheet Worksheet ("Index"). Chọn Range ("A1"). Chọn Cho Mỗi W trong ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor: = ActiveCell, Address: = "", SubAddress: = "" & Ws.Name & "! A1" & "", ScreenTip: = "", TextToDisplay: = Ws.Name Next Ws End Sub
Bước 9: Để lưu trữ siêu liên kết của mỗi trang trong một ô khác nhau mỗi khi tạo siêu liên kết cho một trang, chúng ta cần di chuyển xuống một ô từ ô hiện hoạt.
Mã:
Sub Create_Hyperlink () Dim Ws As Worksheet Worksheet ("Index"). Chọn Range ("A1"). Chọn Cho Mỗi W trong ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor: = ActiveCell, Address: = "", SubAddress: = "" & Ws.Name & "! A1" & "", ScreenTip: = "", TextToDisplay: = Ws.Name ActiveCell.Offset (1, 0). Chọn Next Ws End Sub
Thao tác này sẽ tạo một siêu liên kết của tất cả các trang tính trong Trang tính chỉ mục. Mã này là động, bất cứ khi nào có thêm hoặc xóa trang tính chúng ta chỉ cần chạy mã này để có một siêu liên kết cập nhật.