VBA với siêu liên kết trong Excel

Mr LNA

Administrator
1 Tháng mười một 2010
15,239
0
36
Kiểm tra sự tồn tại của 1 file trong Excel sử dụng hàm tự tạo trong VBA

Mã:
Public Function FileExists(fname) As Boolean
Dim x As String
x = Dir(fname)
If x <> "" Then FileExists = True _
Else FileExists = False
End Function
Sau khi insert code vào module.
Giả sử ô A1 của bạn có dạng chuỗi là: C:\Users\SONY\Hieu\luan van\1.docx
ô B1 bạn dùng hàm: =FileExists(A1)
Nếu đường dẫn có File 1.docx thì ô B1 trả kết quả TRUE và ngược lại.

1. Xóa toàn bộ các siêu liên kết các ô được chọn
Sao chép đoạn mã phía dưới vào Workbook, sau đó chọn các ô cần xóa liên kết và chạy Macro này.
Mã:
[COLOR=#666666][FONT=georgia]Sub RemoveHyperlinks()[/FONT][/COLOR]
[COLOR=#666666][FONT=georgia]     Selection.Hyperlinks.Delete[/FONT][/COLOR]
[COLOR=#666666][FONT=georgia]End Sub[/FONT][/COLOR]
2. Xóa toàn bộ các siêu liên kết trong Sheet hiện tại
Nếu bạn muốn loại bỏ tất cả các siêu liên kết trên Sheet hiện tại , sử dụng các Macro sau đây
Mã:
[COLOR=#666666][FONT=georgia]Sub RemoveHyperlinksOnActiveSheet()[/FONT][/COLOR]
[COLOR=#666666][FONT=georgia]Cells.Hyperlinks.Delete[/FONT][/COLOR]
[COLOR=#666666][FONT=georgia]End Sub[/FONT][/COLOR]
3.Lấy ra địa chỉ của siêu liên kết điền vào ô liền kề bên phải
Bạn có thể sử dụng một Macro để trích xuất địa chỉ từ mỗi siêu liên kết trên một bảng tính, và lưu nó vào ô liền kề bên phải.




Mã:
Sub ExtractHyperlink()
    Dim HL As Hyperlink
    For Each HL In ActiveSheet.Hyperlinks
        HL.Range.Offset(0, 1).Value = HL.Address
    Next
End Sub
4. Trích xuất các URL hoặc địa chỉ email từ một siêu liên kết
Nếu bạn có một siêu liên kết, để biết được chính xác URL đó là gì ta phải để chuột vào siêu liên kết đó hoặc kích chuột phải chọn Edit Hyperlink. Nhưng nếu bạn có một danh sách các siêu liên kết thì ta không thể thực hiện thủ công được vì sẽ mất thời gian, vậy có hàm nào trong Excel để làm được việc này không?
Hiện trong Excel không có hàm để trích xuất các URL hoặc địa chỉ email từ một siêu liên kết. Bạn có thể tạo ra hàm riêng để trích xuất địa chỉ.



Sao chép đoạn mã phía dưới vào trong bảng tính của bạn, sau đó sử dụng hàm GetURL trong bảng tính, giống như bất kỳ các hàm khác.
Mã:
Function GetURL(cell As Range)
    GetURL = cell.Hyperlinks(1).Address
End Function
Ví dụ, để tìm URL cho một siêu liên kết trong ô B10, sử dụng công thức này:
= GetURL (B10)
5. Chuyển đổi văn bản URL để liên kết có thể click
Giả sử bạn có nhiều URL trong bảng tính của bạn, nhưng các URL không có liên kết, và bây giờ bạn cần phải chuyển đổi tất cả các url đến các siêu liên kết để có thể click, Bạn có thể nhấp đúp chuột vào từng cái một để chuyển đổi, nhưng điều này sẽ tốn thời gian nếu có rất nhiều các URL. Làm thế nào bạn có thể chuyển đổi nhiều URL đến các siêu liên kết để có thể click trong Excel?


Nếu bạn muốn loại thực hiện việc này , sử dụng các Macro sau đây
Mã:
Sub AddHyperlinks()
    Dim Cell As Range
    For Each Cell In Intersect(Selection, ActiveSheet.UsedRange)
        If Cell <> "" Then
            ActiveSheet.Hyperlinks.Add Cell, Cell.Value
        End If
    Next
End Sub
Sau khi đã có Macro bên trên, quay trở lại màn hình làm việc Excel, bôi đen toàn bộ các danh sách cần chuyển đổi và chạy Macro
 

Thống kê diễn đàn

Chủ đề
27,279
Bài viết
29,767
Thành viên
85,099
Thành viên mới nhất
lamnn.hcm

VỀ CHÚNG TÔI

  • Sinhvienthamdinh.Com là diễn đàn đầu tiên và lớn nhất dành riêng cho cộng đồng nhân lực ngành thẩm định giá. Cổng thông tin được tạo ra nhằm tạo kênh kết nối tri thức cho tất cả các bạn đã và đang quan tâm đến ngành thẩm định giá. Các thông tin được tổng hợp với đầy đủ các mảng thuộc lĩnh vực thẩm định giá như: Thẩm định giá Bất động sản, thẩm định giá động sản, thẩm định giá máy móc thiết bị, thẩm định giá doanh nghiệp, thẩm định giá dự án đầu tư, thẩm định giá thương hiệu...
  • Với phương châm "Connet For Sharing" chúng tôi chia sẻ hoàn toàn miễn phí và không giới hạn những kiến thức từ cộng đồng diễn đàn.

DANH MỤC CHÍNH

CÁ NHÂN