Jak usunąć wszystkie hiperłącza z arkusza?

przez | 2024-06-23

Czasami chcemy usunąć wszystkie hiperłącza w aktywnym arkuszu. Do napisania tej notki zainspirował mnie wpis z mojego drugiego bloga: Walidacja adresów e-mail w Excelu.

Podczas wklejania adresów e-mail do arkusza czasami Excel mi automatycznie tworzył z adresów e-mail hiperłącza. A ja tego nie chciałem. Wiem, można w ustawieniach autokorekty wyłączyć automatyczne tworzenie hiperłączy ale załóżmy, że od kogoś już otrzymaliśmy taki skoroszyt i chcemy się pozbyć wszystkich hiperłączy z arkusza.

W tym celu napisałem dwie bliźniacze procedury. Jedna z nich (UsunWszystkieHiperlacza) usuwa hiperłącza z całego aktywnego arkusza a druga (UsunHiperlaczWZaznaczeniu) tylko z zaznaczonych komórek.

Sub UsunWszystkieHiperlacza()
    Dim Sheet As Worksheet
    Dim Cell As Range
   
    If ActiveSheet.Type <> xlWorksheet Then
        MsgBox "Makro działa tylko w zwykłych arkuszach", vbExclamation
        Exit Sub
    End If
   
    Set Sheet = ActiveSheet
    For Each Cell In Sheet.UsedRange
        If Cell.Hyperlinks.Count > 0 Then
            Cell.Hyperlinks.Delete
        End If
    Next Cell
End Sub


Sub UsunHiperlaczWZaznaczeniu()
    Dim Cell As Range
       
    If ActiveSheet.Type <> xlWorksheet Then
        MsgBox "Makro działa tylko w zwykłych arkuszach", vbExclamation
        Exit Sub
    End If
       
    For Each Cell In Selection
        If Cell.Hyperlinks.Count > 0 Then
            Cell.Hyperlinks.Delete
        End If
    Next Cell
End Sub

Na początku mamy sprawdzenie czy znajdujemy się w „normalnym” arkuszu (w przypadku Excela mamy jeszcze arkusze typu Makro Excel 4.0 albo arkusz typu Wykres). Jeśli jesteśmy w zwykłym arkuszu to potem jest prosta pętla For Each, która dla każdej komórki w zakresie (arkusz lub zaznaczenie w zależności od wybranej procedury) sprawdzamy czy w danej komórce jest hiperłącze. Jeśli tak, to je usuwamy za pomocą metody Hyperlinks.Delete.

Zobacz również: Word – Jak usunąć wszystkie hiperłącza

Dodaj komentarz

Twój adres e-mail nie zostanie opublikowany. Wymagane pola są oznaczone *

Witryna wykorzystuje Akismet, aby ograniczyć spam. Dowiedz się więcej jak przetwarzane są dane komentarzy.