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.
Lehet, hogy hosszú, nem tudom megítélni. A topikleírás kisebb betűmérettel megy. Valószínűleg a beteendő szöveg minden sora elfér egy sorban. Ha a tördelést kivesszük, ömlesztve szerintem az egész nem hosszabb 5 sornál, tördelve 10.
De ez egyelőre akadémikus problémának tűnik, mert a modiktól nem azt a visszajelzést kaptam, hogy "Túl hosszú, rövidíts rajta".
Nem találod egy kicsit hosszúnak a beteendő szöveget? Így egy kicsit sokat kellene scrollozni, hogy hozzájussunk a tartalomhoz. Lehet, hogy a fele szöveg is elég lenne.
Biztos emlékeztek arra a felvetésemre, hogy a topik fejlécét módosíttassuk, és tegyünk bele pár infót a helyes kérdezésről.
Nos, az anyagot (segítségetekkel) összeállítottam, és kétszer megkértem a moderátorokat (legutóbb lásd 9100-as hsz a technika moderatúra topikban), hogy illesszék bele a fejlécbe. Nem történt semmi, válaszra sem méltattak, annak ellenére, hogy korábban kvázi megegyeztünk, hogy megcsinálják. Úgyhogy részemről ennyi volt a próbálkozás. Ha valaki kedvet érez, felveheti a kardot, ami kiesett a kezemből.
Nekem volt dinamikus grafikon problémám offset-tel. A függvény amit felépítettem látszólag teljesen oké volt, de a grafikon mégsem működött.
Két dolgot csináltam:
- az offset-ek felhasználásával létrehoztam elnevezett területeket (named range) és ezeket a neveket adtam meg a grafikon input adataként. Vigyázzni kell, hogy TELJES leírást kapjon ilyen esetben a hivatkozott referencia, munkalap névvel, ahol lehet abszolút referenciákkal; és
- nulláról, egy új munkalapon újracsináltam a grafikont.
Ez a kettő együtt megoldotta a problémát. Van, hogy az excel kiakad és az adott grafikonon belül már nem eszi meg azokat a dolgokat, amiknek gond nélkül működniük kellene.
2003-as verzióban többféle dinamikus grafikont hoztam össze. A tartományokat névvel láttam el, és az OFSZET függvény segítségével határoztam meg. Az adatsoroknál a névre hivatkozom.
Most ugyanezt a 2007-es verzióban kellene megcsinálni, de nem fogadja el ezt a hivatkozást. Valószínű, hogy csak én nem találom meg a módját, ekkorát nem ronthattak a verzión.
Bár minden profi/haladó ilyen segítőkész lenne! Tele a net olyanokkal, akik "segítségnyújtás" címén egyetlen értelmes infót sem adnak, max kioktatnak és fölényeskednek.
Ha már ListBox: tud valaki valamilyen tippet adni arra, hogy hogy lehet a listbox tartalmát makróból formázni? Olyan egyszerű dologra gondolok, hogy a listbox egyik oszlopát vagy adatát hogy lehet például beboldolni? Elég sokat töprengtem már ezen, de még nem jöttem rá a megoldásra.
Ha az egyik fájl bezárásakor lefut egy makró, ami akaratodon kívül bezár egy másik fájlt, akkor az a makró nagyon rosszul van megírva.
Látatlanban egy dolog jut eszembe: makróírásnál mindig kerülni kell az ActiveWorkbook, ActiveSheet, ActiveCell, Selection stb. hivatkozásokat, amelyek általában teljesen esetlegesen hol ide mutatnak, hol oda.
Ha meg nem makró zárja be a másik munkafüzetet, hanem csak úgy magától, akkor az rendszerhiba, mert az Excel normálisan nem így működik. Lehet, hogy célszerű lenne újrahúzni az egészet Format C-vel kezdve. De legalábbis Office újratelepítés. Szerintem
usorT = Worksheets("Munka1").Range("A3").End(xlDown).Row k = 0 For i = 3 To usorT ListBox1.AddItem ListBox1.List(k, 0) = Worksheets("Munka1").Cells(i, 1) ListBox1.List(k, 1) = Worksheets("Munka1").Cells(i, 2) ListBox1.List(k, 2) = Worksheets("Munka1").Cells(i, 3) k = k + 1 Next End Sub