Thay đổi hàng loạt liên kết hyperlink trong excel.

Liên hệ QC
Tôi tuân thủ nội quy khi đăng bài

DLH96

Thành viên mới
Tham gia
15/2/22
Bài viết
19
Được thích
4
Chào mọi người

Mình đang gặp vấn đề này mong mọi người giúp đỡ.

Hiện tại file excel đang được link dữ liệu đến các file word đuôi .docx => Mong muốn chuyển link dữ liệu đến các file PDF
Các file này được lưu chung 1 folder và có tên trùng nhau.

Do số lượng dữ liệu nhiều, nên thao tác tay mất nhiều thời gian. Nhờ mọi người hỗ trợ giải pháp để thao tác được nhanh chóng hơn.

Mình cảm ơn.
 

File đính kèm

  • File mau.xlsx
    900.6 KB · Đọc: 11
Chào mọi người

Mình đang gặp vấn đề này mong mọi người giúp đỡ.

Hiện tại file excel đang được link dữ liệu đến các file word đuôi .docx => Mong muốn chuyển link dữ liệu đến các file PDF
Các file này được lưu chung 1 folder và có tên trùng nhau.

Do số lượng dữ liệu nhiều, nên thao tác tay mất nhiều thời gian. Nhờ mọi người hỗ trợ giải pháp để thao tác được nhanh chóng hơn.

Mình cảm ơn.
Dùng thử đoạn code này xem sao.
Mã:
Sub EditHyperLinks()
    Dim ws As Worksheet
    Dim Lhyper As Long
    Dim rngLink As Range
    Set ws = Sheet1
    For Lhyper = 1 To ws.UsedRange.Hyperlinks.Count
        Set rngLink = ws.Hyperlinks(Lhyper).Range
        If rngLink.Column = 9 Then 'Chi xet co I
            ws.Hyperlinks(Lhyper).Address = Replace(ws.Hyperlinks(Lhyper).Address, ".docx", ".pdf")
        End If
    Next Lhyper
    Set rngLink = Nothing
    Set ws = Nothing
    MsgBox "Da thuc hien xong"
End Sub
 
Điều này giờ tôi mới được biết.
Có ai giành điều này không, xin được chia sẻ cho tôi những chỉ dẫn, giải thích.
Cảm ơn mọi người.
Dạ nếu bác ấy ẩn phần mở rộng (đuôi) của tệp thì nhìn rõ ràng là 2 tập tin cùng thư mục, trùng tên được luôn mà bác!
1710205071203.png
 
Dùng thử đoạn code này xem sao.
Mã:
Sub EditHyperLinks()
    Dim ws As Worksheet
    Dim Lhyper As Long
    Dim rngLink As Range
    Set ws = Sheet1
    For Lhyper = 1 To ws.UsedRange.Hyperlinks.Count
        Set rngLink = ws.Hyperlinks(Lhyper).Range
        If rngLink.Column = 9 Then 'Chi xet co I
            ws.Hyperlinks(Lhyper).Address = Replace(ws.Hyperlinks(Lhyper).Address, ".docx", ".pdf")
        End If
    Next Lhyper
    Set rngLink = Nothing
    Set ws = Nothing
    MsgBox "Da thuc hien xong"
End Sub

Code hoạt động đúng như mình mong muốn.
Cảm ơn bạn đã hỗ trợ.
 
Web KT
Back
Top Bottom