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ét lehetőség is van (bár nem tudom, hogy az excel2007 tud-e szín szerint szűrni).
1. Felveszel egy segédoszlopot, minden ötödik adathoz írsz egy számot vagy betűt - a lényeg, hogy ne legyen üres. Azután szűrés a teljes adatbázisodon erre az oszlopra a "nem üres" szűrővel, vagy ha ugyanazt a számot/betűt írtad be mindenhova, akkor arra.
A szűrés után a diagramod csak ezeket az adatokat fogja mutatni.
2. Feltételes formázás képlet alapján: a képlet pedig: =maradék(sor();5)=0. Kijelölsz egy kitöltőszint. Alkalmazás a H oszlopban levő adataidra.
Utána szűrés szín szerint - a megadott kitöltőszínre.
A képletet variálhatod pl. =maradék(sor()-2;5)=0, attól függően, hogy honnan kezdődnek az adataid. De az osztó változtatásával más adatszámot is elérhetsz. (Persze ez utóbbi igaz az első verzióra is - mármint, ha nem az ötödik, hanem mondjuk a hetedik sorokba írsz adatot.
van egy 172000 soros excel táblám 2 fontos oszloppal "idő" és "kibocsátás" ezekből szeretnék egy vonal tipusú diagrammot csinálni. A probléma az, hogy úgy kellene megoldani, hogy CSAK minden 5 értéket vegyen figyelembe a 172000 "H" sorból, így egyből egy 35000-res adathalmazom lenne amit ki tud rajzolni az excel 2007. Jelenleg 5 külön táblán tudtam megoldani. Nagyon megköszönném ha tudna valaki segíteni.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True target.ShowDetail = True m = ActiveSheet.Cells(2, 16)
'ha a részletező munkalapot törölni szeretnéd:
application.displayalerts=false
activesheet.delete
application.displayalerts=true target.parent.Activate ' ez pedig csak biztonságból, mivel a törlés után 99% ez a munkalap lesz aktív. activesheet.Cells(target.row, 24) = m End Sub
Az eseménykezelést azért nem ártana kikapcsolni, mert elég kellemetlenül be tud zavarni...
Nem egészen értem, hogy miért kell külön megjegyezni a cella sorát és címét is?
Mire használod a címét?
(És csendben kérdezem, nem az általam javasolt elvet használod - mármint megjegyzem az aktív cellát, majd használom? Csak éppen "fordított sorrendben" történik a cella megjegyzése - mivel a kérdésed alapján arra lehetett következtetni.)
Közben "kiizzadtam" a megoldást, köszi a fáradozásodat.
Beteszem, hátha valakit érdekel.
Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean) Cancel = True a = ActiveCell.Row n = ActiveSheet.Name c = ActiveCell.Address ActiveSheet.Range(c).ShowDetail = True m = ActiveSheet.Cells(2, 16) Sheets(n).Activate Sheets(n).Cells(a, 24) = m End Sub
Szia, köszi a gyors választ, de sajnos a munkafolyamatba ezt nem tudom beilleszteni.
Pivot táblát használok, egy adott cellának az összegyűjtött értékeit nézem meg dupla kattintással, és az új munkalap egy adott cellájának az értékét szeretném visszaírni a Pivot táblának abba a sorába, ahonnan elindultam. (Természetesen sok ilyen értéket szeretnék visszaírni, nem egyet, mert akkor megcsinálnám manuálisan.)
Egy szerintem könnyű kérdés, sajnos én nem tudom: hogy lehet egy nem aktív munkalap egyébként "aktív" (ahol a kurzor áll, ha a munkalapra kattintok) cellájának
sor- és oszlopazonosítóját makró utasítással lekérdezni? (Úgy, ahogy az aktív munkalapét le lehet kérdezni az activell.row, activecell.column azonosítókkal.)
Minden sorba be kell írnod a nevet, ahogy a 2. ábrán látszik. Ezt könnyen pótolhatod. Kijelölöd A2-től a tartományt addig, ameddig a B oszlopban van adatod.
Ctrl+g-re bejön az ugrás menü, ott irányított, üres cellák. Kijelölte az üreseket, amik közül az első (A3) az aktív. Marad a kijelölés, beírsz egy egyenlőség jelet, majd nyomsz egy fel nyilat, végül Ctrl+Entert.
Ez a művelet az üres cellákba beírt egy hivatkozást, ami a fölöttük lévő cellákra mutat. Most másold az A oszlopot, és irányítottan, értékként másold saját magára, hogy a hivatkozások helyett fix értékeket kapj.
Adhatsz feltételes formázást az A oszlopra. A2-től lefelé add meg, a képlet: =A2<>A1. A formázásnál a karakterek színe egyezzen meg a háttér színével.
Szeretném megoldani azt, hogy a szűrési szempontot csak egyszer kelljen kiírni, és a többi sorra is vonatkozzon.
Példával elmagyarázva: Szeretném megnézni csak a Bán János által megformált szerepeket, de nem akarom hogy minden találatnál kiírja, hogy Bán János... Mellékelem az illusztrációt, mert ez így elég kesze-kusza magyarázás volt. (2010-es office-t használok)
Ez azért van, mert a rendezési tartományod első sorában is adatok vannak már és nem fejléc.
Ha a minta szerinti munkalapon dolgozol, akkor annyi a probléma, hogy a Header:=xlyes értéket Header:=xlno értékre kell változtatni. (A második verzióban a Header:=xlGuess az Excelre bízza annak eldöntését, hogy van-e fejléc vagy nincs.)
Erre fel is írta Tbandó, hogy nem tanácsos a fejléc és az adatok között üres sor(oka)t hagyni, mert abból gondok lehetnek. Pl. az általa javasolt kimutatás is problémázni fog vele.
A currentregion is ezért "sült bele" a feladatba. Amikor itt azt írtam, hogy a "táblázatot" üres sorokkal és oszlopokkal kell határolni, akkor a táblázatba beleértettem a fejlécet és minden olyan oszlopot is, ami hozzá tartozik.
Lehet, hogy áttekinthetőbb, ha kihagysz sorokat, de szerintem az áttekinthetőséget inkább a cella szegéllyel, vagy színezéssel lenne jobb megoldani.
Tbandónak már írtam korábban, hogy az Excelben 2007 óta van két sort, egy metódus és egy object.
Az "egysoros" a metódust használja és három szintű rendezést tesz lehetővé de vannak helyzetek, amikor nem használható.
A sort objektum tulajdonságait be kell állítani használat előtt. Az elsőként idézett programrész, továbbá a még előtte levő add key sorok is ezt a célt szolgálják.
Ha nem változtatsz a rendezési feltételeken, akkor elég csak a sort.apply használata.
Viszont a sort objektummal háromnál több szinten is tudsz rendezni - a sort.sortfields.add key többször is ismételhető és a rendezési sorrend az lesz, amilyen sorrendben az add key sorok bekerülnek.
Ezen kívül olyan helyeken is használható, ahol a sort metódus nem, mert pl. nincs hozzárendelve az adott dologhoz.
Bocsi, nem mentegetni akarom magam, de a sorokat Tbandó-tól másoltam(-: és figyelmetlen voltam((:-. Szerencsére Te már elég "nagyfiú" vagy és nem hagytad magad átverni.
Az Ő betű szerintem "rendszermutáns" a kis hullámvonalával és nehéz is észrevenni a képernyőn a különbséget.
A + a -> hát azt akár éberségi próbának is lehet tekinteni (én mindenesetre buktam, mint fentebb is írtam), természetesen & a a helyes.
A backslash-t (\) pedig úgy lehet kijátszani, hogy kétszer írod be egymás után, így egyszer megjelenik a szövegben (de vigyázz, mert ha egyszer megnézted előnézetben, akkor "megeszi" az egyiket és mikor elküldöd "természetesen megeszi" a másodikat is - szóval elküldés előtt mindig kettőnek kell lenni belőle.
Így kétségtelenül jobb. Áttekinthetőbb és egyszerűbb. Most 1 rendezés és 1 ciklus, szemben az előző 3 rendezés 3 ciklusával, amelyikből az egyik ciklus ráadásul kifelejtődött. Valszeg a komplikáltabb szerkezet miatti nehezebb áttekinthetőség miatt.