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.
> Arra lennék kiváncsi, hogy egy kombi panelhez lehet-e egy feltételtől függően különböző bemeneti tartományokat megadni.
> És ha igen hogyan?
Miért kombi panel? Az Excel 97-től van egy új lehetőség a listás szavazásra, az adatérvényesítés. Pl.
- a feltétel függjön mondjuk a B3 cella értékétől
- A lista legyen F7:F10
- B lista legyen H7:H10
- D3 cella legyen ahol a listás választási lehetőség megjelenik,
tehát:
D3 kijelöl -> Adatok menü, Érvényesítés...,
A párbeszédablakban:
Megengedve: lista
Forrás: =HA(B3>5;$F$7:$F$10;$H$7:$H$10)
A többi fülön is tetszés szerinti üzenetek írhatók be.
Van egy Exceles alkalmazásom, melynek a mentését makróval oldom meg:
Worksheets("Kalkuláció").Copy ' a munkalapot átmásolom egy új füzetbe
Range("A1:F60").Copy ' a képleteket kilövöm, tisztán adatok maradnak a lapon
Range("A1").PasteSpecial Paste:=xlPasteValues
....
For Each n In .Names ' nyoma sem marad a neveknek, ugyanígy járnak a rajzobjektumok is.
n.Delete
Next n
....
' itt jön a lényeg:
With ActiveSheet.PageSetup
.CenterHorizontally = True
.CenterVertically = True
.Draft = False
.PaperSize = xlPaperA4
.BlackAndWhite = True
.FitToPagesWide = 1
.FitToPagesTall = 1
.LeftFooter = ActiveWorkbook.FullName
.PrintArea = "$A$1:$F$60" 'nyomtatási terület beállítása
End With
A kérdésem hangsúlya a PageSetup-on: az össz macerát amit fentebb vázoltam rendesen, azaz 1 mp alatt megcsinálja az Excel (97-es, SR2).
Sajnos az Oldalbeállítást nem viszi magával az új munkafüzetbe, ezért kell azt hozzáírnom - ám ez 5-6 mp plussz időt jelent ! De miért ?
(ScreenUpdating, EnableEvents, DisplayAlerts mind ki van kapcsolva rendesen)
Tedd be az office CD-t, jelöld ki az egyedi-t (vagy talán telepített termékek eltáv / hozzáadása?), és installálj csak Excelt.
Egyébként az esetből az sem árt, ha a többit is helyre teszed.
Szintén tőlem:
<<
Egyébként ha valaki a részösszeget használja, akkor azt javasolnám neki, hogy az Excel fájlról készítsen másolatot, és a másolatba építse a részösszeget, aztán úgyalakítja, ahogy akarja, de az eredetibe folytassa az adatok gyűjtését.
>>
Így természetesen én is az 1-est, 2-est használom.
A részösszegek pedig hiába frissülnek automatikusan, ha neked kell megkeresni a megfelelő helyet, és oda szúrni a sort. Ha ugyanis az utolsó sorba írod az újat, akkor az nem használ.
Az egész mizéria onnan van, hogy én az esetek 100%-ban programmal írok új sort, természetesen az utolsó sor után.
Jóestéket!
Egy privát gépen, Win 95 és Office környezetben fatálisan megsérült az Excel 97. Le kellett szedni az egész Excelt, hogy legalább a többi Office program futni tudjon. Az Excel fájlok nem vesztek el, csak nincs mivel megnyitni. Az lenne a kérdésem, hogy tudtok-e olyan helyet, ahonnan csak a magyar verziójú Excel 97-et le lehet tölteni, az Office nélkül? A MS Downloadon és a tucowson nem találtam.
Köszi előre is a segítséget.
Ha lehet ide, ha nem lehet, akkor emilbe kérném :)
LordFinessnek, kisrebnek es meg annak aki segitet most mondok akkor koszonetet, mert igy mar elfogadhato a dolog. Beraktam ele egy mindent kijelolest es mar megy is!
De ez csak hozzaadja az eszkoztarhoz, es ha megegyszer megnyomom a gombot, akkor hibauzenettet kapok. Nekem meg a dokumentumban kellene hogy legyen a gomb, amit ha megnyomok, elojon a kereses. Tehat nem hozzadni kene, hanem megnyitni a keresest.
Hogy kene aktivalni az Edit menu 13. pontjat, csak ennyi a feladat, valaki legyen szives probaljon meg egy makrot osszehozni nekem, tudom hogy billentyukombinacioval sokkal egyszerubb, de nekem makroval kell leadnom a dokumentumot.
Biztos nem nehez, csak en nem vagyok jartas benne.
Ezt nem programozni kellene, hanem a felhasználót megtanítani az Excel kezelésére.
A Ctrl+F shortcut-nál nincs egyszerübb megoldás, A billentyüleütések mindig hatékonyabbak az egérklikkolásnál.
Kisreb: az azert nem jo, mert a dokumentumot helyi halozaton keresztul tobb ember nezi, igy minden egyes gepen be kellene allitani az eszkoztarat, ezert a dokumentumnan kell legyen a keresogomb. Azert kosz a javaslatot.
Én is nem parancsgombot javaslok.
Igen egyszerű megoldás. A keresés menüpont ikonnal van ellátva, ott díszeleg a látcső.
eszközök / testreszabás / parancsok segítségével húzd át az ikont a szokásos eszköztárra
(vagy hozz létre egyéni eszköztárt, a rugalmas ki/be-kapcsoláshoz)
Hali Tiba!
Aszem túlkomplikálod a részösszeget, vagy valamit reménytelenül nem értek.
<<
1.
2. sorbarendezés, részösszeg, sorbarendezés (így a részösszegek egymás után vannak
3.
4.
<<
Ha elkészítettél egy részösszegzést, a munkalap bal felső sarkában 1,2,3 szám található. Alapértelmezett a 3. Ha a 2-re klikkelsz, megkapod, azaz a részösszegeket egymás után
szépen sorban. (Ha az 1-re, akkor a mindösszesent)
Tehát, én úgy használom, hogy a 2-re klikkelek.
<< ... oda kell figyelni minden lépésnél, hogy véletlenül se módosuljanak az adatok. >>
Mivel a részösszegek automatikusan frissülnek, nyugodtan lehet módosítani az adatokat. (Kivéve magát a részösszeget)
Makrót legfeljebb a részösszeg ki- , bekapcsolásához írok, ha zavar a részösszegNÉZET.
Amúgy, bármikor beállok én szívesen a Pivot Table védőjének is, egyik kedvencem az Excelben.
Köszönöm segítségedet. Addig már eljutottam, hogy a fájlnevek benne vannak az első oszlopba, de nem tudtam továbblépni, mert nem tudok makrót írni. Annyival egyszerűsödött a dolog, hogy csak az A3 cella tartalma kell minden egyes fájlból. A fájlok tömege itt ül a nyakamon, mert már nem 70 van, hanem 242 db. Gondolom az nem sok mindenben nehezíti a feladatot. Próbálkoztam a cím függvénnyel is, de nem tudom beírni a munkalap nevét (sablon).
Ha tudsz valamit mondani még akkor segíts légy szíves!
Köszönettel,
cHe
Én nem a parancsgombot javaslom, hanem egy sima téglalapot, kört, vagy bármit, amit a rajz-eszköztárral szeretsz rajtolni, majd jobb oldali egérgomb, makróhozzárendelés, és egy makróhoz hozzá tudod rendelni.
A makrót nem tudom, hogy kell kinézzen, de már valaki ebben a topicban leírta (mással kapcsolatosan). Ha nincs meg, szólj, vagy keresd a help-et. Valami ilyesmi volt:
call application.ilyenolyanparancs
vagy talán
Application.CommandBars("Edit").Controls(13).valami (ha ott van, és nincs átszerkesztve)
1. a 70 db Excel fájlt tedd egy üres könyvtárba
2. Nyiss egy üres fájlt, legyen osszefuz.xls
3. Makróból is lehet, de én régimódi vagyok: a könyvtárba dos promtba írd be:
dir fajlok.txt 4. Hívd be a fajlok.txt fájlt, és m,ásold át az osszefuz.xls fájl első lapjára, hogy a fájlnevek az A2-es cellától lefelé legyenek szép sorban (A3, A4 stb)
5. Az osszefuz.xls fájlba a következő makrót kell megírnod (ha színtaktika nem pontos, az elvre figyelj!, ha pontosan kell, akkor szólj!)
Workbooks.Add
ActiveWorkbook.SaveAs Filename:="c:\ujfajl.xls"
hanyfajlvan= 70 vagy
hanyfajlvan= thisworkbook.worksheets(1).cells(1,1).currentregion.rows.count
for i = 2 to hanyfajlvan
fajlnev=cells(i,1)
workbooks.open (fajlnev)
workbooks(fajlnev).sheets(1).Copy Before:=Workbooks("ujfajl").Sheets(1)
workbooks(ujfajl).worksheets(1).Name = fajlnev 'feltételezem, hogy minden fájlban egy lap kell.
workbooks(fajlnev).close false
next
Asszem nem maradt ki semmi.
Ha egy lapra szeretnéd gyűjteni őket, akkor két megoldásod van:
Az egyik, hogy makróval vágólapon keresztül gyűjtöd, a másik, soronként dolgozod fel. Az első akkor jó, ha több ezer sor van, mert a második átláthatóbb, de lassabb. A második íme (ha egy fájlban vannak már, de az előző makróval lehet kombinálni, és akkor egyben is mehet).
sheets.add
utolso=thisworkbook.worksheets.count
u_sor=2
For i= 1 to utolso -1
for sor = 2 to worksheets(i).cells(1,1).currentregion.rows.count 'feltételezve, hogy az első sor a fejléc
for oszlop = 1 to worksheets(i).cells(1,1).currentregion.columns.count
worksheets(utolso).cells(u_sor,oszlop)= worksheets(i).cells(sor,oszlop)
next
u_sor=u_sor+1
next
next