Så du bygger ett kalkylblad som kräver att användaren anger en ZipCode, City och State … Hur bygger du ett smartare kalkylblad som automatiskt fyller i City and State efter att användaren bara matat in ZipCode?
Jag har tittat på några grundläggande självstudier som web devolopers använder med XMLHttpRequest, som den här, och blev inspirerad att återskapa samma funktionalitet för denna utmärkta XMLHttpRequest -handledning i Excel (rulla ner länken för en demo).
Framgång! Jag har sammanställt en snabbblixtsfilm för att demonstrera att en blixtlås knappas in och att staden och staten automatiskt returneras i Excel.
Och här är nedladdningen av kalkylbladet för att sparka runt (det finns inte så mycket kod).
Hur det fungerar
1. Du behöver en databas som innehåller information om postnummer/stat/stad. Få det här (jag gick med MYSQL som visat).
2. Returnera staden och staten baserat på en postnummerfråga från databasen, jag använde PHP för att returnera text.
3. Tillbaka i Excel: När ZipCode -fältet ändras avfyras händelsen Worksheet_Change och skickar begäran via WinHTTP till PHP -sidan som returnerar staden och staten för begäran tillbaka till Excel.
4. Jag använder funktionen Split () för att analysera strängen och skriva resultaten till kalkylbladet.
Anteckningar
Varför inte returnera XML?
Det är bara en två ordsträng, och text är lätt att hantera när det bara finns två ord. XML kan ha varit snäppare dock eftersom jag bara kunde ha mappat de två resultatfälten till celler och ringt en anpassad Importera URL: varje gång.
Varför inte bara ansluta till DB direkt?
Ja det är möjligt, men jag föredrar att skapa en "tjänst", så kan alla appar jag gör på vilken plattform som helst använda den.
Varför inte bara importera Zips till Excel och leta?
Möjligt, men om flera arbetsböcker använder tabellen måste en ändring göras av dem alla.
Dragkedjorna i exemplet kan vara föråldrade.
Testad endast i XL2003.