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
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
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:
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.