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.
Bocs, de miért az asztalra akarsz menteni? Ha egy-két fájlról lenne szó, akkor talán elfogadható a dolog, de ahhoz nem kell program. Tekintettel arra, hogy programot használsz hozzá, feltételezem, hogy fájlok sokaságát akarod menteni. Erre nem az asztal való!!! Ebből ugyanis előbb-utóbb áttekinthetetlen katyvasz lesz az asztalon, annak eredeti célja helyett, ami szerintem az, hogy a leggyakrabban használt programjaidat, esetleg fontosabb fájljaidat könnyen megtaláld.
Olyan nagy gond lene, hogy mondjuk a dokumentumok mappában (vagy a példádban a d: gyökerében) hozz létre az adott feladatnak megfelelő mappát, és oda pakolgasd a fájlokat?
Az ugye beállításoktól és Windows verziótól függ, hol van az asztal, alapesetben ennél bonyolultabb, pl. Win7 alatt c:\Documents and Settings\Default User\Desktop\.
Ahogy a te útvonalképzésedet elnézem, súlyosan hiányzik egy backslash az elérési út meg a filenév közül.
A célom az, hogy a felhasználó asztalára kerüljön mentésre a dokumentum. De ehelyet a felhasználó mappájába menti és a fájlnevet kezdi asztal-lal. Desktop-pal is próbálkoztam
Legtöbben Kovalcsik Gézától Az Excel (verziószám ide) programozása című könyvet ajánlják. Krizsák Lászlónak is jelent meg (régen) ilyen című könyve, az is nagyon jó.
A YouTube-on, Excel VBA-t beírva sok példát találsz, és Exceles fórumokon – pl. itt – sokat tanulhatsz. Akár a tökfőzelékről és a grízestésztáról, mint válóokokról.
Egyébként tudnál abban segíteni nekem, hogy ezt a makró programozást milyen szakirodalomból lehetne elsajátítani? Teljesen kezdő vagyok a témában, de van rá affinitásom, és érdekelne is a dolog.
Tudtok olyan xlsx viewer programról, amit lehet használni a TotalCommander betekintőként is?
A cégemnél korábban xls állományban kaptam fontos adatokat. Volt hozzá olyan viewer, hogy ha rááltam az állományra a TC egyik ablakában, akkor a másik oldalon már láttam is a tábla bal felső sarkát. Mióta áttértek az xlsx használatára, nem találok hasonló programot hozzá!
A másik ami nagyon rosszul érint, hogy eddig az xls állományok könyvtárában, szintén a TC-vel, egyszerű stringkeresővel meg tudtam keresni azokat az Excel állományokat, amiben szerepel bizonyos karakterlánc. Sajnos ez sem működik már az xlsx-nél! :-(
Köszönöm a segítséget, flottul ment minden. Kérhetném a segítségedet a dolog megfordításában is? Tehát sok lapból álló munkafüzetet laponként új fájlba menteni. Excel 2010.
Van egy készlet. Xlsx és egy készlet(ütközés). Xlsx ami eltér mentés időpontban és file méretben is.
És szeretném tudni mi az ami eltér a két file között
Nem írtad, az Excelnek melyik verzióját használod. 2003-hoz írtam a makrót.
A D meghajtó Innen nevű mappájában vannak a behívandó füzetek, ezt az utvonal="D:\Innen\" sorban írhatod át. A lapokat az Ide.xls fájlba gyűjti be. Ezt 2 helyen kell átírnod a makróban. Ha magasabb verziót használsz, az xls kiterjesztést is módosítanod kell. Mivel az Ide nevű fájlban lesz a makró, xlsm (makróbarát) lesz.
Sub Osszesites() Application.DisplayAlerts = False Application.ScreenUpdating = False
Dim utvonal As String, FN As String, Ulap As Integer utvonal = "D:Innen"
'Fájlok behívása ChDir utvonal FN = Dir(utvonal & "*.xls", vbNormal) Do If FN <> "." And FN <> ".." Then Ulap = Workbooks("Ide.xls").Worksheets.Count Workbooks.Open Filename:=utvonal & FN 'Másolás a megnyitott füzetbe Sheets(1).Copy After:=Workbooks("Ide.xls").Sheets(Ulap) ActiveWindow.ActivatePrevious 'Behívott fájl ActiveWindow.Close 'Zárás mentés nélkül End If FN = Dir() Loop Until FN = ""
Application.DisplayAlerts = True Application.ScreenUpdating = True MsgBox "Kész van!" End Sub
A következő problémával találkoztam. Lehet, hogy bugyuta kérdés, de nekem nagy segtség lenne. Van egy mappám, tele azonos formátumú (xlsx) excel táblázatokkal (50 db), és mindegyik excel tábla egyetlen munkalapot tartalmaz (a sorok száma eltérő). Arra szeretnék megoldást találni, hogy az 50 fájl munkalapjait egyetlen fájlba összerakjam, de mindegyiket külön lapra. (Tehát az 50X1 lapból, 1X50-et csinálni.) A Másolás vagy áthelyezés megoldást ismerem, de ez meglehetősen bonyolult.
Ha valaki tud segíteni valami egyszerűbbet találni, azt megköszönöm!
Elkövettem azt a hibát a makrós excelemben, hogy ugyanazt a nevet adtam meg egy public változónak és egy makrónak. Ettől az excel kiakad és nem hajlandó megnyitni ezt a munkafüzetet (ami számomra fontos programokat tartalmaz). Azt szeretném kérdezni, hogy hogy lehetne esetleg máshogy megnyitni ezt az excel-munkafüzetet (más programmal), vagy hogy lehetne valamilyen csatornán keresztül hozzáférni a makrókhoz (hogy ki tudjam a hibát javítani).