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.
Addig jutottam, hogy van egy riport lap, ahol a szám szerint keres fv-nyel ki tudom keresni, hogy a kép a háttér lap B oszlopának hanyas sorában van. Pl B242.
Azt akarom , hogy egymakro olvassa be ezt a számot, ez alapján álljon rá a háttér lap cellájára.másolja, menjen vissza a riport lap megfelő cellájába, itt illessze be képként. Ezután olvasson be egy mási cellt és vay 10-szer ismételje meg.
Az aktuális cella sorára a következőképpen hivatkozhatsz:
activecell.row
De az általad végzendő műveletekhez nem kell a select. Ezt csak a makrórögzítő szereti használni.
Nézd meg, hogy konkrétan melyik cellában álltál, amikor a makrórögzítő elindult. (Ha nem ott álltál, akkor kell lennie a makróban egy ilyen sornak : range("A1").select - A1 helyett egy cella cím van.)
"Egyébként nincs mód akárhogy arra, hogy az A oszlopban van egy csomó számom egymás alatt."
Erre egészen biztosan van mód. Nekem már sikerült.
"Mellete a B oszlopban Rectacleként vannak a termékek képei."
Mi az a Rectacle?
"Van-e olyam macro lehetőség..."
Van olyam.
"Egy ilnyen macro kellene. Tud vki segíteni?"
Tudna, de szerintem tökre nem érthető, hogy mit akarsz. Megvárhatjuk, hogy hátha valaki nálam jobban megérti, vagy megpróbálhatod szabatosan leírni a feladatot, munkalapnevekkel, tartománycímekkel, stb., és akkor talán én is hozzá tudok szólni.
Igen, az üres függvényt nem próbáltam. De a kérdésed a maradványról rávezetett a megoldásra.
Azt, hogy minek a maradványi ezek a cellák, csak sejtem, már nem emlékeztem pontosan, mert sok kézi vacakolással alakítgattam a táblázatot. De itt az lehetett, hogy eredetileg képlet volt benne, amit később irányított beillesztéssel értékké alakítottam. Ezt most sikerült is rekonstruálnom a teszttáblában.
Tehát ha az A1 cellába a következő képletet írom: =HA(D1=1;"1";""), és a D1-ben nem 1 áll, akkor az eredmény "" string a cellában. Ha pedig ezt értékké alakítom, akkor a cella az üres függvényre hamis értéket ad, holott semmi nem látszik.
Már csak az a kérdés, hogy lehet-e ezt a tényt tesztelni valahogy?
Sajnos nálam az égvilágon semmi különbség nem látszik. És nem is tudok olyan eszközről, amely az esetleges formátumkódokat kimutatná. Mindenesetre készítettem egy miniatűr tesztfájlt, ami mutatja a problémámat: http://data.hu/get/7482425/Ures_cella_teszteles.xls
Ha ebben az állapotában rendeztetem a munkalapot a tesztoszlop szerint, akkor a megnyitáskori képet adja. Ha az első csoport valamelyik üresnek látszó cellájában megnyomom a DEL gombot, akkor az újrarendezés után átkerül a hátsó csoportba. Feltételezem, hogy ezek a valódi üresek. De hogy mi lehet, az első csoportban levő cellákban, az számomra továbbra is rejtély.
Az a sejtésem, hogy azokban a cellákban formázási kódok maradtak ott. Pl. egy aposztróf - ami ugye azt jelenti, hogy a cellában levő számot szövegként kell kezelni -, amit egyébként nem látsz a cellában, csak akkor ha éppen kiválasztod.
Van-e olyam macro lehetőség, hogy egy lap megadot celláiból kivéve a számokat egy másik lapon megkeresi a számot egy háttér tárba, mellé lép és az ott talált képet másolja és beviszi a beviteli riport lap 3 oszloppal mellette lévő helyre másolja. Majd tovább lép és egy másik kódszámot tartalmazó számra lép. Közben az jutott eszembe, hogy még macro mélkül egy segéd oszlopban a képek helye match fv-nyel meghatározható. "Már" csak az a feladat hogy ha 0-nál nagyobb számot talál egy cellában egy másik lapról a hely száma sszerint kikereshető cellában lévő Rectacle bemásolható. Egy ilnyen macro kellene. Tud vki segíteni?
Köszi, legalább ezt is tudom. Egyébként nincs mód akárhogy arra, hogy az A oszlopban van egy csomó számom egymás alatt. Mondjuk ezek a termékszámok. Van 1-2 ezer. Mellete a B oszlopban Rectacleként vannak a termékek képei. A feladvány az, hogy ezt, mint háttér adatbázist alkalmazva egy másik lapon ha meghívok kb 10 termékszámot mellé kerülne a termékek képe.
Megint egy alapokat érintő kérdésem van. Rendszeresen tapasztalom, hogy ha kézből kiadok egy rendezési parancsot (mondjuk növekvő sorrendben), akkor az egyformán üresnek látszó cellák egyik felét a szöveget tartalmazó cellák elé, másik felét mögé teszi. A sejtésem az, hogy valamiképp megkülönbözteti azokat, ahol már volt korábban adat, és ahol nem.
Igazából csak bosszantó, mert többnyire nem számítok rá. Meg tudom oldani, de érdekelne az oka. Próbáltam tesztelni, pl. =A1="" teszttel, illetve ugyanezzel a szintaxissal a hátratetteknél. Nem volt különbség. Az eredmény IGAZ volt. Próbáltam ellenőrizni, hogy nincs-e valami rejtett karakter ott, de az =kód(A1) szintaxis mindkét esetben #ÉRTÉK! eredményt adott.
Aztán kijelöltem a lista elején álló cellákat, és megnyomtam a DEL gombot, amivel ürítettem őket (az egyébként üres cellákat). Az újabb rendezés után már annak rendje és módja szerint hátramentek a társaikhoz.