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.
Köszi! Részsiker. Azaz edigiekre teljes:) Csak ezen a módon, ha azonos módon akarom B3-b10-ig beírni a képletet az "A" oszlopba, akkor most jelenleg nincs rá tippem. A szokásosjobbsarok-lehúzós módszer meghagyja a b2-t minden sorra, nem változik b3, b4 ... b10-re. Vagy lelkes beállítgatgatásomban elállítottam valami alapértelmezést? :)
Mindenesetre egy cellára jó megoldás. Köszi még egyszer
ahogy a nagy könyvben meg van írva, úgy szoptam be egy makrovírust.
Rendszeresen operálok egyszerű makrókkal, így amikor megnyitok egy excel filet, gyakran teszi fel a program a biztonsági kérdést, hogy a file makrókat tartalmaz, futtassuk-e őket. Én meg csípőből klikkelek, hogy igen, futtasd.
Kaptam valakitől egy XLS file-t, ami pusztán adatokat volt hivatott tartalmazni. Megnyitottam, az Excel feltette a kérdést, hogy futtassuk-e a makrókat.... és én szokás szerint csípőből klikkeltem, hogy igen. Mikorra eltűnt a dialógusablak, már kezdtem káromkodni, hogy makrók nélkül kellett volna, mert ez biztos vírus.
Természeteseen ha megynitom az Excel alatt a VB-t, van egy password védett funcres.xla-m, ami az általam szándékosan telepített Analysis Toolpack, viszont van egy másik, a REPORTS.XLA, na ilyet én rohadtul nem telepítettem, más sem.
Természetesen passwordot kér.......
Mi a teendő? Köszi!
Tudom, hogy s***fej voltam, dehát reflexből a makró megnyitására klikkeltem....
Van arra lehetőség, hogy egy adott cellában ha van egy képlet az mindig fixen megmaradjon a célcellák változása ellenére? Például, ha az A2-es cellába beírom, hogy =B2/2, akkor mindig a B2-es cella aktuális értékének felét mutassa. Ha a B2 cellát törlöm, és eltolja felfele az egész maradék alatta levő részt, akkor #HÍV! vagy valami hasonló szöveget dob A2-re. A cél az lenne, hogy az B2 cella törlés után az épp aktuális B2-es cellatartalmat (Azaz a korábbi C2-t) vegye figyelembe és ne szaródjon el a beírt képlet vagy függvény ami a B2 cellát használja.
Nekem az a gondom, hogy 2007-es excelben adott egy pivot táblát tartalmazó xlsx-em, és azt átmásolva valahova, az data source megváltozik, és arra a helyre hivatkozk, ahol a file volt tárolva. A file nem külső forrásból frissíti az adatot, hanem csak egy másik tab-on van az adatbázis amiből a pivot dolgozik, tehát ugyanabban a fileban.
Ez azért kényelmetlen mert ha felrakom a file-t a szerverre, valaki leveszi és módosítaná az adatbázist, majd befrissítené, nem tudja mert máshova hivatkozik a data source, így apivot nem frissül, ráadásul kérdezgeti, hogy frissíthet-e külső forrásból... Ez egy rossz vicc, komolyan...
Tehát pl. van egy adatbázisom, ahol sok sok sor van...
Pl kérdőívek eredményei kliensekként...
Nekem kimutatást kell csinálnom országonként. Egy excel füzetben egy ország adatai lehetnek CSAK és kizárólag...
Minden ország münkafüzete ezeket kell, hogy tartalmazza:
Sheet1=nyers adatai az országnak
Sheet2=pivot a nyers adatból
Sheet2=még egy pivot a nyers adatokból
Összesen 34 munkafüzetet kell létrehoznom, mindössze abban külömböznek a füzetek, hogy más más országra vonatkoznak.
Igen, tudom Pivotban lehet szűrni, de nem láthatják az ország menedzserei a többi ország eredményét, ezért nem maradhat minden nyers adat...csak az adott országra vonatkozó...
Nem tudom így már érthetőbb-e...
valami olyat kéne csináljon a makró, hogy:
1. kiszűri országonként a nyers sorokat egy új munkafüzetbe
2. az új munkafüzetben létrehozza a két pivotot két plusz sheet-en
3. és mindezt annyiszor, ahány ország van a fájlban
Ezt lehet, hogy annyire nem boynolúlt megcsinálni :-)...bár per pillanat még nem tudom hogyan álljak neki...az országonkénti kiszűrögés már nagyon jól megy :-)...
Tudna valaki tanácsot adni, hogyan álljak hozzá. Pont ezt csinálom most és, ha még egyszer végig kell játszanom, akkor fejbelövöm magam.
Tehát van egy adatbázisom, ahol országonkánt sok-sok sor van. Minden hónapban országonként szét kell dobálnom a sorokat és minden országnak külön pivot táblái is vannak.
Egy fájl 3 sheet-ből áll. Pivot1, Pivot2, Data
És ez 17*2 országonként....34 fájl...
Mostani módszer: megcsinálom a "Mintafájlt", majd szűrő "nem egyenlő x ország", pivot frossítés, elment új néven és így tovább 34-szer. Képzelhetitek milyen lelkesítő feladat.
De persze tisztában vagyok azzal, hogy lehet ezt egyszerűbben is...
Hogy kéne neki állni?
Tudtok nekem irányt adni?
azt már megtanultam, hogyan másoljam macro-val egy munkafüzetbe országonként az adatokat, hogy pivot-ot hogyan tudnék?
Még olyan kérdésem van, azt hogy lehet megcsinálni, hogy ha két oszlopból dolgozok, akkor eredményül a két oszlop egy-egy cellájával hajtson végre műveletet: ((A1-1)*3)+B1, az A-ból vonjon ki 1-t majd szorozza meg 3-mal, majd adja hozzá B-t, de ha az egyik szám közülök 0, akkor 0-t adjon eredményül?
Csak azért, mert a példádból azt lehetett leszűrni, hogy hasonlóság van a számok között (1-101,2-202,3-303 stb.) és ha csak ilyesmi számok lennének, akkor akárt azt is beírhatnád, hogy:
=LEFT(A1,1)
De akkor valószínű nem ennyire egyszerű a dolog...
Mindenféle egész számok vannak és nem csak kettő szám van egy halmazban ahogy az egyszerűsített példában írtam, hanem több. A 101, 202, 303 stb is csak egyszerűsítés volt, így gyorsabb volt begépelnem ide. Bocs ha félrevezető volt.
Azt hiszem ez nem müködik, mert a HA + VAGY -os esetben magába a függvényve írtam bele a feltételeket, nincs külön oszlop a halmazokhoz, és nem is szeretnék, mert a 10 halmaz 10 oszlopot jelente ha jól gondolom. De plusz 1 oszlopot se szeretnék.
Tehát most így néz ki leegyszerűsítve az A1-re vonatkozó értékeket, ami nem működik a 7-nél több VAGY miatt:
Már hogy a DSUM, DMAX Stb függvényt? Persze, szívesen.
Én azt szerettem volna, ha csak abban az esetben keresi meg a legfrissebb dátumot, ha több feltételnek is megfelelnek a sorok, ezért a DMAX függvényt használtam:
SERVICE800_Export!$A$1:$BA$6000 = Ez az adatbázis range, amin dolgozunk
"STATUSDATE", = ez az oszlop neve ahol a dátumot meg kell néznie
$H$56:$I$57 = itt található a filter, fontos hogy mint az advenced filternél a feljécnek is szereplnie kell, egyébként nem tudja mit keressen.
Nálam a $H$56:$I$57 -ben ez található:
MODEL DIVISIONCustomer CountryPSSDZA
Tehát ott keresi meg a legfrissebb dátumot, ahol az ország ZA és a divizió meg PSSD.
Tehát a logikája teljesen olyan, mintha advenced filtert határoznál meg, lényegében korlátlan mennyiségű feltételt megadhatsz (ezt egy range formájában teszed)...(nekem van hogy pl 17 filter van megadva).
Lehet, hogy máshogy is meg lehet oldani...nekem így sikerült de teljesen jól működik.