Excel VBA - Routenplaner (Km-Rechner) & Projektzeilen

McDuc

Lt. Commander
Registriert
Dez. 2008
Beiträge
1.462
Hallo liebe Experten,

wie es halt so ist, macht man sich erst dann über etwas Gedanken, wenn man es akut braucht.
Konkret macht die bessere Hälfte gerade Ihre Steuer für Ihre neue Selbstständigkeit und ich würde sie gerne unterstützen.
Also habe ich begonnen, mich mit dem Thema VBA auseinander zu setzen … komme aber an folgenden Punkten leider nicht weiter:

1) ich würde in die Tabelle gerne eine Routenoption einbauen (Berechnung Km). Das klappt auch schon ganz prima, wo ich allerdings hänge ist folgendes: ich hätte gerne in einem Feld ein Dropdown, in dem ich auswählen kann "zu Hause", d.h. das System berechnet die Km bis dorthin (Adresse natürlich hinterlegt). Wenn meine Frau aber zu nächsten Schülerin fährt, soll es die Auswahlmöglichkeit "weiter" geben, nach dem Excel automatisch die Distanz der vorherigen Adresse zieht und dann diese berechnet?!

Beispiel: in Zeile 2 fährt sie zu Maria Mustermann und dann nach hause. Also wählt sie im Dropdownmenü der Zeile "nach Hause" aus und das System berechnet die entsprechenden Km. Wenn ich in Zeile 3 jetzt Lisa Mustermann hinterlege und im Dropdown "weiter", dann soll Excel die Adresse von Maria ziehen und die Distanz zwischen Maria und Lisa berechnen.

2) gibt es die Möglichkeit Excel so zu programmieren, dass ich z.B. in Zeile 2 eine Aufgabe habe. Wenn ich hier im Dropdown auf "erledigt" klicke, dass dann Zeile 2 ans Ende einer Tabelle verschoben wird? Zweck: sie hat verschiedene Aufgaben etc. Per Dropdown würde ich ihr gerne erleichtern, dass die erledigte Dinge nicht immer manuell verschieben muss, sondern einfach per Dropdown das Ganze ans Ende der Tabelle geschoben wird.

Vorab schon einmal lieben Dank und ich hoffe es ist verständlich ausgedrückt ;)
 
In kurz:

Kannst Du vergessen. Dafür brauchst Du ein Kartenprogramm ala Map & Guide. Dort kannst Du dann solche Strecken in Excel Anlegen, hochladen, Entfernungen berechnen lassen und wieder herunterladen.

Excel selbst hat kein Entfernungswerk dabei. Es gibt eine Datengrundlage (Matrix-Tabelle aus PLZ und KM). Nennt sich EWS und kostet ebenfalls Kohle, da es sich an Logistiker und Speditionen richtet.
Aber auch dort werden PLZ maximal zwei-stellig berücksichtigt. KM-genau ist das auch nicht.


Du kannst natürlich die Entfernungen einzeln ermitteln und in eine Tabelle packen. Dafür musst du aber alle möglichen Kombinationen ermitteln und einmal vorgeben.


AB Von A nach B 10km
AC Von A nach C 12km
BC Von B nach C 15km
CA Von C nach A ...
BD Von B nach D ...
DA Von D nach A....


usw usf. Das dürfte ne lange Liste werden. Mit den Idents AB,AC,DA usw usf kannst Du über Sverweis die jeweils richtigen Wert ermitteln.
 
Zuletzt bearbeitet:
Sun_set_1 schrieb:
In kurz:

Kannst Du vergessen. Dafür brauchst Du ein Kartenprogramm ala Map & Guide.
Nicht zwingend. Das sollte sich auch über Google Maps realisieren lassen mit diversen Schnittstellen und Programmieraufwand. Soweit mir bekannt, ist es für Privat auch kostenlos. Glaub ab 1000 Anfragen kostet es erst was. Ist schon länger her als ich mich damit befasst habe, aber kann man sich mal anschauen.
 
  • Gefällt mir
Reaktionen: Sun_set_1
amokkx schrieb:
Nicht zwingend. Das sollte sich auch über Google Maps realisieren lassen mit diversen Schnittstellen und Programmieraufwand. Soweit mir bekannt, ist es für Privat auch kostenlos. Glaub ab 1000 Anfragen kostet es erst was. Ist schon länger her als ich mich damit befasst habe, aber kann man sich mal anschauen.


Korrekt, die grenzen halt irgendwo zwischen Privat und Kommerziell und dann kostet es.
Aber wie Du sagst, dafür müsste er ne API Anbindung in VBA umsetzen. Daher habe ich das mal ausgeklammert.
 
Zuletzt bearbeitet:
Zu Frage 2: Hier findest Du eigentlich was Du brauchst. Eigentlich die gleiche Fragestellung:
https://www.herber.de/forum/archiv/644to648/645932_Ausschneiden_und_Einfuegen_einer_Zeile.html

Aber sind es wirklich so viele Vorgänge, dass sich ein Code hier lohnt?

Wenn ja würde ich es auf jeden Fall mit einer Schleife programmieren.
In einer Extraspalte vorne z.B. immer ein V eintragen, wenn die Zeile verschoben werden soll. Dann einen Button einfügen und wenn der gedrückt wird, sollte der Code gestartet werden, der dann gleich alle Zeilen, die mit V markiert sind verschiebt.
 
Warum willst Du das so Umständlich lösen? Deine Bemühungen in allen Ehren, aber da gibt es fertige Navisysteme, die sowas im Hintergrund automatisch über GPS schon mit machen. Da werden die Kilometer automatisch aufaddiert und zwischen privat und geschäftlich unterschieden.

Sowas gibt es von verschiedenen Anbietern. z.B. NavGear

...und wenn es geschäftlich genutzt wird müsste Deine Lösung dann auch noch Revisionssicher sein! Glaube nicht das Du das so hinbekommst, abgesehen von der Zeit die Du da verfrickelt hast! Dann lieber die rund 200 Öken in die Hand nehmen und sich ein Navi zulegen was das alles im Hintergrund mit erledigt.
 
Zuletzt bearbeitet:
Vielen Dank schon mal für Eure Mühe und Antworten.

Bzgl. dem Km-Problem habe ich eine Lösung gefunden, in der ich einfach eine Adresse eingebe und dann per Hyperlink die Strecke auslesen lasse. Ob er hierbei eine Höchstbegrenzung gibt, weiß ich aktuell noch nicht ;)
Hatte eben nur gehofft, dass ich so schnell und unkompliziert eine Route berechnen lassen könnte.
[btw: die bessere Hälfte ist Reittrainerin und ist oft an einem Tag in mehreren Ställen. Um das abzugrenzen, steuerlich, muss sie Fahrtenbuch führen und das jedes Mal manuell ist echt ätzend. So dachte ich, ihr schnell und unkompliziert helfen zu können :))

Bzgl. der anderen Thematik lese ich mir das mal durch.
Aber eigentlich wollte ich nicht ausschneiden und einfügen, sondern es a la Projektplanung so gestalten, dass ich eben verschiedene Aufgaben untereinander anlege, wir greifen beide darauf zu und wenn eine Aufgabe erledigt ist, klicken wir per Dropdown auf "erledigt" und das Ding verschwindet auf eine andere Seite/ans Ende der Tabelle/daneben … irgend so was in der Art, dass es einfach raus ist aus den aktiven Dingen.

Ich weiß, einfach gedacht … kompliziert umzusetzen ;)
 
Daran ist nichts kompliziert.

Wenn es moeglichst einfach sein soll, koennte man auch eine Statusspalte am Ende erstellen und dann über Filter Status "x" ausblenden.
Mittels Change-Event (VBA) koennte man den Filter bei Eingabe auch aktualiesen lassen oder wenn man lieber die Maus nutzt per Doppelklick (kein Button notwendig).


Formularelemente wuerde ich hier aber meiden, das macht es nur unnoetig kompliziert und auch die Eingaben werden auf Masse gesehen nervig.
Das Uebertragen koennte man auch hier ueber ein Event initieren.
 
Zurück
Oben