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.
Adott egy excel táblázat az alábbi mezőkkel cirka 100 000termékkel
A-H oszlopig
Az A oszlop a beszerzési ár a B oszlop az eladási ár a C-H oszlopokban pedig a termék jellemzői találhatóak meg.
A termék jellemzőit lebontottam így azok szétválasztva jelennek meg. webes lekérdezést szeretnék alkalmazni az eladási árra úgy hogy adott oszlop adatait automatikusan lekérje a táblázat az árgépről. Mindezt úgy hogy a cellában szereplő részadatra rákeressen az árgépen és a kapott eredményt az eladási ár oszlopába illessze be,
Tudnátok segíteni abban, hogy miért van az, hogy ha egy listát létrehozok (érvényesítés), és a hozzá tartozó adatbázisban (oszlopban) vannak üres cellák, azok a listában is mindig megjelennek üres adatként , hiába van bepipálva az "üres cellák mellőzése" opció az érvényesítésnél. Office 2007-et használok. Nagyon köszi !
Szerintem egy csomó dologra nem fogunk soha választ találni, még szerintem azok sem akik írták a Windows-t.
OFF
Kb 20 évvel ezelőtt, egy általam nagyra tartott prof. azt mondta, hogy "a számítástechnika gyerekcipőben jár, ezért semmin nem kell csodálkozni". A magam részéről ezt a mai napig szem előtt tartom...
A 2. makrónak futnia kéne. Az elsőnek valóban nem, mert az IFERROR a 2007-ben még csak munkalapfüggvény, vba függvényként nem müködik. Csak azt nem értem, hogy lecsekkoltam és akkor működött. És most mivel halott a gépem, nem tudom megnézni, hogy tulajdonképpen mit is csekkoltam.
Az FKERES 4. paramétere analóg a HOL.VAN 3. paraméterével, csak érthetetlen módon valamiért butább, mert míg a HOL.VAN a pontos egyezésen kivül növekvő és csökkenő sorrendű tartományokban is keres, addig az FKERES a pontos egyezés mellett csak a növekvőben.
Bár a másik gépen (most nem tudom megnézni csak holnap) 2014 es office van. Ismernie kéne az IFERROR függvényt. És ott is hibaüzenetet irt ki. A súgóban olvastam, hogy lehetséges ok a hiányzó *.dll file, és pipáljam be a kívánt funkciót. De ott nem tudtam elképzelni sem melyik kellhet neki...
A korábban irt 4 soros is ezen a gépen fut le hibátlanul? Ne hiszem, az alábbiak miatt:
Nagyon úgy néz ki, hogy az IFERROR függvényt az Excel 2010-es verziójában vezették be. Ezért nem szeresse a 2007. Ott sajnos más képlet kell.
Vagy meg kell vizsgálni az iserror függvénnyel az eredményt és ha nem hibás akkor beírni. Nézd meg ezzel:
Sub keresoA()
Dim sor As Long Dim usor As Long usor = Range("A" & Rows.Count).End(xlUp).Row For sor = 1 To usor Range("B" & sor) = Application.VLookup(Range("A" & sor), Worksheets("Adatok").Range("A1:B4"), 2, False) If IsError(Range("B" & sor)) Then Range("B" & sor) = "Nincs adat!!" Next sor End Sub
Bocs, de egy pár napig (2) hírzárlat volt a közelemben, ezért nem tudtam elolvasni a reagálásokat, de Fferi 50 és tbando teljeskörűen kielemezte a problémámat.
Köszönöm!
Valóban elírás volt a keresésnél az oszlop száma, mert egy másik feladatból rövidítettem egy részletet a tanácstalanságom kiemelésére. Én csak egy amatőr programszerkesztő vagyok. Innen-onnan összeszedet, már működő részleteket rakok össze, néhol rögzített makrókat is belefűzök a cél érdekében. Teljeskörű átgondolástól mentesek ezek a kódok, profiknak nem akarom eljuttatni, mert megint leesik egy monitor...
Az, hogy milyen gyorsan és milyen erőforrással dolgozik arról álmodni sem merek, hogy figyelembe vegyem. Bár nagyon elgondolkodtató az okfejtés, és a próba idő mérés az értékadások esetében. Persze gondolom az összes többi művelet esetében is. Hiszen gyakorlat teszi a mestert... És a gyorsan működő programot!
Tartományban_keres: Logikai érték, amellyel az FKERES függvény pontos vagy közelítő keresését adhatjuk meg. Ha értéke IGAZ vagy hiányzik, akkor a visszaadott érték közelítő lehet, azaz ha pontos egyezést nem talált a függvény, akkor a következő legnagyobb, de a keresési_érték argumentumnál kisebb értéket adja vissza. * Ha az argumentum értéke HAMIS, akkor az FKERES pontos egyezést keres, és ha ilyen nincs, akkor a #HIÁNYZIK hibaértéket adja eredményül.
A * jel tőlem származik. Ide jön, hogy rendezett állományban.