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.
Például ilyet csinál. De az is gyakori, hogy direkt A5 oldalbeállítással megszerkesztek egy táblázatot, amit ha A5 papírra nyomtatok, lehagyja jobb oldalról az egyharmadát, és ott üres a papír. Olyan, mintha a standard lapméretek pontos adatai nem ugyanazok lennének az Excelben és a nyomtatóban.
Talán ha felteszel egy mintát a táblázatodról, amit nyomtatni akarsz, meg egy fényképet a nyomtatási eredményről, akkor több eséllyel kapsz javaslatot. Az Excel verziót is jó lenne tudni. És azt is megírhatnád, hogy milyen típusú a nyomtatód (gyártó, és típusszám). Mert amint látom a guruk fórumán, más esetekben is meggyűlt a bajod a nyomtatással.
A 2. problémára nekem az az ötletem, hogy az első üres oszlopban lehetne képezni valamiféle ellenőrző összeget, hasht, akármit, amit az értékek determinálnak, és különböző sorok esetén különböző lesz. Konkrét ötlete csak annak lehet, aki tudja, milyen sorok fordulhatnak elő. Eszerint már rendezhető.
Ez ugyan nem permutáció, hanem ismétléses variáció (tipikus példája a totószelvény kitöltése), de ahogy elnézem, a cikk szerzője is ugyanilyen rosszul tudja, és így a két hiba kioltja egymást.
A permutációnál minden elemet fel kell használni.
Nekem is ez volt az első gondolatom, hogy ez makróköteles, de akkor van rá publikált megoldás.
Sziasztok! Annak mi lehet az oka, ha az Excel nyomtatáskor szétbarmolja, amit szerkesztettem? Próbáltam azt is, hogy PDF-ként elmentem, de akkor sem úgy jeleníti meg, ahogyan az Excelben volt a monitoron. Direkt lapelrendezési nézetet használok, mégsem maradnak nyomtatáskor úgy a cellák, ahogyan voltak.
Feltételes formázásnál van olyan, hogy "ismétlődő értékek kijelölése"
Ez kiterjeszthető teljes sorra is. Ha ez megvan, akkor autoszűrő bekapcsolása után lehet színre szűrni, kijelölés után átmásolni a szükséges helyre. Sorba rendezés ehhez felesleges - ha csak emiatt kell.
Automatikussá teheted, ha makrórögzítövel kapott kódot ráteszed egy makrógombra (pl...)
Bocsánat, hogy csak úgy betörök ide, de már két napja gyötröm magam ezekkel, és nincs senki a közelben, aki tudna segíteni.:-((
1. Hogyan tudom megoldani, hogy megadom az elemeket, pl. A,B,C, vagy 1,2,3 és az Excel kiadja az összes változatot?
Azaz A,A,A A,A,B, stb. C,C,C
2. Hatalmas (kb. 600 sor es 150 oszlop) táblázatot hogyan lehet automatikusan sorba rendezni, majd egy külön táblázatba kigyűjteni az egyforma sorokat?
Minden cellában egyetlen betű van, vagy üres a cella, utóbbiaknak kell jobbra illetve alulra kerülnie.
Ezexerint a bérpiv lap listája a bővebb, és ezáltal mérvadó. Ha így van, akkor a következőt javaslom.
1) A bérpiv lapon jelöld ki a nevek listáját, ami a belinkelt dokumentumban D2:IS2, és adj neki egy nevet a Képletek/Névkezelő segítségével. Én így neveztem el: bérpiv_nevek.
Itt a szorzatösszeg két tömbjét az ELTOLÁS (ang. OFFSET) függvénnyel állítjuk elő.
Az első tömb referenciája a H8, innen 1 oszlop jobbra (most tartunk az I8-nál) és a tartományt beállítjuk 1 sor * n oszlop méretre, ahol n a bérpiv_nevek tartomány oszlopainak száma.
A második tömb referenciája maga a bérpiv_nevek, és ezt annyi sorral toljuk el lefelé, ahol az év-hónap számkombináció megtalálható a C oszlopban.
Megjegyzések:
1) a bérpiv_nevek tartomány elnevezése nem szükségszerű, de jelentősen leegyszerűsíti a képletet
2) Elegánsabb lenne a szorzatösszeg második tömbjét így definiálni:
és ez önmagában jó hivatkozást ad (SZUM függvénnyel ellenőriztem), de valamiért a szorzatösszeg függvényben mégsem működik.
Ha bedrótozom a C3:C100 tartományt, úgy viszont igen. 100 helyett akármi is lehet pl. C3:C100000 is, csak arra kell figyelni, hogy elég nagy legyen.
3) Ezzel a képlettel a szorzatösszeg mindkét tömbje olyan széles lesz, mint a bérpiv_nevek tartomány, függetlenül a Felosztás lapon esetleg történő utólagos beszúrásoktól.
Ha viszont a bérpiv lapon változik az oszlopok száma, figyelni kell rá, hogy a bérpiv_nevek is naprakész maradjon.
Ha jól értem, a Felosztás lap H oszlopában mindegyik szorzatösszeges képlet az adott cellától jobbra lévő N darab cellára hivatkozik. Ehhez miért kell INDIREKT?
H14 cellában már próbáltam kicserélni a "8"-at sor() függvényre, hogy az aktuális sorhoz tartozó tartományt adja eredményül, de #ÉRTÉK hibát ad eredményül :-(
Egy érdekes tapasztalat, hátha valaki hasznosítani tudja:
Userformról adatokat viszek be egy viszonylag nagy táblázatba.
A sokadik sor bevitele után nem nőtt automatikusan a táblázat mérete (nem az utolsó cella jobb alsó sarkában jelent meg, hanem a fölötte lévőben a táblázat végét jelző kék jel).
Ez a sor nem örökölte a fölötte lévők tulajdonságait, pl. a formátumot, sőt! minden cella kapott egy-egy legördülő nyilat, mint az az érvényesítésben szokás.
Próbálkoztam a tábla átméretezésével. ActiveSheet.ListObjects("Táblázat1").Resize Range("$A$1:$T$" & usor), ahol az usor változó az első üres sor. Nem fogadta el, bár egy rögzített makró végét írtam át, ahol az usor fix érték volt.
Végül úgy sikerült megoldani, hogy a Cells(usor, 1)=valami után betettem egy Calculate utasítást.
Egyszerre is beszúrhatod a sok lapon az oszlopokat, ha pedig a képletek azonos helyen vannak az egyes lapokon, azt is.
Kijelölöd az összes lapot (ahol még nem hajtottad végre a feladatot): első lapra állsz, Shiftet nyomva tartva kijelölöd az utolsót. Végrehajtod az oszlop beszúrását. Beírod a képletet. Elrejted az elrejtendő oszlopot.
FONTOS! Szüntesd meg a lapok csoportos kijelölését, másképp minden egyéb változtatást az összes kijelölt lapra beviszel.
Nos ebéd után visszajöttem az irodába, mondom csinálok valami minta file-t. Elkezdetem kiszedni a valós adatokat, fölösleges dolgokat, átírni az árakat, és annyira beleemlegettem, hogy találtam megoldást. Igaz segédcellás megoldás, de ha duplázom minden oszlopot amiben ár van, akkor abba mehet függvény, az eredetit pedig elrejtem, így nem hullik szét a struktúra. A munkalaponként legalább 4 oszlop miatt kicsit időigényes lesz, de még agyalok egy kicsit és lesz megoldás. Azért ragaszkodom ehhez az excel táblázathoz, mert ez a gyári munkalap kinyomtatva, nagyon szép, és átlátható struktúrában van, ami nagy előny. Csak amikor össze vannak vonva a cellák mindig bekavarnak az automatikus kitöltésnek... Most is van olyan oszlop, hogy 1 cellában van érték, alatta már két cella van összevonva, aztán van ahol 3 cella... Itt ha automatikus kitöltés húzok le, akkor ugye az nem szereti.. :-( Itt még ki fogom próbálni, hogy kikapcsolom az egyesítéseket, úgy automatikus kitöltés, és újra egyesítés. Hátha nem esik szét.. De ez már csak hétfőn..
Nem kötekedésből, de az "azzal kell főzni, amink van" mondásnak van egy ellentéte: a "think out of the box". És ez hosszú távon gyakran hasznosabb, mint a folyamatos buherálás, amely a végén teljesen átláthatatlan rendszert eredményez. Néha persze rákényszerül az ember, de ne ez legyen az első gondolat.
Izgalmas kérdés. Persze jobb lenne, ha másképpen lenne, de ugye azzal kell főzni, amink van.
Szerintem ezt makróval tudod megoldani. Ahhoz viszont, hogy működő makrót kaphass, fel kellene tenned egy minta fájlt nem éles adatokkal, továbbá meg kellene mondanod, hogyan és mi íródik felül. Továbbá fontos lenne, hogy a "szorzó" (azaz a valutaárfolyam) honnan jön.
"minden ár cellában be van állítva a külföldi valuta pénzneme."
Pontosan ez az - persze többek között - , ami miatt kellene a minta. Nem mindegy ugyanis, hogy milyen módon van ott a pénznem...
Biztos, hogy ennek az egésznek Excelben kell lennie, ha két lépést hátralépve figyeljük? Pont az ilyen nehézségek utalnak arra, hogy esetleg nem rendeltetésszerű használat zajlik. Ez az én meglátásom.