Moin! Grundsätzlich geht das auslesen. Problem ist nur, dass man nicht genau vorhersagen kann, ob es eine Adresse gibt und wie die aufgebaut ist. Eine Variante wäre ggf. so wie unten. Ist aber ungetestet. Dabei wird der IE geöffnet und der Wert aus A2 in die Suche eingetragen (ggf. noch anpassen). Aus dem Ergebnis wird dann die erste Zeile des ersten gefundenen Wertes ausgelesen und in Spalte C der selben Zeile eingetragen. Die müsste man dann noch überprüfen. Da bin ich mit aber nicht sicher, ob die immer gleich aufgebaut ist .
Wenn es nicht der IE sein soll, dann ggf. so
http://stackoverflow.com/questions/32050907/specific-information-from-google-search-result
Wie gesagt, der Code nimmt nur die Zeile und trägt sie ein. Die Adresse müsste man dann noch extrahieren. Und noch ein Tipp. Beim Zugriff auf google merkt das System wenn die selbe IP mehrfach zugreift. Irgendwann kommt dann die Sicherheitsanfrage wo man zu einem Bild den Text einfügen muss. Dass kann man mE nicht manipullieren.
VG
Sub adresse()
With CreateObject("InternetExplorer.application")
.Visible = True
.navigate ("http://www.google.com/")
While .Busy Or .readyState <> 4
DoEvents
Wend
'Spalte mit deinen Werte, zählt die Anzahl in Spalte A
ende = Worksheets(1).Cells(Rows.Count, 1).End(xlUp).Row
For zeile = 2 To ende
.document.all.q.Value = ActiveSheet.Cells(zeile, 1)
.document.all.btnG.Click
While .Busy Or .readyState <> 4
DoEvents
Wend
'Seite geladen
'trägt das Ergebnis in Spalte C
For Each werte In .getElementsByTagName("span")
If wert.className = "st" Then
ActiveSheet.Cells(zeile, 3) = werte.innertext
Exit For
End If
Next
Next
End With
End Sub
|