Az „Excel” fórum célja, hogy keretet adjon az Excel felhasználók széles táborának tapasztalataik megosztására, és lehetőséget a segítséget kérőknek. Az alábbi összefoglaló azért készült, hogy segítse a helyes kérdésfeltevést.
– Írd le szabatosan a problémát. Úgy fogalmazz, hogy ne csak te magad, de a szakértő is megértse, mire szeretnél választ kapni.
– Írd le, hogy milyen verziójú Excellel dolgozol. (Vagy ha nem – ill. nem csak – Excel, akkor micsoda?)
– Írd le, hogy milyen úton indultál el, és hol akadtál el rajta.
– A kérdés megértése szempontjából sokat segíthet, ha feltölteszt egy képet, amin látszik, hogy mit szeretnél, vagy illusztrálja azt.
– Még jobb, ha feltöltesz egy minta munkafüzetet valahová (pl. data.hu). Feltöltés előtt távolítsd el belőle a nem publikus adatokat.
– Ha a feladat jellege olyan, célszerű az "előtte" és "utána" állapotokat bemutatni. (Miből kellene csinálni mit?)
– Ha VBA kódon kell javítani, másold be a releváns kódrészt. Rövid kód mehet hozzászólásba, hosszú kód inkább ide: http://pastebin.com/
– Ha valami nem úgy működik, ahogy kellene, add meg a rendellenes viselkedés jellemzőit, a hibaüzenetet, és a hibát okozó programsort.
És akkor még nem is számoltál a keleti hátszéllel, amitől gyorsabban mész Bajára, és a nagyobb sebesség miatt jobban görbül a tér körülötted. Szerintem ez lehet a különbség oka. Vagy a félpályás terelés az M6-oson a délelőtti dunaújvárosi bicikliverseny miatt. :)
Lefuttattam a fenomenális makródat, és képzeld, a Baja - Miskolc távolság 369 km (körülbelül 3 óra 48 perc), a Miskolc - Baja viszont 368 km (körülbelül 3 óra 45 perc). :))
Egyszer 100 éve egy térképen kikrestem két helység távolságát. 41 km-t írt. Utána megnéztem egy frissebb térképen, ott 42 km volt, a legfrissebben pedig 43 km. Szépen példázza a táguló világot. :)
Ezzel elküzdöttem egy darabig, de szerintem elég jól sikerült. Igaz, nem google-t használ...
B1-be kell beírni a kiindulópontot, B2-be a célállomást, aztán futtatni a makrót, és B3-ba jön (elvileg) az eredmény.
A makró a lekérdezés során megnyitja az Internet Explorert. Az IE ablak felugrását el lehetne kerülni a piros sor törlésével vagy kikommentezésével. Elegánsabb lenne úgy. De az a gond, hogy ha a webhely hibaüzenettel tér vissza, )pl. nemlétező városnév esetén,) akkor a makró nem tudja bezárni az IE ablakot, és mivel az ablak nem látszik, nem tudod bezárni manuálisan sem, csak feladatkezelőből.
Sub DistanceQuery() Dim IE As Object, Doc As Object Dim oFr As Object, oTo As Object, oBut As Object, oSum As Object 'HTMLTableCell Dim t As Long, s As String Set IE = CreateObject("InternetExplorer.Application") IE.Navigate "http://www.terkep24.hu/" IE.Visible = True While (IE.Busy) Or (IE.ReadyState <> 4) 'wait until ready Wend Set Doc = IE.Document Set oFr = Doc.getelementbyid("rpA").Children(1) Set oTo = Doc.getelementbyid("rpB").Children(1) Set oBut = Doc.getelementbyid("routebtn_terv").FirstChild
oFr.Value = Range("B1") oTo.Value = Range("B2") oBut.Click While (IE.Busy) Or (IE.ReadyState <> 4) 'wait until ready Wend Set oSum = Doc.getelementbyid("summary") While oSum.innerText = "" DoEvents Wend s = oSum.innerText s = Replace(s, Chr(13), "") s = Replace(s, Chr(10), "") t = InStr(s, ":") s = Mid(s, t + 1) Range("B3") = s IE.Quit End Sub
Nem "defaultra", hanem "default" -- bár a fogalmazás slendrián, én ezt inkább úgy értem, hogy amikor létrehoz egy új táblázatot, akkor helyből piros legyen a füle. De majd jön a kérdező, és elmagyarázza, mit is akart tulajdonképpen, amíg mi ezen itt elvitatkozunk. És írjuk bele az útmutatóba a redundancia jelentőségét.
Én is így voltam vele, és most ünnepélyesen elnézést kérek – azt hiszem, valami tudatalatti hímsovinizmus lehet a magyarázat (pedig hát van nekem IRL is olyan hölgyismerősöm, aki tízszerannyit tud az Excelről, mint én).
Ha már forráskódot kérünk (felteszem, a makrókra gondoltál), akkor arra is hívjuk fel a figyelmet, hogy használjon valami pastebint a user, ahova regisztráció nélkül is betolhatja a kódot, mert itt a fórumban valami nagyon ocsmány dolog lesz belőle.