So funktioniert JustAnswer:
  • Fragen Sie einen Experten
    Tausende Experten in über 200 Kategorien.
  • Erhalten Sie eine professionelle Antwort
    Per E-Mail oder sofortiger Benachrichtigung, während Sie auf unserer Website warten. Stellen Sie ggf. weitere Anschlussfragen.
  • 100%ige Zufriedenheit garantiert
    Bewerten Sie die erhaltene Antwort.
Stellen Sie Ihre Frage an tb179.
tb179
tb179, IT-Specialist
Kategorie: Computer
Zufriedene Kunden: 912
Erfahrung:  Über 10 Jahre Berufserfahrung im Endkundensupport für Computer und mobile Geräte
41102556
Geben Sie Ihre Frage in der Kategorie Computer hier ein
tb179 ist jetzt online.

Ich m chte die Luftlinie zwischen zwei GEO-Koordinaten in Excel

Kundenfrage

Ich möchte die Luftlinie zwischen zwei GEO-Koordinaten in Excel 2007 berechnen
Gepostet: vor 7 Jahren.
Kategorie: Computer
Experte:  tb179 hat geantwortet vor 7 Jahren.
Hallo, auf folgender Seite gibt es ein Skript, welches die Entfernung der Luftlinie berechnen sollte:

http://www.ms-office-forum.net/forum/showthread.php?t=240109
Kunde: hat geantwortet vor 7 Jahren.
Hallo,

leider kenne ich mich mit Makros nicht aus und kann deshalb den unten stehenden Makro-Code auch nicht in Excel 2007 zum Laufen bringen.

Können Sie ein Excel-Sheet (wichtig: Excel 2007!) mit dem Makro-Code erstellen und es über einen Link downloadbar machen?

Gerne akzeptiere ich Ihre Antwort, wenn ich ein funktionierendes Excel-Sheet habe.

Zum besseren Verständnis: ich brauche eine Excel-Formel oder ein Makro, mit dem ich die Luftlinie zwischen den PLZ-Mittelpunkten berechnen kann.

Hier der Makro-Code:

Sub Entfernung()
Dim Start As Date
Dim IEApp As Object
Dim IEDocument As Object
Dim strURL As String
Dim blnGefunden As Boolean
blnGefunden = False
von = InputBox("Geben Sie Start-PLZ ein.", "Start", "32791")
If von = "" Then Exit Sub
von_ort = InputBox("Geben Sie den Start-Ort ein.", "Start", "Start-Ort")
If von_ort = "" Then Exit Sub
nach = InputBox("Geben Sie Ziel-PLZ ein.", "Ziel", "32756")
If nach = "" Then Exit Sub
nach_ort = InputBox("Geben Sie Ziel-Ort ein.", "Ziel", "Ziel-Ort")
If nach_ort = "" Then Exit Sub
Set IEApp = CreateObject("InternetExplorer.Application")
IEApp.Visible = True
IEApp.Navigate "http://www.falk.de//baseservices/do/routeService;jsessionid=24EBEF0EB55871AC2B2F65ABFA799EEE?#"
Start = Now
Do: Loop Until IEApp.Busy = False
Do: Loop Until IEApp.Busy = False
Do
If DateDiff("s", Start, Now) > 5 Then Exit Do
Loop Until IEApp.ReadyState <> 4
Set IEDocument = IEApp.Document
IEDocument.getElementById("station[0].zip").Value = von
Application.Wait (Now + TimeValue("0:00:01")) '1 sec Pause
IEDocument.getElementById("station[1].zip").Value = nach
Application.Wait (Now + TimeValue("0:00:01")) '1 sec Pause
IEDocument.getElementById("station[0].city").Value = von_ort
Application.Wait (Now + TimeValue("0:00:01")) '1 sec Pause
IEDocument.getElementById("station[1].city").Value = nach_ort
Application.Wait (Now + TimeValue("0:00:01")) '1 sec Pause
IEDocument.all.btn_calcRoute.Click
Application.Wait (Now + TimeValue("0:00:15"))
IEDocument.all.btn_calcRoute.Click
Application.Wait (Now + TimeValue("0:00:05"))
Set iedoc = IEApp.Document
strTeile = Split(iedoc.Body.innerText, vbCrLf)
Debug.Print iedoc.Body.innerText
For i = LBound(strTeile) To UBound(strTeile)
If InStr(1, strTeile(i), "Entfernung:", vbTextCompare) > 0 Then
blnGefunden = True
msg = strTeile(i)
End If
Next
If blnGefunden = False Then
MsgBox "Die Adresse konnte nicht decodiert werden." & vbCr & "Falsche PLZ?"
Else
MsgBox msg
End If
IEApp.Quit
Set IEDocument = Nothing
Set IEApp = Nothing
End Sub

Mit freundlichen Grüßen

Thorwald Petersen
Experte:  tb179 hat geantwortet vor 7 Jahren.
Hallo,
ich habe Ihnen eine Exceldatei erstellt, mit deren Hilfe Sie die Entfernung der Luftlinie zwischen zwei Punkten berechnen können, deren Längen- und Breitengerade eingegeben werden. Ich hoffe das hilft erstmal weiter. Hier der Link zum Download:

http://www.file-upload.net/download-2599392/entfernungsberechnung.xls.html

Kunde: hat geantwortet vor 7 Jahren.
Vielen Dank für die Formel.

Leider ergeben sich derart große Abweichungen von den tatsächlichen Entfernungen, daß die Formel und/ oder die gesamte Herangehensweise nicht geeignet ist die Luftlinien-Entfernungen zwischen PLZ-Mittelpunkten zu berechnen.

Ich vermute, daß Excel mit der Berechnung von Winkelfunktionen schlicht überfordert ist, so daß es zu großen Rundungsfehlern kommt die letztllich mehrere hundert bis tausend Kilometer Unterschied ausmachen. Gemessen am Erdumfang mögen die Abweichungen gering sein - ich brauche aber eine brauchbare Lösung für Entfernungen unter 100km.

Trotzdem, vielen Dank für Ihre Bemühungen!

MfG