Sie erstellen also eine Tabelle, bei der der Benutzer eine Postleitzahl, eine Stadt und ein Bundesland eingeben muss. Wie erstellen Sie eine intelligentere Tabelle, die automatisch die Stadt und das Bundesland ausfüllt, nachdem der Benutzer nur die Postleitzahl eingegeben hat?
Ich habe mir einige grundlegende Tutorials angesehen, die Webentwickler mit XMLHttpRequest verwenden, wie dieses, und wurde inspiriert, die gleiche Funktionalität dieses ausgezeichneten XMLHttpRequest-Tutorials in Excel nachzubilden (scrollen Sie den Link für eine Demo herunter).
Erfolg! Ich habe einen kurzen Flash-Film zusammengestellt, um das Eingeben einer Zip-Datei und die automatische Rückgabe von Stadt und Bundesland in Excel zu demonstrieren.
Und hier ist der Tabellenkalkulations-Download zum Herumprobieren (es gibt nicht so viel Code).
Wie es funktioniert
1. Sie benötigen eine Datenbank mit Informationen zu Postleitzahl/Bundesland/Stadt. Holen Sie sich das hier (ich ging wie gezeigt mit MYSQL).
2. Geben Sie die Stadt und das Bundesland basierend auf einer Postleitzahlabfrage aus der Datenbank zurück. Ich habe PHP verwendet, um Text zurückzugeben.
3. Zurück in Excel: Wenn sich das Postleitzahl-Feld ändert, wird das Worksheet_Change-Ereignis ausgelöst und die Anfrage über WinHTTP an die PHP-Seite gesendet, die die Stadt und den Bundesstaat für die Anfrage an Excel zurückgibt.
4. Ich verwende die Funktion Split(), um den String zu analysieren und die Ergebnisse in die Tabelle zu schreiben.
Anmerkungen
Warum nicht XML zurückgeben?
Es ist nur eine Zeichenfolge aus zwei Wörtern, und Text ist leicht zu handhaben, wenn nur zwei Wörter vorhanden sind. XML war jedoch vielleicht schlauer, weil ich einfach die beiden Ergebnisfelder Zellen hätte zuordnen und eine benutzerdefinierte aufrufen können Import-URL: jedes Mal.
Warum nicht einfach direkt mit der DB verbinden?
Ja, das ist möglich, aber ich würde es vorziehen, einen „Dienst“ zu erstellen, auf dem jede App, die ich erstelle, auf jeder Plattform ihn verwenden kann.
Warum importieren Sie die Zips nicht einfach in Excel und führen eine Suche durch?
Möglich, aber wenn mehrere Arbeitsmappen die Tabelle verwenden, muss eine Änderung an allen vorgenommen werden.
Die Zips im Beispiel können veraltet sein.
Nur in XL2003 getestet.