Bạn muốn loại bỏ đường liên kết trong Excel? Trong bài viết này, UniTrain sẽ hướng dẫn bạn cách xóa đường liên kết bằng VBA Excel qua 3 cách khác nhau:
1. Câu lệnh IF
2. Tính năng On Error Statement
3. Sử dụng MsgBox
Video ngắn dưới đây sẽ giới thiệu cách thao tác loại bỏ đường liên kết bằng VBA Excel.
1. Sử dụng câu lệnh IF trong VBA Excel
Trong ví dụ đầu tiên, người dùng sẽ sử dụng câu lệnh IF cùng với For Next Loop trong mã VBA để ngắt liên kết trong Excel bằng cách:
Bước 1: Chọn Developer > chọn Visual Basic.
Bước 2: Cửa sổ Visual Basic Editor hiển thị, chọn Insert > Module.
Bước 3: Nhập mã dưới đây vào Module.
Sub Break_Links()
Dim act_wb As Workbook
Set act_wb = Application.ActiveWorkbook
If Not IsEmpty(act_wb.LinkSources(xlExcelLinks)) Then
For Each ext_link In act_wb.LinkSources(xlExcelLinks)
act_wb.BreakLink ext_link, xlLinkTypeExcelLinks
Next ext_link
End If
End Sub
Bước 4: Chọn Save và trở lại worksheet.
Bước 5: Chọn Developer > Macros.
Bước 6: Hộp thoại Macro sẽ hiển thị, chọn Break_Links trong mục Macro Name > Run.
Sau đó, khi chọn một ô bất kì thì bạn sẽ thấy đường liên kết đã bị xóa.
2. Sử dụng tính năng On Error Statement để ngắt liên kết trong Excel Ignoring Error Warnings
On Error Statement thường được dùng để xử lý lỗi. Trong ví dụ này, người dùng sẽ sử dụng On Error Resume Next từ câu lệnh viết mã VBA để ngắt liên kết trong Excel bằng cách thao tác:
Bước 1: Chọn Developer > chọn Visual Basic.
Bước 2: Cửa sổ Visual Basic Editor hiển thị, chọn Insert > Module.
Bước 3: Nhập mã vào Module.
Sub remove_links()
Dim ext_links As Variant
Dim j As Integer
ext_links = ActiveWorkbook.LinkSources(1)
On Error Resume Next
For j = 1 To UBound(ext_links)
ActiveWorkbook.BreakLink ext_links(j), xlLinkTypeExcelLinks
Next j
On Error GoTo 0
End Sub
Bước 4: Save mã và trở lại worksheet.
Bước 5: Chọn Developer > Macros.
Bước 6: Hộp thoại Macro hiển thị, chọn remove_links trong mục Macro name > Run.
Sau đó, bạn thử chọn ô C5 (như hình dưới) và thấy đường liên kết đã bị ngắt kết nối.
3. Tính số đường liên kết bị ngắt kết nối trong MsgBox
Bạn cũng có thể biết số lượng liên kết bị ngắt kết nối trong MsgBox bằng cách:
Cách 1: Nhấn ALT + F11 để mở cửa sổ Visual Basic Editor.
Bước 2: Khi cửa sổ Visual Basic Editor hiển thị, chọn Insert > Module.
Bước 3: Cửa sổ Module hiển thị, nhập mã dưới đây:
Sub break_ext_links()
Dim ext_links As Variant
Dim y As Long
Dim brk_count As Long
ext_links = ActiveWorkbook.LinkSources(Type:=xlLinkTypeExcelLinks)
If IsEmpty(ext_links) = True Then GoTo ReportResults
For y = 1 To UBound(ext_links)
ActiveWorkbook.BreakLink Name:=ext_links(y), Type:=xlLinkTypeExcelLinks
brk_count = brk_count + 1
Next y
ReportResults:
MsgBox "No of Broken Links: " & brk_count
End Sub
Bước 4: Save mã và trở lại worksheet.
Bước 5: Nhấn ALT + F8 để mở hộp thoại Macro.
Bước 6: Hộp thoại Macro hiển thị > chọn break_ext_links trong mục Macro name > Run.
Bước 7: Trong MsgBox, No of Broken Links sẽ hiển thị > OK.
Sau đó, chọn bất kì ô nào có đường liên kết trước đó và bạn sẽ thấy đường liên kết đã bị ngắt kết nối.
Xem thêm
Khóa học Ứng dụng VBA trong Excel
Cách xóa phạm vi được đặt tên bằng VBA Excel