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.
Így már működik a képlet, de amit nem értek, a példában azt olvasom hogy a képlet feltételezi, hogy "a tartomány legfeljebb 200 adatsorra bővíthető". Ez azt jelenti, hogy feltételezi de nem tiltja, illetve 200 adatsornál többel is bővíthetem az állományt? mert a mostani példában további adatsorokat is be tudok vinni.
- a Név megadása parancs előtt ki kell jelőlni az A1:C5 tartományt és utánna adom meg a Dátum nevet, ahol az alsó Hivatkozás mezőbe beillesztem a fenti képletsort, és Ok-m és kész?
Nem a fenti példához kapcsolódó kérdésem:
- egy munkafűzetbe hogyan lehet a Munkalap űrlapot úgy beállítani, hogy minden alkalommali kitőltés után "mentődjön" söt, a Munkalap sorszáma mezőben mindig, figyelembe vegye a legutólsó munkalap sorszámát, és egyel nagyobb sorszámot adjon az aktuális munkalapnak?
Itt volt a szemem előtt a teljes megoldás, de nem eddig nem vettem észre.
A "Kiválasztottak száma" - "Egymásutániak max" legjobb esetben (amikor úgy kapod az összeget, hogy csupa egymás utáni számod van) 0 lenne.
Visszatérve az ábrámhoz, tehát mondjuk a B5 cellába az =B3-B4 képletet írod be, és Solverben ezt adod meg célcellának és minimalizálni kell.
Jozsef megoldása zseniális, csak kényelmetlen és nem túl vizuális - valamint ha jól értem, akkor nem csak az egymás utáni számokkal dolgozik, ahogy nekem kell.
Bár, hogy kényelmetlen?! Ízlések és pofonok....
Azonban, hadd jegyezzem, hogy attól, hogy egy feladatot könnyű megérteni, megfogalmazni, nem biztos, hogy nem kell hozzá főiskolai/egyetemi tananyag matematikai módszer a megoldásához. :)
20-30 számból kiválasztani valamennyit, hogy az összegük pontosan k legyen, általánosságban ennek már akkor örülni kell, ha egyáltalán sikerül. A többi már csak finomítás, ha esetleg több jó megoldás kapnál.
Ha vizuális típus vagy, akkor javaslom a következő módszert:
1. Jelöld ki a számsorozatot (pl. az ábrámon A7:A13)
2. Formátum/ Feltételes formázás
A feltétel megadásánál:
Képlet értéke=(B7>0,9)
(Fontos, hogy a B7 relatív hivatkozás legyen)
A Formátum gombbal add meg, hogy hogyan jelenjenek meg a kiválasztott számok (pl. piros háttérszín)
Amikor megoldod a Solvert, akkor automatikusan a kiválasztott számok háttere piros lesz.
ezzel csak az a gond, hogy maximálisan 2 számot tud összeadni.
Jozsef megoldása zseniális, csak kényelmetlen és nem túl vizuális - valamint ha jól értem, akkor nem csak az egymás utáni számokkal dolgozik, ahogy nekem kell.
ha megértem, akkor ezt próbálom tovább fejleszteni
Jó lenne, ha lehetne még javítani a pontosságon. Csak azért tettem a a makró elejére a solver pontosági beállításainak parancsait, hogy el lehessen játszani velük.
Mivel nekem nincs meg a fájlod, konkrét makrót nem tudok írni, de én a feladatot a következőképpen oldanám meg:
1. A Solver feladatot én külön területen (akár egy másik külön munkalapon) oldanám meg. Ezt a megoldást rögzíteném a makrórögzítővel, vagy a lenti kódot módosítanám értelemszerűen.
2. Egy olyan felhasználói függvényt írnék, ami első lépésben a paramétereit átmásolná a másik munkalap megfelelő celláiban, majd a rögzített makró meghívásával megoldja a Solveres feladatot. A függvény visszatérési értéke a másik munkalap változó cellájának megoldásként kapott értéke lenne.
3. Az eredeti táblázatba ezt a függvényt írnám be, ahova a lambda értéke szükséges.
Nagyobb táblázat esetén célszerű lenne az automatikus újraszámítást kikapcsolni és a függvény elején Application.ScreenUpdating false, a végén vissza true-ra allítani.
Szervusz! Most éppen nincs publikus mailem, küldtem egy mail-t már a tommyinak, úgyhogy ő tudná a címemet, de úgy látom neked sincs, pedig nekem is kéne az eredeti fájl. A gyorsításhoz mindenestre amit lehet ki kéne pakolni a cikllus elé.
Helló! Épp most reggel tudtam próbálgatni az eredeti tábláját, kiegészítve stromba makrójával. Persze a hivatkozásokat hozzáigazítottam a tom táblájához. Hát működik is meg nem is. Úgy tünik sok a 8-61 ciklus. 8-18 ra állítva pedig szépen csinálja a számításokat, de a végén vagy elszáll (eltünik) az egész excel, vagy valami hibát ír. De ment már normálisan is. Hogy mi lehet?
Van publikus méled? Elküldeném akár most. Egy órát itt ülök a gép előtt...
Mégegy megoldás a feltételes formázással: A1 cella tartalmazza a keresett összeget. Alatta és mellette pedig a számsorozat. A táblázat többi cellája üres, csak feltételes formázásnál a képletet kell választani és a megjegyzésben látható képletet kell beírni. Húzással vagy ecsettel a többi cellára is rámásolni. Így azok a számok érdekesek, amelyek a zöld színű cellák sorának illetve oszlopának elején találhatóak.