Anzeige
Archiv - Navigation
1560to1564
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Automatische Distanzberechnung

Automatische Distanzberechnung
23.05.2017 22:04:25
Gustavo
Hallo, gibt es eine Möglichkeit die Distanz in km zwischen zwei Postleitzahlen grob zu bestimmen? Ich habe eine Liste mit allen PLZ + Ort und meine Wunsch-PLZ. Wie ist es Möglich mir einmal alle zugehörigen Distanzen zu ziehen und dann mir an die Wunsch-PLZ anzeigen zu lassen. Jemand eine Idee?

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Automatische Distanzberechnung
24.05.2017 05:54:42
Rainer
Hallo Gustavo,
ich nutze dazu diese Lösung:
http://analystcave.com/excel-calculate-distances-between-addresses/#Calculate_distance_between_two_addresses_using_Google_Maps_in_Excel

'Calculate Google Maps distance between two addresses
Public Function GetDistance(start As String, dest As String)
Dim firstVal As String, secondVal As String, lastVal As String
firstVal = "http://maps.googleapis.com/maps/api/distancematrix/json?origins="
secondVal = "&destinations="
lastVal = "&mode=car&language=pl&sensor=false"
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
URL = firstVal & Replace(start, " ", "+") & secondVal & Replace(dest, " ", "+") & lastVal
objHTTP.Open "GET", URL, False
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHTTP.send ("")
If InStr(objHTTP.responseText, """distance"" : {") = 0 Then GoTo ErrorHandl
Set regex = CreateObject("VBScript.RegExp"): regex.Pattern = """value"".*?([0-9]+)": regex. _
Global = False
Set matches = regex.Execute(objHTTP.responseText)
tmpVal = Replace(matches(0).SubMatches(0), ".", Application.International(xlListSeparator))
GetDistance = CDbl(tmpVal)
Exit Function
ErrorHandl:
GetDistance = -1
End Function
und in deiner Exceltabelle schreibst du dann:

D3 =GetDistance(B3;C3)
und bekommst die Strecke in (m).
Gruß,
Rainer
Anzeige
AW: Automatische Distanzberechnung
24.05.2017 05:55:07
Rainer
Hallo Gustavo,
ich nutze dazu diese Lösung:
http://analystcave.com/excel-calculate-distances-between-addresses/#Calculate_distance_between_two_addresses_using_Google_Maps_in_Excel

'Calculate Google Maps distance between two addresses
Public Function GetDistance(start As String, dest As String)
Dim firstVal As String, secondVal As String, lastVal As String
firstVal = "http://maps.googleapis.com/maps/api/distancematrix/json?origins="
secondVal = "&destinations="
lastVal = "&mode=car&language=pl&sensor=false"
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
URL = firstVal & Replace(start, " ", "+") & secondVal & Replace(dest, " ", "+") & lastVal
objHTTP.Open "GET", URL, False
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHTTP.send ("")
If InStr(objHTTP.responseText, """distance"" : {") = 0 Then GoTo ErrorHandl
Set regex = CreateObject("VBScript.RegExp"): regex.Pattern = """value"".*?([0-9]+)": regex. _
Global = False
Set matches = regex.Execute(objHTTP.responseText)
tmpVal = Replace(matches(0).SubMatches(0), ".", Application.International(xlListSeparator))
GetDistance = CDbl(tmpVal)
Exit Function
ErrorHandl:
GetDistance = -1
End Function
und in deiner Exceltabelle schreibst du dann:

D3 =GetDistance(B3;C3)
und bekommst die Strecke in (m).
Gruß,
Rainer
Anzeige
AW: Automatische Distanzberechnung
24.05.2017 05:55:25
Rainer
Hallo Gustavo,
ich nutze dazu diese Lösung:
http://analystcave.com/excel-calculate-distances-between-addresses/#Calculate_distance_between_two_addresses_using_Google_Maps_in_Excel

'Calculate Google Maps distance between two addresses
Public Function GetDistance(start As String, dest As String)
Dim firstVal As String, secondVal As String, lastVal As String
firstVal = "http://maps.googleapis.com/maps/api/distancematrix/json?origins="
secondVal = "&destinations="
lastVal = "&mode=car&language=pl&sensor=false"
Set objHTTP = CreateObject("MSXML2.ServerXMLHTTP")
URL = firstVal & Replace(start, " ", "+") & secondVal & Replace(dest, " ", "+") & lastVal
objHTTP.Open "GET", URL, False
objHTTP.setRequestHeader "User-Agent", "Mozilla/4.0 (compatible; MSIE 6.0; Windows NT 5.0)"
objHTTP.send ("")
If InStr(objHTTP.responseText, """distance"" : {") = 0 Then GoTo ErrorHandl
Set regex = CreateObject("VBScript.RegExp"): regex.Pattern = """value"".*?([0-9]+)": regex. _
Global = False
Set matches = regex.Execute(objHTTP.responseText)
tmpVal = Replace(matches(0).SubMatches(0), ".", Application.International(xlListSeparator))
GetDistance = CDbl(tmpVal)
Exit Function
ErrorHandl:
GetDistance = -1
End Function
und in deiner Exceltabelle schreibst du dann:

D3 =GetDistance(B3;C3)
und bekommst die Strecke in (m).
Gruß,
Rainer
Anzeige
AW: Automatische Distanzberechnung
24.05.2017 10:17:25
Fabian
Hallo Gustavo,
über die google api kannst du mit einer IP 2500 Abfragen am Tag machen, falls du mehr Abfragen brauchst, kannst du deinen Postleitzahlen Koordinaten zuweisen und die Strecke (Luftlinie) offline berechnen. Ist zwar nicht so genau; aber du hast kein Limit.
Gruß
Fabian
AW: Automatische Distanzberechnung
26.05.2017 14:07:12
Gustavo
Perfekt, danke dir! Kannst du zufällig auch mit dem Tool die Fahrtdauer in Minuten angeben damit?
AW: Automatische Distanzberechnung
27.05.2017 08:11:39
Rainer
Hallo Gustavo,
ja, kann ich.
Kannst du auch!
Klicke doch einfach auf den Link!
Gruß,
Rainer

7 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige