Hướng dẫn VBA này bao gồm các cách khác nhau để làm việc với siêu liên kết trong VBA.
Siêu liên kết VBA
Với VBA, bạn có thể thêm siêu liên kết, xóa siêu liên kết, tạo email bằng siêu liên kết và mở tệp bằng siêu liên kết trong VBA.
Thêm siêu liên kết với VBA
Phương thức Hyperlinks.Add thêm một siêu kết nối vào một ô bằng VBA.
Đoạn mã sau sẽ thêm một siêu liên kết vào ô A1:
123 | Sub AddHyperlinkToCell ()ActiveSheet.Hyperlinks.Add Range ("A1"), Địa chỉ: = "https://www.automateexcel.com/excel/"Kết thúc Sub |
Kết quả là:
Thêm văn bản vào hiển thị với VBA
Bạn có thể thêm văn bản gọn gàng thân thiện với người dùng để hiển thị vào siêu liên kết của mình với VBA. Nếu bạn đã sử dụng chức năng trang tính, bạn sẽ chèn một siêu liên kết và sau đó thêm văn bản để hiển thị trong hộp thoại được cung cấp.
Đoạn mã dưới đây trình bày cách thêm văn bản để hiển thị vào siêu kết nối của bạn bằng VBA:
123 | Sub TextToDisplayForHyperlink ()ActiveSheet.Hyperlinks.Add Range ("A1"), Địa chỉ: = "https://www.automateexcel.com/excel/", TextToDisplay: = "Automate Excel"Kết thúc Sub |
Kết quả là:
Thêm thủ thuật màn hình với VBA
Bạn có thể thêm Mẹo màn hình vào siêu liên kết của mình mà người xem sẽ thấy khi họ di chuột qua liên kết.
Đoạn mã dưới đây cho thấy cách thêm Mẹo màn hình vào siêu liên kết của bạn bằng VBA:
123 | Sub ScreenTipForHyperlink ()ActiveSheet.Hyperlinks.Add Range ("A1"), Địa chỉ: = "https://www.automateexcel.com/excel/", TextToDisplay: = "Automate Excel", ScreenTip: = "Đây là liên kết cho Automate Excel"Kết thúc Sub |
Kết quả là:
Xóa siêu liên kết bằng VBA
Phương pháp Hyperlinks.Delete có thể được sử dụng để xóa một siêu kết nối khỏi một ô.
Đoạn mã sau sẽ xóa siêu kết nối khỏi ô A1 và văn bản trong ô.
Lưu ý rằng chỉ xóa siêu liên kết, không xóa chính văn bản, đó là lý do tại sao nếu bạn muốn xóa văn bản, bạn cũng phải sử dụng phương pháp Xóa.
1234 | Sub DeleteHyperlinkinCell ()Phạm vi ("A1"). Siêu liên kết. XóaPhạm vi ("A1"). Rõ ràngKết thúc Sub |
Xóa tất cả các siêu liên kết trong một trang tính
Bạn cũng có thể xóa tất cả các siêu liên kết trong trang tính của mình bằng phương pháp Hyperlinks.Delete.
Đoạn mã sau sẽ xóa tất cả các siêu liên kết trong trang tính đầu tiên trong sổ làm việc của bạn:
123 | Sub RemoveAllHyperlinksInASheet ()ThisWorkbook.Sheets (1) .Hyperlinks.DeleteKết thúc Sub |
Theo dõi siêu liên kết trang web bằng VBA
Mã sau cho phép bạn mở một địa chỉ trang web, trong một cửa sổ mới trong trình duyệt của bạn bằng cách sử dụng phương pháp FollowHyperlink trong sổ làm việc của bạn:
123 | Sub FollowHyperlinkForWebsite ()Địa chỉ ActiveWorkbook.FollowHyperlink: = "https://www.automateexcel.com/excel", NewWindow: = TrueKết thúc Sub |
Theo dõi Siêu liên kết đến một thư mục trên Drive của bạn
Đoạn mã sau sẽ mở một thư mục có tên ExcelFiles trên Màn hình nền bằng Phương pháp FollowHyperlink:
123 | Sub FollowHyperlinkForFolderOnDrive ()Địa chỉ ActiveWorkbook.FollowHyperlink: = "C: \ Desktop \ ExcelFiles"Kết thúc Sub |
Theo dõi Siêu liên kết tới một tệp trên Drive của bạn
Đoạn mã sau sẽ mở một tệp Excel có tên WorkbookOne trong thư mục được gọi là ExcelFiles trên Màn hình bằng Phương pháp FollowHyperlink:
123 | Sub FollowHyperlinkForFile ()ActiveWorkbook.FollowHyperlink Address: = "C: \ Desktop \ ExcelFiles \ WorkbookOne.xlsx", NewWindow: = TrueKết thúc Sub |
Đi đến một ô trong một trang tính khác trong cùng một Sổ làm việc
Bạn có thể thêm một siêu kết nối vào một ô trong một trang tính để đưa bạn đến một trang tính khác, trong cùng một sổ làm việc với VBA. Giả sử bạn đang ở trên Trang tính1, ô A1 của sổ làm việc và bạn muốn chèn một siêu liên kết đến Trang tính2, ô B2 của cùng một sổ làm việc, bạn có thể sử dụng thuộc tính SubAddress để thực hiện việc này.
Đoạn mã sau minh họa cách thực hiện việc này:
123 | Sub GoToA AnotherCellInAosystemSheetInTheSameWorkbook ()ActiveSheet.Hyperlinks.Add Range ("A1"), Address: = "", SubAddress: = "'" & Sheet2.Name & "'! B2", TextToDisplay: = "Bấm vào đây để đi tới Sheet2, ô B2 của cùng một sổ làm việc "Kết thúc Sub |
Hiển thị tất cả các Siêu liên kết trong một Trang tính
Bạn có thể truy cập bộ sưu tập siêu liên kết và hiển thị tất cả các siêu liên kết trong trang tính của mình trong Cửa sổ trung gian trong VBA Editor. Trước tiên bạn phải nhấn CTRL + G trên bàn phím của bạn hoặc truy cập Xem> Cửa sổ trung gian trong VBE Editor, để xem Cửa sổ Trung gian.
Đoạn mã sau cho biết cách xem các siêu liên kết trong trang tính của bạn trong Cửa sổ Trung gian:
1234567891011 | Sub ShowAllTheHyperlinksInTheWorksheet ()Dim ws As WorksheetĐặt ws = ThisWorkbook.Sheets (1)Đối với mỗi lnk Trong ws.Debug.Print lnk.AddressLnk tiếp theoKết thúc Sub |
Kết quả được hiển thị trong Cửa sổ trung gian.
Hiển thị tất cả các Siêu liên kết trong Sổ làm việc
Bạn có thể truy cập bộ sưu tập siêu liên kết, để lặp qua và hiển thị tất cả các siêu liên kết trong Sổ làm việc của bạn trong Hộp thư.
Đoạn mã sau đây cho thấy cách thực hiện việc này và sử dụng một vòng lặp lồng nhau để đạt được điều này:
1234567891011 | Sub ShowAllTheHyperlinksInTheWorkbook ()Dim ws As WorksheetĐối với mỗi ws Trong ActiveWorkbook.WorksheetsĐối với mỗi lnk Trong ws.MsgBox lnk.AddressLnk tiếp theoTuần tiếp theoKết thúc Sub |
Sử dụng phương pháp FollowHyperlink để tạo email
Bạn cũng có thể tạo email bằng Phương pháp FollowHyperlink.
Đoạn mã dưới đây sẽ chỉ cho bạn cách tạo email bằng Phương pháp FollowHyperlink trong VBA:
12345678 | Sub SendEmailUsingHyperlink ()Dim msgLink As StringmsgLink = "mailto:" & "[email protected]" & "?" & "subject =" & "Hello" & "&" & "body =" & "Bạn có khỏe không?"ActiveWorkbook.FollowHyperlink (msgLink)Kết thúc Sub |
Kết quả là:
Thêm siêu liên kết vào AutoShape trong Excel
Bạn có thể thêm siêu liên kết vào Tự động định hình trong Excel để khi người dùng nhấp vào hình dạng, họ sẽ được đưa đến địa chỉ trang web.
Đoạn mã sau tạo một hình chữ nhật tròn, thêm văn bản vào hình chữ nhật và thêm siêu liên kết vào hình chữ nhật:
12345678910111213 | Thêm phụAHyperlinkToAShape ()Dim myShape As ShapeĐặt myDocument = Worksheets ("Sheet1")Đặt myShape = myDocument.Shapes.AddShape (msoShapeRoundsRectangle, 100, 100, 90, 30)Với myShape.TextFrame.Characters.Text = "Tự động hóa Excel"Kết thúc vớiActiveSheet.Hyperlinks.Add Anchor: = myShape, Address: = "https://www.automateexcel.com/excel"Kết thúc Sub |
Kết quả là:
Chèn công thức siêu liên kết vào ô bằng VBA
Giả sử bạn có tiêu đề bài đăng trong ô A4 và liên kết bài đăng trong ô B4 như thể hiện trong hình ảnh bên dưới.
Lời nhắc nhanh về cú pháp công thức Siêu kết nối trang tính là:
HYPERLINK (link_location, [Friendly_name])
link_location - Đây là liên kết đến tài liệu, tệp, vị trí trong sổ làm việc hoặc trang trực tuyến.
tên_hàng_nhắn - (Không bắt buộc) - Giá trị văn bản hoặc số được hiển thị trong ô.
Trong ô C4, bạn muốn thêm siêu liên kết với một văn bản thân thiện để hiển thị, bây giờ thường bạn sẽ nhập công thức = HYPERLINK (B4, A4) vào C4 để nhận được như sau:
Thay vào đó, bạn có thể sử dụng VBA để đạt được kết quả tương tự và chèn công thức này vào ô, trên Sheet1 với mã sau:
123 | Sub InsertHyperlinkFormulaInCell ()ActiveWorkbook.Worksheets ("Sheet1"). Phạm vi ("C4"). Công thức = "= siêu liên kết (B4, A4)"Kết thúc Sub |
Thêm siêu liên kết vào một nút trong Access
VBA cũng cho phép bạn làm việc với các siêu liên kết trong Access. Giả sử chúng tôi có một nút trên biểu mẫu và khi người dùng nhấp vào nút đó, chúng tôi muốn họ được đưa đến một trang web. Một cách mà bạn có thể sử dụng để thực hiện việc này là thông qua phương thức Application.FollowHyperlink.
Chúng tôi có biểu mẫu mẫu của chúng tôi với một nút có tên là buttonOne được hiển thị bên dưới.
Mã cho nút này sẽ là:
12345 | Nút phụ riêng tưOne_Click ()Application.FollowHyperlink ("https://www.automateexcel.com/excel/")Kết thúc Sub |
Tạo siêu kết nối từ một lựa chọn trong Word
Bạn cũng có thể làm việc với các siêu liên kết trong Word VBA.
Giả sử chúng tôi có tin nhắn trong Từ có nội dung “Nhấp vào đây để được đưa đến trang web Excel Tự động hóa”, được chọn như được hiển thị bên dưới.
Để biến văn bản này thành một siêu kết nối bằng VBA, bạn có thể sử dụng mã sau:
123 | Private Sub TurnASelectionIntoAHyperlink ()ActiveDocument.Hyperlinks.Add Anchor: = Selection.Range, Address: = "https://www.automateexcel.com/excel/", ScreenTip: = "Click Here Please", Target: = NewWindowKết thúc Sub |
Kết quả là: