Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1104to1108
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

VBA Schleife erweitern; Entfernung berechnen

VBA Schleife erweitern; Entfernung berechnen
Wolfgang
Hallo Excel - Freunde,
ich hatte vor einigen Tagen eine Datei mit einem Makro hier gefunden, die über Google Map die Entfernungen berechnet. Wobei Startadresse ein fester Bereich ist und die Zieladressen in der Tabelle in einer Spalte untereinander stehen über eine Schleife nach einander abgearbeitet werden.
Nun würde ich gerne auch das die Startadresse die in einer Spalte in der Tabelle stehen in einer Schleife mit abgearbeitet werden. Leider bekomme ich das nicht hin und hoffe das mir jemand helfen kann das Makro um zu schreiben .
Anbei die Datei:
https://www.herber.de/bbs/user/64883.xls
Gruß und Danke im vorraus Wolfgang

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

Betreff
Benutzer
Anzeige
AW: VBA Schleife erweitern; Entfernung berechnen
05.10.2009 16:38:03
Anton
Hallo Wolfgang,
 ABCDEFGH
1Start (PLZ oder Ortsname)       
2Rissener Landstrasse 270 22559       
3        
4Ziel (PLZ oder Ortsname)RevierEntfernungZeitOrtsname   
5Aastwiete 22880Fw-Osdorf/Wedel   Harderweg 10 22549Fw-Osdorf/Außenstelle/FriedrichRissener Landstrasse 270 22559
6Aastwiete 22880Fw-Osdorf/Außenstelle/Wedel   Rissener Landstrasse 270 22559Fw-Osdorf/Außenstelle/SchenefeldRissener Landstrasse 270 22559
7Abbestrasse 22765Fw-Osdorf/Fw-12   Harderweg 10 22549Fw-Osdorf/Außenstelle/WedelRissener Landstrasse 270 22559
8ABC-Str. 22880Fw-Osdorf/Wedel   Harderweg 10 22549Fw-Osdorf/Fw-12Harderweg 10 22549
9ABC-Str. 22880Fw-Osdorf/Außenstelle/Wedel   Rissener Landstrasse 270 22559Fw-Osdorf/Fw-14Harderweg 10 22549
10Achter de Hoef 22869Fw-Osdorf/Schenefeld   Harderweg 10 22549Fw-Osdorf/Fw-15Harderweg 10 22549
11Achter de Hoef 22869Fw-Osdorf/Außenstelle/Schenefeld   Rissener Landstrasse 270 22559Fw-Osdorf/SchenefeldHarderweg 10 22549
12Achter de Höf 22559Fw-Osdorf/Außenstelle/Friedrich   Rissener Landstrasse 270 22559Fw-Osdorf/WedelHarderweg 10 22549

kannst du erklären , was hier Startadresse(A2 oder?) und Zieladresse ist?
Und was willst du ermitteln:Entfernung,Zeit oder Ortsname?
mfg Anton
Anzeige
AW: VBA Schleife erweitern; Entfernung berechnen
05.10.2009 18:49:38
Wolfgang
Hallo Anton,
emittelt werden sollen die Entfernung und die Fahrzeit.
In der Spalte "F" stehen die Startadressen und in der Spalte "A" die Zieladressen.
gruß wolfgang
AW: VBA Schleife erweitern; Entfernung berechnen
05.10.2009 22:15:59
Wolfgang
Hallo Anton,
vielen Dank es funktioniert nur noch eine Sache bei Adressen die Google map nicht eindeutig erkennt wird eine neue Google seite geöffnet . Könnte man das unterbinden und die Adresse einfach übergehen?
Danke und Gruß Wolfgang
AW: VBA Schleife erweitern; Entfernung berechnen
05.10.2009 22:32:50
Wolfgang
Hallo Anton,
habe ich selbst ändern können. Einfach: IEApp.Visible = True auf False gesetzt.
Danke und einen schönen Abend
Wolfgang
Anzeige
Vorsicht!
06.10.2009 15:25:52
Anton
Hallo Wolfgang,
ersetze den Code durch diesen hier:

Sub Entfernung_google()
  Dim IEApp As Object  
  Dim IEDocument As Object    
  Set IEApp = CreateObject("InternetExplorer.Application")  
  For i = 2 To Tabelle1.UsedRange.Rows.Count  
    IEApp.Visible = False
    IEApp.Navigate "http://maps.google.de/maps?saddr=" & Tabelle1.Cells(i, 5).Value & _
                   "&daddr=" & Tabelle1.Cells(i, 1).Value & "&output=html"
    Application.StatusBar = "Start-> " & Tabelle1.Cells(i, 5).Value & _
                            " Ziel-> " & Tabelle1.Cells(i, 1).Value
    Do: Loop Until IEApp.Busy = False    
    Do: Loop Until IEApp.Busy = False    
    Set IEDocument = IEApp.Document  
    Do: Loop Until IEDocument.ReadyState = "complete"    
    Set result = IEDocument.getElementById("dditd")  
    If Not result Is Nothing Then    
      teile = Split(result.innerText, "–")
      Tabelle1.Cells(i, 3).Value = teile(0)
      Tabelle1.Cells(i, 4).Value = teile(1)
    End If  
    Set IEDocument = Nothing  
  Next
  IEApp.Quit
  Set IEApp = Nothing  
  Application.StatusBar = False
  MsgBox "Fertig"
End Sub  

sonst hast du mehrere IE Instanzen im Hintergrund laufen(siehe Taskmanager).
mfg Anton
Anzeige
AW: Vorsicht!
06.10.2009 17:53:33
Wolfgang
Hall Anton,
danke Dir für Deine Mühe.
Werde das Makro übernehmen.
Gruß Wolfgang

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige