Thema Datum  Von Nutzer Rating
Antwort
20.01.2018 16:43:18 FloSch
NotSolved
Blau Entfernung zwischen zwei Orten berechnen
20.01.2018 22:45:54 xlKing
NotSolved
20.01.2018 23:04:51 xlKing
NotSolved
20.01.2018 23:42:28 xlKing
NotSolved

Ansicht des Beitrags:
Von:
xlKing
Datum:
20.01.2018 22:45:54
Views:
874
Rating: Antwort:
  Ja
Thema:
Entfernung zwischen zwei Orten berechnen

Hallo FloSch

Meinst du das in etwa so?

Sub Entfernung()

Dim r As String, Distanz As String, Zeit As String
Dim p1 As Long, p2 As Long

For i = 2 To Cells(Rows.Count, 1).End(xlUp).Row
  r = GetRoute(Range("A" & i), Range("B" & i))

  p1 = InStr(1, r, "distance")
  If p1 > 0 Then p1 = InStr(p1, r, "text")
  If p1 > 0 Then p2 = InStr(p1, r, ",")
  If p1 > 0 And p2 > 0 Then
    Distanz = Mid(r, p1 + 9, p2 - p1 - 10)
    Range("C" & i) = Distanz
  End If

  If p1 > 0 Then p1 = InStr(1, r, "duration")
  If p1 > 0 Then p1 = InStr(p1, r, "text")
  If p1 > 0 Then p2 = InStr(p1, r, ",")
  If p1 > 0 And p2 > 0 Then
    Zeit = Mid(r, p1 + 9, p2 - p1 - 10)
    Range("D" & i) = Zeit
  End If
Next i

End Sub

Public Function GetRoute(Start As String, Ziel As String) As String
  Dim Link As String
  Link = "https://maps.googleapis.com/maps/api/directions/json?"
  
  Application.Wait Now + TimeValue("0:00:01")
  With CreateObject("WinHttp.WinHttpRequest.5.1")
    .Open "GET", Link & "origin=" & Start & "&destination=" & Ziel, False
    .send
    GetRoute = .responsetext
  End With
End Function
Leg in deinem Sheet am besten einen Button an, dem du das Makro "Entfernung" zuordnest.

Nur PLZ-Angaben können aber zu falschen Ergebnissen führen. Du solltest mindestens noch den Ort mitgeben. Beispieleintrag in Spalte A: 12099 Berlin. In meinen Tests klappt das bisher wunderbar.

Ach ja, und Danke für die Frage. Hätte nicht gedacht, dass es hierfür eine Schnittstelle gibt. Auch ich lerne immer wieder gern dazu.

Gruß Mr. K.


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
20.01.2018 16:43:18 FloSch
NotSolved
Blau Entfernung zwischen zwei Orten berechnen
20.01.2018 22:45:54 xlKing
NotSolved
20.01.2018 23:04:51 xlKing
NotSolved
20.01.2018 23:42:28 xlKing
NotSolved