VBA Excel zamiana hiperlinku na link URL

1. VBA Jak wyciągnąć adres url strony z hiperlinku Excel

W tym artykule dowiesz się w jaki sposób wyciągnąć adres url strony www z hiperlinku w Excelu. Wstawienie hiperlinku w Excel jest dość prostym rozwiązaniem. Problem pojawia się, gdy budujemy aplikację pobierającą dane ze stron sieci web. Załóżmy, że mamy w arkuszu wiele hiperlinków do stron. Możemy z nich wyciągnąć adresy url na 2 proste sposoby:

  • Możemy stworzyć makro, które za pomocą pętli For Each Next zamieni wszystkie hiperlinki na adresy stron.
  • Możemy tez napisac funkcję, która będzie zamieniała hiperlinki na adresy url.

Poniżej przedstawione są oba rozwiązania problemu.

2. Pierwszy sposób. Zamiana wszystkich hiperlinków na linki url

Zamiany hiperlinków na zwykłe adresy url możemy dokonać w prosty sposób za pomocą pętli For Each Next. Jedyne, co powinniśmy zrobić, to wkleić ponizszy kod do nowego modułu i uruchomić za pomocą klawisza F5, bądź wybrać program spośród makr. Działanie skryptu polega w dużym uproszczeniu na odszukaniu w arkuszu wsyztkich hiperlinków, a następnie ich zamianie na pełny adres strony.

'datatalk.pl
Sub ChangeHL()
Dim HL As Hyperlink
For Each HL In ActiveSheet.Hyperlinks
HL.Range = HL.Address
Next
End Sub
Excel VBA - Adres Url strony z hiperlinku
Excel VBA – Adres Url strony z hiperlinku

 

Jeśli nie chesz, by hiperlink został zamieniony, a np by adres url wstawiał się w kolumnie obok hiperlinku powinieneś zmodyfikować kod w ten sposób:

'tomaszkenig.pl
Sub ChangeHL()
Dim HL As Hyperlink
For Each HL In ActiveSheet.Hyperlinks
HL.Range.Offset(0, 1).Value = HL.Address
Next
End Sub
Excel VBA - Hiperlink na URL
Excel VBA – Hiperlink na URL

3. Drugi sposób. Funkcja zwracająca adres url z hiperlinku.

Jest też prostszy sposób działania, jeśli chcemy poznać adres url hiperlinku. Możemy napisać krótką funkcję w VBA, która zwróci nam adres url. Kod tej funkcji wygląda nastepująco:

'tomaszkenig.pl
Function PODAJ_URL(HPL As Range) As String
PODAJ_URL = HPL.Range("A1").Hyperlinks(1).Address
End Function

Wywołanie funkcji następuje poprzez wprowadzenie w arkuszu funkcji o nazwie =PODAJ_URL(adres_komórki). w argumencie funkcji wprowadzamy adres komórki z hiperlinkiem. Poniżej załączam plik z przykładami:

Excel VBA - Hiperlink na URL
Excel VBA – Hiperlink na URL

Podobne przykłady praktycznego użycia języka VBA w Excelu zamieszczam na tej stronie: VBA Przykłady. Przy okazji zapraszam do przejścia kursu VBA mojego autorstwa, znajdziesz go pod tym linkiem: Kurs VBA.

Dodaj komentarz

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