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 Thêm 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à nơi xuất hiện vẻ đẹp của “Siêu liên kết trong Excel”. Siêu liên kết là một URL 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 để di chuyển từ trang tính này sang trang tính khác một cách nhanh chóng 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 kết nối để đ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ì?
- (Text to Display): 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?
Giả 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 liên kết bằ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 Range ("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 thức.
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 để đề 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 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. Để 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ụ

Ok, chạy mã này bằng cách sử dụ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 với 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, thật không dễ dàng để 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ư thể hiện trong hình dưới đây.

Bạn muốn tạo một siêu liên kết cho mỗi trang tính trong Bảng 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 Worksheets("Index").Select Range("A1").Select End Sub

Step 3: Now open For Each Loop in VBA.
Code:
Sub Create_Hyperlink() Dim Ws As Worksheet Worksheets("Index").Select Range("A1").Select For Each Ws In ActiveWorkbook.Worksheets Next Ws End Sub

Step 4: Since we have already selected the cell A1 it is now an active cell. So start the hyperlink with the active cell.
Code:
Sub Create_Hyperlink() Dim Ws As Worksheet Worksheets("Index").Select Range("A1").Select For Each Ws In ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add( Next Ws End Sub

Step 5: Anchor is a hyperlink cell. So it is the active cell.
Code:
Sub Create_Hyperlink() Dim Ws As Worksheet Worksheets("Index").Select Range("A1").Select For Each Ws In ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor:=ActiveCell, Next Ws End Sub

Step 6: Address is nothing mention it as “.
Code:
Sub Create_Hyperlink() Dim Ws As Worksheet Worksheets("Index").Select Range("A1").Select For Each Ws In ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor:=ActiveCell,Address:="", Next Ws End Sub

Step 7: Subaddress is when we loop through the sheet, it should be the sheet name. To refer to the sheet name, we need a single quote, “’” with sheet name and “! Cell Address,” and close the sheet name with a single quote “’.”
Code:
Sub Create_Hyperlink() Dim Ws As Worksheet Worksheets("Index").Select Range("A1").Select For Each Ws In ActiveWorkbook.Worksheets ActiveCell.Hyperlinks.Add Anchor:=ActiveCell,Address:="",SubAddress:=""& Ws.Name&"!A1"&"", Next Ws End Sub

Step 8: Ignore Screen tip, and for Text to display, you can enter the worksheet name.
Code:
Sub Create_Hyperlink() Dim Ws As Worksheet Worksheets("Index").Select Range("A1").Select For Each Ws In 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 siêu liên kết của mỗi trang tính vào một ô khác nhau, mỗi khi tạo siêu liên kết cho một trang tính, chúng ta cần di chuyển xuống một ô từ ô đ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 Anchor: = ActiveCell, Address: = "", SubAddress: = "" & Ws.Name & "! A1" & "", ScreenTip: = "", TextToDisplay: = Ws.Name ActiveCell.Offset (1, 0). Chọn Next Ws End Sub

Điều này sẽ tạo ra 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ó bất kỳ sự bổ sung hoặc xóa trang tính nào. Chúng tôi cần chạy mã này để có một siêu liên kết được cập nhật.
