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.
Azt esetleg meg lehet oldani, hogy az alaptábládból referenciákkal csinálsz egy olyan táblázatot (segédtábla), amely x-re rendezve van (LARGE függvény), majd ezekhez VLOOKUP-pal hozzákeresődik a megfelelő y érték. Ezután a segédtáblázatból tudsz olyan grafikont csinálni, amilyen csak akarsz, ha meg változnak az adatait a segédtábla is változik a LARGE miatt.
azt tudom, hogy pl egy halmozott oszlopos diagram oszlopaiban a különböző értékeket tudom tetszés szerint sorbarendezni. (2010-esben ha kiejlölöm a diagramon az oszlopot, akkor a szerkesztőlécen megjelenik egy "ADATSOR" képlet. Ennek a paramétereiben szerepel egy sorszám, és azt szoktam átírni. Lehet működne a te esetedben is.
Segítségeteket kérném. Van egy excel worksheet-em és abban két oszlopban vannak értékek x és y. Ezeket szeretném egy grafikonon ábrázolni, de nem találtam nekem megfelelőt. Próbáltam a "Line" típusút de ott az x értékeket nem rendezi sorba, az nem jó. Próbáltam az "xy scatter" típusút, az rendezi az x értékeket, de ott meg a vonalak vannak nem jól kötve a pontok között, mert keresztezik egymást stb. Szóval nincs erre valami megoldás, hogy az x ek rendezve jelenjenek meg és a vonalak a pontokat balról jobbra kössék össze, de pedig abban a sorrendben ahogyan a táblázatban volt?
A B értekeket (a példámban B1-B9 az első munkalapon), ha megfelel valamilyen feltételnek, akkor másik B cellába írja ki másik munkalapon, így ahol az elsőn a B9=6, ott a másik munkalapon a B4 lesz 6. Ez nem zavar be a képletekbe, mert ott már B4=6-tal számol és a képletet nem érdekli, hogy az az adat honnan került oda.
Először ezt írtad: "És ha beírok az első munkalap B10-be egy számot,...", majd "Előre beírt képletekkel és különböző, bonyolult feltételekket vizsgálom és számítom ki az alapadatokat..."
Ez nem mindegy, mert az előbb küldött makró a beírásra reagál. Ha a B oszlop értéke attól változik meg, hogy a lap egy másik helyén módosítasz valamit, akkor a makrónak azt a "másik hely"-et kell figyelnie.
Szóval akkor a B-be írsz, vagy máshova, amitől a B értéke megváltozik?
A lapodhoz kell rendelned az alábbi makrót (lapfülön jobb klikk, Kód megjelenítése, bejutottál a makrószerkesztőbe, jobb oldalon kaptál egy üres lapot, oda másold be):
Private Sub Worksheet_Change(ByVal Target As Range) Dim usor% If Target.Column = 2 And Target > 5 Then usor% = Application.WorksheetFunction.CountA(Sheets(2).Columns(2)) + 1 Sheets(2).Range("B" & usor%) = Target End If End Sub
Ez a makró a kiindulási lap B oszlopába beírt adatok közül az 5-nél nagyobbakat sorban bemásolja a füzet 2. lapjának B oszlopába. Ha változtani akarsz az értékhatáron, a pirossal írtat módosítsd.
Később írtad, hogy több lapod van a füzetben. Ha mindegyikről 1 lapra akarod összegyűjteni a feltételnek megfelelő adatokat, akkor mindegyik laphoz (kivéve a gyűjtő lapot) be kell másolnod a kódot. Mivel a gyűjtő lap nem feltétlenül második a füzetedben, a makróban 2× szereplő Sheets(2)-t írd át Sheets("Munkalap_Neve") formában a gyűjtő lapod nevére.
ok küldj egyet, az a baj, hogy haza kell menjek otthon nem biztos, hogy tudok vele foglalkozni, de hátha jón valaki aki megcsinálja Neked, ha nem akkor hétvégén valamikor megcsinálom!
Több ezer sor és 10-12 munkalap van egy munkafüzetben, ezeket az alapadatokat használja az összes munkalap,az oszlopok ugyanazok. Előre beírt képletekkel és különböző, bonyolult feltételekket vizsgálom és számítom ki az alapadatokat, de csak azokat a rekordokat, melyek az adott feltételeknek megfelelnek. Ha nem világos, küldük egy minta fájlt és úgy érthtő lesz.
Átlagos felhasználó vagyok, programozáshoz és makróíráshoz nem értek. A segítségetekre lenne szükségem egy egyszerű probléma megoldásához.
A feladat:
Az A oszlop sorszámozás, a B oszlopba beírok számokat:
A B
1 3
2 5
3 9
4 12
5 2
6 26
7 1
8 4
9 6
...
Azt szeretném, hogy egy másik munkalapon a B oszlopba írja ki pl. azokat a számokat az első munkalap B oszlopából, amelyek mondjuk nagyobbak 5-nél, de ne legyenek üres cellák és rejtett sorok sem. Fenti adatokkal ezért a második munkalap így nézzen ki
A B
1 9
2 12
3 26
4 6
És ha beírok az első munkalap A10-be egy számot, akkor a második munkalap B5-ben aszerint jelenjen meg, hogy nagyobb-e 5-nél vagy nem.
Azt gondoltam, hogy ez egy negyon egyszerű feladat, mert nekem standard adatkezelési műveletnek tűnik. De nem boldogulok vele, mert képzetlen vagyok. Nálam sokkal hozzáértőbbek azt mondták, hogy makrókkal kéne megoldani, de az lelassítja a gépet. Tényleg ilyen nehéz lenne ez a feladat?