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.
Szerintem próbáld meg a cellákat beírás előtt formátumozni. A cellaformátumnál válaszd az egyénit, és ezen belül a hh.nn szöveget írd a formátumkód mezőbe! A magyar office-nak ezt értenie kellene. (Ha angol lenne az office, akkor feltehetőleg a mm.dd kellene).
Ezzel azt éred el, hogy úgy a hónapok, mint a napok két karakterrel kerülnek a cellákba. Fenn a szerkesztőlécen ugyan az év is megjelenik, de gondolom, ez nem baj.
Igen, ilyenek nalam is vannak, de ezek szokozt hagynak maguk utan es beiras utan atvaltoznak mas adatra. Tartok tole, hogy azert, mert az oprendszer angol, es hiaba magyar office van rajta, es magyar sema beallitva, valami nem tetszik neki.
Olyat szeretnek, ami fix 5 karakteren hozza egymas alatt a "01.01" - "12.31" sort.
Ha beszenvedem a nalad levo elso adatot, az ilyeneket ir:
"3. 4"
"5. 21"
"11. 2"
"12. 30"
azaz 2 karakteres elteresu hullamzo oszlop a vegeredmeny, es egyesevel kell gepelnem, es figyelnem, hogyan valtozik, mert a szerkeszto mezoben mindig "1900. 3. 4" jelenik meg. :-((
Ha a címsorod van a 11. sorban, akkor változatlanul használhatod a makrót, ha az első, adatot tartalmazó sor a 11., akkor a Set Rng = Range("A12:K69") sorban a 12 helyett írj 11-et.
Sub A_kigyujtes() Dim Rng As Range, lap As Integer, usorGy As Integer Application.ScreenUpdating = False
Sheets("Gyűjtő").Columns("A:K") = ""
For lap = 2 To Sheets.Count Sheets(lap).Select If lap = 2 Then Rows(11).Copy Sheets("Gyűjtő").Range("A1")
Selection.AutoFilter Field:=1, Criteria1:="A" Set Rng = Range("A12:K69") Set Rng = Rng.SpecialCells(xlCellTypeVisible) usorGy = Sheets("Gyűjtő").Cells(Rows.Count, "A").End(xlUp).Row + 1 Rng.Copy Sheets("Gyűjtő").Range("A" & usorGy) Next
Sheets("Gyűjtő").Select Application.ScreenUpdating = True End Sub
Mit változtassak a makrón, ha azt szeretném, hogy minden keresett oldalon csak az A11:A69 sorokban keresse az A-kat? (gyakorlatilag az A11:K69 területen vannak az adatok) A felette lévő dolgok nem adatrekordok, csupán egyfajta fejléce a különböző sheeteknek.
Ugyanígy, a célsheetnek is van ilyen "fejléce", tehát az eredményül kapott adatrekordokat ott is az A11 lenne az első sor, ahová kapott eredményt írunk be.
Sziasztok, az alábbi feladatra keresem a megoldást Excel 2010-ben.
Adott egy táblázat, amiben van több lapfül.
Minden lapfül tartalmaz adatokat, az alábbi elrendezésben
Attribútum | Név | PO | Megnevezés | Code | HUF | USD
Minden lapfülön azonos strukturában tároljuk az adatsorokat.
A feladat az, hogy mindegyik lapfülről kigyűjtsük azokat az adatsorokat, amelyeknek az Attribútum mezőjében 'A' érték található (ebben a mezőben igazándiból csak igen-nem állapot van, tehát vagy üres a mező, vagy tartalmaz 'A'-t), és ezeket az adatsorokat a többi mezőjével együtt kimásoljuk egy másik lapfülre.
Ha manuálisan csinálnám, úgy csinálnám, hogy auto-szűrővel leszűröm az attribútum mezőre, majd a kapott szűrt táblát CTRL-C - CTRL-V-vel átmásolom arra a lapfülre, ahol szeretném látni őket. Hangsúlyozom, az ÖSSZES lapfülről szeretném összeszedni a keresett adatsorokat.
Megúszom-e én ezt makró nélkül, van-e valami függvény, vagy más megfejtés erre?
Meg tudod (ha akarod) oldani a közvetlen címzést, ha meghatározod a makróval a beillesztés helyét. Erre írtam a példát, ami megállapítja, hogy az utolsó kitöltött sorod a 13, és ez alá 4-gyel kell beszúrnod a következő adatodat.
Ha rejtett sort másolsz és nem akarod, hogy a másolat is rejtett legyen, akkor az irányitott beiilesztés képlet/értéke-t használd.
Azt nem értem, hogy a rejtett lapról miért nem tudsz másolni. Nálam minden további nélkül megy. Sőt, a legnagyobb meglepetésemre a sima Paste a rejtett lap rejtett sorait sem rejtve másolta.
Az nem képzelhető el, hogy hibásan írtad be a lap nevét?
Tudtommal nem lehet. De a HELYETTE vagy a CSERE függvény alkalmazásánál nem vált át dátumra. Aztán a módosított oszlop visszamásolható az eredeti oszlopra.
beírom egy cellába pl 13/1/2 Eleve szövegként formázom hogy ne csináljon belőle dátumot mert ez valamilyen pozíció, pl raktári sorok oszlopok polcok száma. Eddig jó. Amikor viszont "csere" funkcióval le akarom mondjuk cserélni a 13 at 14 re akkor az eredményt dátumként formázza és 2014.01.02 -t ír be. Miért akar mindenképp dátumot csinálni mindenbő?
Persze megoldja aproblémát ha aposztróffal kezdem pl '13/1/2 de nem lehetne alapból kikapcsolni azt a funkciót hogy mindenből dátumot próbáljon csinálni? Elég idegesítő.
Akkor még egyszer ugorjunk neki: Felejtsd el, hogy oszlop beszúrással akarj cellákat beszúrni! Válaszd külön magadnak a két fogalmat. Az oszlop beszúrást (vagy törlést) a cellák beszúrásától (vagy törlésétől). Amit Te akarsz, az cellák beszúrása az alsó oszlopokba a 21. sortól kezdődően. Tehát a 21. sortól lefelé kijelölöd az összes cellát (abban az oszlopban, amelyik elé be akarsz szúrni), majd az egér jobb gombjával a beszúrást választod. Erre megkérdezi, hogy mi legyen a beszúrás módja. Ekkor válaszd azt, hogy cellák eltolása jobbra! És láss csodát, beszúródott egy új oszlop, miközben a felső rész maradt.
Egy kis elmélet: A sorok és oszlopok rögzítése nem azt jelenti, hogy nem tudod módosítani (beszúrás/törlés), hanem azt, hogy a képernyőn rögzül, miközben lapozol. Más szóval a fejléc, vagy a bal oldali oszlopok egy része mindig látható. Nagy segítség ez, ha több oldalas táblázattal dolgozol.
Megjegyzés: A ctrl +, vagy hasonló megoldást nem ismerem. Ettől még létezhet, de én nem találkoztam vele.
Még valamit: Ha az a gond, hogy a fent leírt módszer nem kényelmez, mert a táblázat több ezer soros, és nehézkes a 21. sor alatti cellák kijelölése, arra is ven megoldás. Csak most itt nem akarom bonyolítani, de ha kell, majd elmondom.
Nem tudom leírni túl érthetően, szóval van egy munkafüzetem, egymás alatt 2 táblázattal.
Ha a felső táblába +1 oszlopot kell bevinnem akkor az alsóba is berakja a beszúrásnál, és törlésnél ugyanúgy egyszerre törli az egymás feletti táblázatok celláit, hiába rögzíttetem az ablaktáblát vagy a felosztásban hiába osztom fel a két táblázatot.
Szia, én bárhogy rögzítem a felső 20 sor ablaktábláját, ha új oszlopot akarok beszúrni akkor felül is meg alul is bezeszúrja. Pedig még nagyon régen tudtam hogy hogy lehet megoldani hogy csak alulra vagy felülre szúrja be valami ctr és + vagy mi volt de most ezen ez sem műlödik :(
A makrós változat ha működik, annyiban jobb, mint az én feltételes formázásom, hogy eltünteti a szükségtelen sorokat, így megakadályozza a véletlen felülírásukat, pl. ha összegezni kéne valamelyik rubrikát.
Nálam van valami zűr. Roppant meglepő és abszolut érthetetlen. Ugyanis az van, hogy kattingatással kijelölve nálam is müködik <>HAMIS szűrés. Autófilterrel is, irányítottal is. Csakhogy van egy default makróm a szűrésre, amit általában használok a kattingatások helyett. Még a 2003-as excelre csináltam, de müködik a 2007-en is. Elég univerzális, csak arra kell ügyelni, hogy a táblázataim a 10-sortól kezdődjenek és a 2. sorba csak kritérium kerülhet
Na most ez a makró, miután letoltam a leltáros táblázatot a 10. ik sorra
az E oszlop e1:e2 'Me.' és 'db' kritériumára jól szűrt,
a HAMIS-ra szintén,
DE a <>HAMIS-ra süket.
Kattintgatva viszont mindhármat korrektül szűrte. Egyszerűen érthetetlen. Ötlete valakinek, hogy miért müködik másképp a kattigatás és a makró?
Aztán kiderült, hogy a <HAMIS sem müködik mindegyik oszlopban, mert az meg a HAMIS 'h'-betűjére szűr. Tehát pont az E-oszlopban gubancol mert ott a 3-ik sorban m-betű van, ami ugyebár nem kisebb mint a h-betű. De hogy még kuszább legyen, csak a makrós változatban. A kattingatósnál egyetlen sor se marad, kiszűri az összest :))).
Ha nincs ez a leltáros példa, ki tudja mikor és hogyan derülnek ki ezek?