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.
lenne egy megoldhatatlan kérdésem:) van három cell, betű, szám, betű, három oszlopban, össze kellene vonnom őket &-el működik (A5 & B5 &C) csak az a baj, hogy úgy vonja őket össze, hogy nem hagy szóközt a három cella között pedig kéne, mit írjak a képletbe? kösz.
Lehet át kell struktúrálnod azt a táblát....Nemtom... A Lista funkciót (több) összefüggő tartományra lehet használni. Vagy talán még jó neked az irányított szűrő is.... Sőt.
Valóban enged, a listát létrehozza pl. ABC-ben és EFG-ben is. Az egymás melletti oszlopokkal - tehát ABC-n vagy EFG-n belül - működik a két feltétel szerinti szűrés, de úgy látom, hogy mondjuk A és F oszlopok használatával már nem. "A és B"-nél jól listáz, de "A és F" esetén nem. Itt csak az F szerint végzi a szűrést, és már nem veszi figyelembe az A oszlop korábbi szűrését, azaz nem tudok két szempont szerint keresni. Ennyire megzavarná, hogy van közöttük egy D oszlop, ami nem lista, nincs hozzáadva szűrő?
Megpróbáltam a listával, de itt sem enged több oszlopcsoportra szűrőt tenni, egyszerre csak egyre. Úgy szeretném, hogy pl. A-B-C oszlopban van szűrő, D-nél nincs, E-F-G-nél van, H oszlopban nincs, stb.
1. Sajnos nem csak szomszédos oszlopokra szerettem volna szűrőt tenni. Majd megpróbálom úgy átalakítani a táblázatot, hogy mégis szomszédosak legyenek, vagy minden oszlop kap szűrőt.
2. Akkor inkább nem mozgatom. :)
Az Excel amúgy 2007-es, de 2003-as verzióban is kell működnie, mert melóban csak az van.
Gondoltam érdekességként benyomom ide ezt a videót.
Múltkor szó volt róla, hogy miért nem lehet pivot táblát heti csoportosításban készíteni. Nos itt mondják el, hogy hogyan lehet. Kell hozzá egy kis VBA meg nem egy kicsi angol, de megéri, mert jó trükk.
13585-ben azt írtad, nem akarod, hogy a munkafüzet látszódjék... Akkor most akarod látni, vagy nem akarod látni? ;-)
Egy kis háttérinfó.
Amikor a
Set xls = CreateObject("Excel.Application") (illetve Set objExcel = CreateObject("Excel.Application"))
sor lefut, elindul az Excel egy új példánya, ami az éppen futó Exceltől független. Az új példány alapértelmezésben nem látható. Ha azzá akarod tenni, akkor (mint Robbantómester már megmutatta):
objExcel.Visible = True
Újra eltüntetni nyilván így kell:
objExcel.Visible = False
Lényeges dolog, hogy a makró végén az új Excel példányt vagy láthatóvá kell tenni, vagy pedig a Quit paranccsal bezárni (lásd: 13591). Ha egyik sem történik meg, akkor az Excel kvázi láthatatlanul ott marad a memóriában, és fölöslegesen köt le erőforrást. Ha nem törődsz vele, úgy a makró minden egyes futtatásakor újabb láthatatlan Excel keletkezik, és előbb utóbb megeszik az összes RAM-ot. És mivel a makró végeztével az objExcel objektumváltozó elveszíti értékét, már többé nem tudsz vele hivatkozni a láthatatlan Excel példányokra, tehát nem tudod bezárni sem őket. (Ha látható, akkor a szokott módon be tudod zárni.) Ekkor már csak a Task Managerből tudod kilőni. Ott viszont gondban leszel, hogy melyik Excel.exe a láthatatlan, és melyik az, amelyikben éppen dolgozol....
Dim Path As String Dim xls As Object, P As Object Path = "i:-=DTP & Office=-MeloPMP Bakony900228.xls" Set xls = CreateObject("Excel.Application") Set P = xls.Workbooks.Open(Path) 'code.... P.Close
a végére meg berakod amit Boraka írt az utolsó két sorában, hogy ne kíváncsiskodjon, hogy mit akarsz meg mit nem. (Persze jó az övé is)
Ha másik munkafüzetben kell turkálni, akkor mindig így szokták megoldani. Szerintem teljesen felesleges open-el megnyitogatni, visible-t + egyebeket állítgatni.
Azt nem írtad, hogy makróból akarod-e. Ott simán csak le kell tiltani a képernyő frissítést a művelet idejére
application.screenupdating=false
az ablakot is el lehet rejteni.
windows("Munkafüzet.xls").visible=false
Makró nélkül is van egy trükk.
Megnyitod az elrejteni kívánt táblát. Valamilyen adatot, cellát változtatsz benne. Majd az ablakot elrejted és az egész Excelt bezárod. Ekkor az Excel rákérdez, hogy mentse-e a táblát. Így legközelebbi megnyitáskor automatikusan rejtettként fog megnyílni.
1.) csak ha az érintett oszlopok szomszédosak. Vagyis egy 5 oszlops táblázatból (A:E) tudsz szűrni pld az A:C oszlopokra, de nem az A:B + D oszlopra. A teendő csak annyi, hogy kijelölöd a megfelelő oszlop fejlécét (esetünkben mondjuk az A1:C1 tartományt és így aplikálod a szűrőt (nem írtad milyen exceled van).
2.) kétlem, hogy ez lehetséges. Az excel ezt az adatot nem "hiperlinkként" kezeli, hanem sima adatként, neki nem számít, hogy megváltozott a "környezet"
1. A táblázatban szeretnék szűrőt elhelyezni, de csak bizonyos oszlopokban. Csoportos kijelöléssel nem engedi, illetve vagy mindenhova, vagy sehova nem tesz szűrőt. Hogyan lehet ezt csak bizonyos oszlopokra megoldani?
2. A táblázatban hiperhivatkozásként szerepelnek fájlok, melyek kattintásra megnyithatók. Kérdésem, hogy az Excel tudja-e követni valamilyen módon az elérési útvonalban történő változásokat? Pl. könyvtár átnevezése, xls fájl valamint a hozzá linkelt fájlok kiírása dvd-re, ezáltal az elérési út változása.
Ha ugyanabból az adatforrásból készítesz két v. több pivot táblát, akkor az excel 2007 automatikusan ua-t az adat-gyorsítótárat (data cache) használja, hogy csökkentse a memória használatot és a fájl méretet. Ha szertnél két pivotot csinálni amelyek függetlenek egymástól, módosítsd a tartományt, pl. hagyd ki a D oszlopot, hiszen úgysem használod ezt a mezőt (arány), mert készítesz egy számított mezőt és azt teszed be a pivot tábládba. Ez után már a két tábla független egymástól és tudod másként csoportosítani (persze a számított mezőt ismét létre kell hoznod)
én nem foglalkoznék a kimutatás heti/havi bontásával, hanem annak adathátterébe beraknék egy WEEKNUMBER(), meg egy HÓNAP() függvényt plusz oszlopként (Ami a dátumaidból kiyneri a hetet meg a hónapot). Aztán idővel szükség lehet az ÉV()-re is.
Próbálkoztam, és azt tapasztalatam, hogy az EOF akkor is False eredményt ad, ha a fájl utolsó bájtját is beolvastam már, és utána a Get még tud olvasni egy 0-t. Nekem ezt teszi a 2-es fájl végére. Fogalmam sincs, miért. Passzolom a kérdést.