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.
Ezzel csak az a baj, hogyha biztosra akarsz menni, hogy a felhasználó ne tudjon az adott scroll-tartományon túlmenni (pl. érzekeny vagy titkos adatok vannak azokban a cellákban), akkor le kell tiltani a VBA ablak megnyitását is. De a scroll-areát ki lehet kapcsolni a Nézet>Eszköztárak>Kontrol eszköztáraknál is.
Segítsetek nekem légyszíves, egy excel sheet scrollozhatóságát kellene korlátoznom, tehát, hogy egy bizonyos határon túl ne lehessen továbbgörgetni, illetve a határon túl levő cellákat ne lehessen kijelölni sem. Tudom, hogy VBA-ban a Workbook Open-hez kell beírni, régen tudtam is az utasítást, de akárhogy töröm a fejem, nem jut eszembe és a helpben sem találom.
LG>>> nem igaz, hogy még nem tudtad kiszedni a jelszót!!! :-)))))))
Ezen a címen >> http://www.fileguru.com/security/security.asp találsz vagy 5 olyan programot ami képes kiszedni a jelszót. Bár a többség, vagy az összes shareware, de ha nem akarsz fizetni, akkor a http://www.astalavista.box.sk/ címen keress rá törést!!
köszi, ez tök rendes dolog tőled, csak hát.... khmmmm... szigorúan bizalmas anyag, így nem küldhetem el :(
Ezt a szívást...
Azért a felajánlást mégegyszer köszönöm.
Mindjárt gondoltam. :) Ha viszont elküldöd nekem a fájlt, akkor visszaküldöm jelszavak nélkül. :) (Sajnos a freemailes címemhez nem tudok hozzáférni, úgyhogy javaslom a deli_ben@hotmail.com címet.)
Nem igazán sokban különbözik.
A fejlesztések elsösorban a webes felhasználásra koncentrálódtak és a pivot-táblákra, pivot-grafikonokra. Továbbá programozás útján sokkal könnyebben tud együttdolgozni adatbázisokkal.
Az Excel97 már egy igen kiforrott, minöségi program volt, úgyhogy nagy változások az újabb kiadásokban már nincsenek, inkább csak kényelmi dolgok és apró újítások.
Két megjegyzés:
1. nem szállok be egy szerénységi versenybe (egyébként sem írtam, hogy én tartottam az oktatást, azt jobb ha olyan ember teszi aki nem programozást tanult, hanem pedagógiát)
2. valamit kihagytál az előző hozzászólásomból:
":-)))))))))))"
Az automatikus javítással az a baj, hogy kéri hozzá a lemezt, és nekem olyan nincsen. Nem, nem kalózmásolat :) , csak előre telepített szoftver. A lényeg hogy most már nagyon überalles az excelem. :)
Hopp! Köszönöm mindenkinek a részvételt, a probléma megoldódott: felültelepítettem az Excelt. Így most ugyan fogalmam sincs arról, hogy mi is volt a probléma, de legalább működik. :D Ja, és az ABCMMRES.DLL továbbra sem található a gépen. :DD
Nézzük sorban: a Help-re hozza a help file-t, ami elmagyarázza nekem, hogy a .dll az tulajdonképpen egy dynamic link library... Köszönöm. Viszont a .dll nevét ott sem mondja meg.
Akkor jön elő, amikor elindítom az excelt. RAM-mal biztos nincs gond: 192M.
Keresgéltem Visual Basicben referenciákat .dll fájlokra, és találtam egyet, ami nem létezik a gépemen. Ez az ABCMMRES.DLL. Idemásolom a szövegét. Ha jól sejtem ennek a .dll-nek a registryben kellene lennie, de nincs:
Sub GetMMResPath(ByVal lpcszProgramFile$, pszAppPath$)
Ezt érted profi alatt?
"Lehet, hogy az Excelem nem jogtiszta, de legalább használom..." (perfag válasz erre | adatok | e-mail 2000.12.27 13:26 (2988))
:-)))))))))))
lehet, hogy valamilyen type library file-t keres, vagy object library-t.
A hibaüzenetnél nincs Help feliratú gomb, ami megmondaná pontosan a hiányolt dll nevét?
Akkor jön elö, ha egy file-t nyitsz meg, vagy amikor szimplán a programot indítod?
Van elég RAM-od a gépen?
Használsz más nyelvü office file-okat? pl. amihez más nyelvü object library kell?
w98, office 2000, használok NAV-ot, megcsináltam amit írtál. A helyzet azonban változatlan, továbbra is követel valami .dll-t, viszont hogy mi a neve, azt nem árulja el. :( Az a furcsa, hogy eddig normálisan működött, és (szerintem) semmi nem történt, ami megmagyarázná a gép sértődöttségét. Van még ötleted? :)
Ha Norton Antivirust használsz, akkor unregisztráld az officeav.dll-t!!
1. Start
2. Run
3. írd be: regsvr32 /u "c:\program files\norton antivirus\officeav.dll"
Legújabb Excel problémám egy hibaüzenet: amikor elindítom az excelt, akkor megjelenik egy ablak Microsoft Visual Basic címmel, és azt mondja, hogy Error in loading DLL. És ugyanez történik Word-ben is. Nagyon nem értem, mit akar tőlem. :(
igazi>>> :))) hát igen. A feltételes formázás pedig még alapdolgok alapjaihoz tartozik.
más.
Az Access-szel kapcsolatban tényleg nem értünk egyet. Szerintem meglehetösen jó program, bár saját magától, vagy a helpböl nehezen lehet megtanulni. Azt elismerem, hogy az Access2000 elötti változatai sok kivánnivalót hagynak maguk után, de már a 2000 az nagyon jó.
Kis és közepes méretü cégeknek általában tökéletesen megfelel, kurva jól együtt tud dolgozni a Worddel, Excellel, Outlookkal vagy akár a Powerpointtal és ha már valaki az Office-t megvette, ami egy cégnek nem vészes, akkor alapból ott van a számítógépen.
Az USA-ban milliónyi olyan consulting cég van akik kizárólag Excel és Access programozást csinálnak cégeknek és nem Oracle-t vagy SQL Servert használnak. Mellesleg az SQL szerver butított verziója, az MSDE benne van alapból az Accessben, igaz max 10-15 egyidejü felhasználóra van optimalizálva, csak ekkor a Jet engine helyett az MSDE-t kell használni.
LordFinesse,
egyetértünk, azzal a kitétellel, hogy tiszta szívvel az Accesst sem nevezném adatbáziskezelőnek :-))
Egyébként senki sem akarta (én legalábbis nem) az Excelt és az Accesst adatbáziskezelőként összehasonlítani, csak arról esett néhány szó (szubjektív vélemény), hogy bizonyos feladatokra, nyilvántartásokra mi a megfelelőbb...
Másrészt ha a gyakorlott Excel használó alatt azt érted, aki sokat ül az Excel előtt, akkor nem értem miért csodálkozol, hogy nem ismeri: nincs rá szüksége. Mikor fog egy Excel tanfolyamot nem látott "mezei felhasználó" feltételes formázást használni? Soha. Még ha járt is egy tanfolyamon (ahol jó esetben ilyeneket is oktattak és nem aludt el közben), akkor is csak elvétve.
Típuspélda: megkértek, hogy "programozzom le", hogy az adósoknak ne csak az egyenlege legyen piros (ezt cellaformázással meg tudták csinálni), hanem a neve is. Ennél a cégnél speciel volt Excel oktatás (ráadásul jó, mert mi tartottuk)...
Az Excel nem adatbázis-program. Pontosabban nem relációs adatbázis-program.
Az Excel táblázatkezelö!! És mint ilyen a célközönsége nem a programozók, hanem az egyszeri felhasználó a titkárnötöl a brókerig. A tablázatkezelésben az Excelnek nincs ellenfele, egyszerüen a legjobb, bár ez a kijelentés sok Microsoft-utáló embernek(szinte az összes magyar informatikus) anyázásnak tünhet, de ez az igazság.
Az Excelnek vannak adatbázis funkciói, de ettöl még nem adatbázis-kezelö. Szinte bármilyen OLAP adatbázissal együtt tud dolgozni, ami elsösorban lekérdezéseket jelent. A lekérdezések eredménye csak az alapanyagot szolgáltatja az Excelnek, hogy azt lehessen csürni-csavarni, elemezni, stb. Viszont az Excelnek rengeteg olyan funkciója is van, amit az adatbázis-kezelök nem vagy csak nehezen tudnak megvalósítani.
Ezzel csak azt akartam mondani, hogy az Excel Accessel való összehasonlítása sántít, Oracle-lel való összehasonlítása meg abszurd.
Mellesleg saját tapasztalatom szerint még a gyakorlott Excel használók is csak pici töredékét tudják kihasználni az Excel tudásának, egyszerüen azért, mert nem kellöen ismerik a programot.
Nekem speciel nem tetszik az Oracle Discoverer, olyan igazi nemprogramozóknak készült és nekem elég korlátoltnak tűnik. Én ODBC-n keresztül szoktam Oracle táblákat Accessbe linkelgetni, ez egész barátian működik így. Legalábbis az én igényeimet maximálisan kielégíti.
Oracle adatbázisnál ajánlom az Oracle Discoverer termékcsomagot Admin - és User Edition, az utóbbi nagyon hasonló az Excelhez (kezelés, felület) valamint ODBC kapcsolaton keresztül egy Access adatbázissal is megbirkózik.
Az is attol fugg milyen elemzeseket akar kesziteni az illeto, mert szerintem kutatasokra egy szociologus kutato, nem fogja megtanulni az Oracle -t, ahhoz azert az tul nagy, raadasul szerver-kliens applikacio, ahogy en tudom. (???)
Hát hogy is mondjam. Az Access szintén szubjektíven:
Táblázatkezelőnek lassú, de (viszonylag) sok adat fér bele.
Adatbáziskezelőnek lassú, meg nem is igazán az.
Felhasználóbarát, mert aki Excelt használt, az jól kijön vele. Report és view része jó, ameddig tetszik, de saját formátumot elég nehéz csinálni.
Amire jó: Relációs szemléletet adhat annak, aki rászánja az időt, és még nem látott ilyet.
Az igazi:
Cégeknél: Oracle adatbázisra Excel felület, ameddig "csak" táblázatokat akarnak csinálni (ha igazán elemezni akar valaki, akkor Oracle felület vegyesen az Excellel).
Otthon: Excel.
érdekes szakmai vita alakult ki itt az Excel-Acces témakörben....
annyit azért elmondanék, hogy nekem speciel kevés recordot kell nyilvántartani, viszont azokat össze-vissza forgatni, számolni (átlag, szórás, időben ábrázolás) kell és ezért is választottam az excelt, nem csak azért mert nem értek az acceshez.
köszönöm a VBA könyv-forrás tippeket mindenkinek. Az appdev-ről már le is szedtem a cuccot, a könyveket később.
Ez nem egy Access fórum, de néhány szót megérdemel (tisztán saját, szubjektív vélemény):
- adatbázisnak jó: mindent tud, amit egy rendes RDB-nek tudni kell, és olcsó
- adatbázisnak nem jó: kevés (mondjuk 10000 adatig) egyszerűbb az Excel, sok adatra meg valami komolyabb kell, ráadásul a régebbi Access verziók adatbázisa nagyon sérülékeny, különösen ha többen dolgoznak egyszerre (az újakat: Access 97, 2000 nem ismerem)
- programozni nehezebb mint az Excel-t, nem informatikusnak különösen
- a report és view része jó, egy titkárnő is csili-vili jelentéseket pakolhat össze negyed óra alatt
- adatbevitelre jó: ha sokat kell ellenőrizni, összefüggéseket kezelni, végig kézben tartható a bevitel
- adatbevitelre rossz: lassú (Excelben kitöltesz 12 cellát fél perc alatt, Accessben kattintgatsz jobbra-balra 2 percig)
Az Access mint user interface egy "valódi" adatbáziskezelővel, elég jó páros: korrekt teljesítmény, (ha elég sok időt szánsz rá, akkor) jó user felület. A kérdés csak az, hogy megéri-e a befeketést: egy Excel nyilvántartást sokkal olcsóbban ki lehet hozni. Egy kis cégnél évekig futott egy nyilvántartó "programom" Excelben, a végén kb. 40000 rekorddal (6-7 MB-os .xls file). (Igaz az 5 év alatt 386-ost előbb 486-osra, majd Celeronra update-elték, a memória is megnőtt az eredeti 8 MB-ról 64-re :-)
> Ha adatbazisokkal kell dolgozni, akkor inkabb az access -t hasznald. (Szivem szerint a MySql -t javasolnam, de sejtem mert ko pont az access.)
> Szoval, nagyobb adatmennyiseget (elmeletileg) gyorsabban kezel, ha minden igaz, elm, erre van optimalizalva. + Bele fogsz hulyulni, ha 65535 -nel tobb rekordod van.
Az adatbázis kezelés jelentheti azt is, hogy Exceles a felület, és mdb-t vagy akár dbf-t használ bázisnak - DAO-ból. Gyors lekérdezések lehetségesek, én használom.
Igen, de ha nincs annyira sok record, akkor érdemesebb az Excelt használni, mert jobban átlátható és az adatok javíthatók. Leprogramozni kicsit bonyolultabb talán, de megéri szerintem. Persze a sebesség miatt nem a 65535 a kritikus szint szerintem, mert már előbb kitéped a hajad, hogy milyen tetű a gép. Néhány ezernél több rekordot én nem ajánlanék Excelben kezelni, de addig jó.
de a munkamhoz most mindenfele adatbazisokat es lekerdezeseket kell kidolgoznom es accesshez plane nem ertek, ezert excelben probalkozom.
Hu, ezt ne csinald!!!
Ha adatbazisokkal kell dolgozni, akkor inkabb az access -t hasznald. (Szivem szerint a MySql -t javasolnam, de sejtem mert ko pont az access.)
Szoval, nagyobb adatmennyiseget (elmeletileg) gyorsabban kezel, ha minden igaz, elm, erre van optimalizalva. + Bele fogsz hulyulni, ha 65535 -nel tobb rekordod van.
> Sajnos VBA-ból indítva OK, de munkalap függvényként (mindenesetre nekem) nem.
> Mindenképpen az szükséges, hogy függvényvarázslóval lehessen indítani.
Nem akarok túlokoskodni, a fonál valahonnan a 100-ból indul, az nekem meg nem töltődik vmiért le.
Ha jól értem a gondod: a kbase egyik cikke épp erről szól, hogy az Excel97 egyik hibája ez, amit vázoltál:
begépelve, gombhoz kötve stb. a sajátfgv. megy - varázslóval nem. Azt is írták, miszerint a msoft tud a
hibáról és dolgoznak rajta. Ezen nem kell kajánul röhögni, mert volt szerencsém hasonlóhoz,
akkor 3 hónap után vissztértem egy más kbase id-hez és 3 megoldás volt, amivel a hiba megkerülhető.
> tudsz ajánlani nekem egy jó visualbasic könyvet, ami nem csak az utasítások szintaktikáját írja le?
www.appdev.com -on a nsvbadoc.exe és nsvbaexa.exe fájlok.
Kibontva nyomtatható pdf.
Van még valahol, de
- elfelejtettem hol,
- csak a cash-ből lehetett a pdf-t elővakarni
- ráadásul 1 fájl = 1 oldal
- nem volt nyomtatható
> Meg tudja nekem mondani valaki, hogy miért nem tudok megjeleníteni egy workbookban bizonyos munkalapokat?
> Az Unhide parancs ki sem listázza a munkalapok neveit, pedig tudom hogy ott lapulnak, és vigyorogva figyelnek,
> hogy elérem-e őket. Valaki?
Valaki nagyyon elrejtette őket a csak makróból elérhető
Worksheets("elRejtett").Visible = xlVeryHidden
paranccsal. Állitsd át True -ra egy sub -bal. (Ha nem jelszóval védett)
>Adva van egy adatbázis és én az AB.Átlag fg-t úgy szeretném használni,
>hogy az egyik érték mezőből csak azokat az adatokat átlagolja,
>amelyek beviteli dátuma (ezt én megadom) két meghatározott dátum közé esik.
>A szűrés funkciót most hagyjuk, más megoldás kéne.
Én tömbképlettel ajánlom, esetleg a tartományokat adhatsz még nevet is és tök univerzális lesz.
A dátum értékek legyenek pl. B5:B9, az átlagolandó C5:C9
A kritérium-dátumokat én betenném pl E5, F5-re (nyomtatási területen kívül)
az átlag:
{=(SZUM((C5:C9)*(B5:B9>E5)*(B5:B9E5)*(B5:B9ahol
{=(SZUM((C5:C9)*(B5:B9>E5)*(B5:B9 {=(SZUM(1*(B5:B9>E5)*(B5:B9
Sziasztok
nem gond az angol, sot a nemet sem, bar gondolom a mertekado munkak angolul vannak.
Mindkettot meg fogom nezni, koszonom szepen a tippeket.
En nem vagyok informatikus (bar most tanulok), befektetesi teruleten dolgozom, de a munkamhoz most mindenfele adatbazisokat es lekerdezeseket kell kidolgoznom es accesshez plane nem ertek, ezert excelben probalkozom.
Jó VBA könyv:
Kovalcsik Géza: Excel 97 programozása.
A múltkor írtam, hogy a magyar és az angol Excel kompatibilis.
Az 5-ösnél előfordult az alábbi eset:
Angol Excelben területet "Database"-nak elenvezve a magyar Excel automatikusan átnevezi "Adatbázis"-nak.
Ez eddig OK volna, azonban ha valaki kimutatást csinált az angol Excelben (Database-ra hivatkozva), akkor a magyarban is Database-ra keresi az adatokat (ami ugye nincs).
A későbbi verzióknál nem próbáltam, de nem kizárt, hogy megvan még a hiba!
sajnos én nem tudok ajánlani VB könyvet, nekem mikor először volt rá szükségem, akkor segítőkész kollégák kéznél voltak és elmagyarázták az alapokat ez többet ért bármilyen könyvnél, azóta pedig nagyjából a help-ből élek, jelenlegi munkáimhoz ez elég. De vannak itt nagy spillerek, akik biztos tudnak segíteni.
köszi az okítást, megy a dolog.
nem tudtam, hogy így lehet egy mezőhöz több feltételt rendelni, én azzal próbálkoztam, hogy valami függény segítségével "között"-et csináljak egy cellában.
tudsz ajánlani nekem egy jó visualbasic könyvet, ami nem csak az utasítások szintaktikáját írja le?
a francba ! ez a genya kiszedte a sok space-t, amivel olyan nagy műgonddal próbáltam egy excel sheetet megformázni... így most egy csak szép space delimited táblát kaptál :)))
a megoldás egyszerű ! csak nehéz lesz leírni, de megpróbálom:
mondjuk ez a táblád:
A B C D
1 dátum értékek
2 2001.01.30 600
3 2001.01.20 300
4 2001.01.25 400
5 2001.01.22 500
gondolom ebből csináltál egy adabázist,
- azaz jelöljük ki a táblázatot A1:B5
- nevezzük el mondjuk database-nek
és akkor a feleadat: átlagoljuk az értékek mezőben lévő számokat, amik mellett a dátum 2001.01.20 és 2001.01.22 közé esik
ehhez először egészítsük ki a táblázatot a feltételekkel:
A B C D
1 dátum értékek dátum dátum
2 2001.01.30 600 >=2001.01.20 <=2001.01.22
3 2001.01.20 300
4 2001.01.25 400
5 2001.01.22 500
majd kérjük a feladat eredményét pl. a C5 cellába, azaz írjuk be oda a következő függvényt:
=DAVERAGE(database,"értékek",C1:D2)
de működik így is:
=DAVERAGE(A1:B5,"értékek",C1:D2)
Mindent pontosan így írj be, ne felejtsd le az idézőjeleket,
ha magyar exceled van használd az ABÁTLAG függvényt a DAVERAGE helyett,
esetleg használj pontosvesszőt a vessző helyett, ha a nemzetközi beállításaid így kívánják meg.
Na jó, tényleg nem szép megoldás, készséggel elismerem, de következetesen használva nem túl veszélyes. De nem is akarok erről meggyőzni senkit, akkor szoktam rá, amikor még alig tudtam néhány függvényt, és ezt minden esetre rá tudtam húzni. Csak arra kell figyelni, hogy mindig kapcsold ki, mert különben tényleg megkavar. Volt nekem több ezer soros kódom is ezzel a megoldással, működött is. De az biztos, hogy nem tankönyvi (jó) példa. Ha az ember maga tanul programozni, akkor előfordulnak ilyenek. Engem senki sem tanított soha, ezt néha hiányolom is.
Sziasztok!
Egy kis segítségre lenne szükségem egy gurutól.
Adva van egy adatbázis és én az AB.Átlag fg-t úgy szeretném használni, hogy az egyik érték mezőből csak azokat az adatokat átlagolja, amelyek beviteli dátuma (ezt én megadom) két meghatározott dátum közé esik. A szűrés funkciót most hagyjuk, más megoldás kéne.
előre is köszi
kaszi
"És tényleg javaslom mindenkinek, hogy a fárasztó ellenőrzések helyett egyszerűen kényszerítse az Excelt egy hibára. Sokkal rövidebb a kód, és az ellenőrzések már valahol úgyis le vannak programozva."
Sőt függvényként is elérhetők, amik használatával nemcsak átláthatóbb, hanem egyszerűbb is lesz a programod: "if not IsNumeric" szerintem sokkal egyszerűbb, mint egy on error goto, ahonnan nem is tudsz visszatérni (hiszen nem tudod honnan ugrott oda a program). Szóval a fenti "megoldás" egy 8 soros függvényben elmegy, de egy-kétezer sornyi kódot nagyon megbonyolít...
Én nem azonosítottam a kivételkezelést a GOTO használatával, csak mint egy megfelelő eszközt említettem, de amint látszik, más sem feltétlenül gondolja, hogy ez hülyeség. Ez csak azt mutatja, hogy egy feladatra többféle megoldás létezik, de ez a szép. Én sem sokszor használom, de néha pont azért, mert TUDOM, hogy nem akarok oda visszalépni. Az én megoldásom az Excel példánál egyébként éppen nem az Excel hibájára épít, mivel a hibát én generálom, a függvény nem hibát ad vissza, hanem 0-t, ha nem találja a keresett értéket, de egy tömb nulladik cellájára hivatkozás már hibát ad, mivel az Excel 1-től számozza azokat. Ezt a trükköt szoktam használni, ha lusta vagyok mindenféle ellenőrzést végezni. Például ha nem akarom ellenőrizni, hogy egy cellába számot írtak-e be, akkor egyszerűen szorzom kettővel, és ha hibaüzenetet kapok, akkor nem szám van a cellában. Nem feltétlenül elegáns megoldás, de baromi praktikus minden bevitelellenőrzésnél.
És már harmadszor is le kell írnom, hogy a VBA NEM ad választási lehetőséget a hibakezelésnél, mert csak az On Error Goto utasítást fogadja el. Szóval ha soha nem használnám a GOTO-t, itt akkor is azt kellene használnom, még ha le is köpném utána magamat érte. Ez van, ezt kell szeretni. Ezt, úgy tűnik, senki nem veszi figyelembe, amikor megró a használatáért.
És tényleg javaslom mindenkinek, hogy a fárasztó ellenőrzések helyett egyszerűen kényszerítse az Excelt egy hibára. Sokkal rövidebb a kód, és az ellenőrzések már valahol úgyis le vannak programozva.
Csodálkozva olvastam a GOTO vitát.Reszemröl csak egy megjegyzés:a VBA-ban, tehát mind az Excelben, Accesben a GOTO általánosan használva van. A hibakezelésnek szinte a leggyakrabban használt formája. Ha profi hibakezelést akarsz a procedúrádban, akkor nem tudod kikerülni a GOTO-t. Persze elég kötött a formai használata, és egyáltalán nem teszi átttekinthetetlenné a programot.
Természetesen a programozásban általában kerülni kell a GOTO használatát, de speciális esetekben, mint pl. a hibakezelés, a legjobb megoldás.
Ezen már túl vagyok, az volt az igazi probléma, hogy az A oszlopban szövegek vannak és igazándiból csak szövegrészletre kellett volna keresni, de ezt nem tudtam elővarázsolni belőle. Úgyhogy kicsit megbontottam az excelt. Alapvetően a kitöltést kell megváltoztatni - ha hegy nem megy Mohamedhez...
Most újabb problémával szembesültem de ezt egyelőre még megfogalmazni is csak nehezen tudom, annyira durva (nekem).
Mindenesetre köszönöm a segítséget, most ilyen függvény dógozik, de ezt még ezerszeresen bonyolítani kell - hiába a kapitalisták mindent tudni akarnak :(
Tegyük fel, hogy az A1 cellában van a szöveg, amit keresel és, ha az megfelel a feltételnek, akkor a B1 cella az, amit ki kéne íratni:
=IF(A1="szöveg";B1;"")
ha az A1 cellában a "szöveg" van, akkor a B1 cella tartalmát írja ki, ha nem a "szöveg" van az A1-ben akkor pedig semmit: ""
szintaktikailag lehet, hogy a " jelek helyett ' jeleket a pontosvesszők helyett pedig sima vesszőket kell használnod. Ez a nemzetközi beállításoktól függ asszem.
szbandi,
szerintem valamit félreértettél: a goto használata és a kivétel kezelés nem azonos dolgok. Az ugró ugrások ciklus és elágazás helyetti használata nagyon megnehezíti egy programkód átláthatóságát (és így bővíthetőségét, javíthatóságát). A kivételek kezelése egy egészen más ügy: egy extra eset kezelését extra módon kell megoldani. (Egyébként a goto-t nem használó kivételkezelés is goto-ra épül, pl. C/C++-ban setjmp, longjump párosra.) Sajnos az Excel túl gyakran generál hibát, így a kód túl sok on error-t fog tartalmazni, de ez nem a kódoló hibája, hanem a nyelvé. (Nem értem miért kell egy sikertelen keresésnek egyből hibát adnia, beállíthatna egy globális notfound változót, vagy eljárás helyett függvényként visszaadhatná a sikerességet.)
Na jó, én részemről lezárom ezt a vitát, nem akartam meggyőzni senkit, csak az álláspontomat mondtam el. Azért megnyugtat, hogy nem csak én gondolkodom így, de tényleg semmi előítélet nincs bennem sem a goto-t használókkal sem a nem használókkal szemben. De azért egy dolgot még egyszer kiemelnék. A VBA nyelvben az általam használt
On Error Goto
utasítás működik, mert ennek EZ ÉS CSAK EZ a szintaktikája, teljesen függetlenül a Goto használatának helyességétől. Ha nem akarsz Goto-t használni, akor vagy leellenőrzöl minden egyes hibalehetőséget előre (van néhány), vagy letörlöd az Excelt a gépedről. Vagy fogadod a hibaüzeneteket, ami szintén fárasztó lehet. Mondom, ez független attól, hogy a Goto használata általában helyes vagy helytelen.
picike segítségre lenne szükségem, remélem itt megtalálom majd:
azt pontosan hogy is kell csinálni, hogy kiadjon nekem egy bizonyos cellában levő értéket akkor ha egy másik cellában egy előre meghatározott szöveg áll?
remélem érthető vagyok, márcsak azért is, mert ebből az következne, hogy én értem ;))
Az iskolák Goto-ellenes propagandája annyira sikeres volt, nekem mára sikerült teljesen elfelejtenem a használatát, de emléxem, pályafutásom hajnalán még előfordult, hogy Pascal-ban elejtettem egy-egy goto-t, ha hirtelen kellett megoldani valamit.
Szerintem belénknevelték, hogy aki goto-t használ az nem tud programozni, ezért mindenki fél, na nem a goto-tól közvetlenül, hanem, hogy pancsernak tartják miatta, stb.
Ma már én is furcsán néznék a kódra, ha egy goto-ba botlanék, de nem feltételezném az elkövetőről, hogy egy balfék.
pontosan en sem tudom miert nem szabad hasznalni, egyszeruen csak nem! Iskolaban mindenhol ezt tanitjak!
Ááááááááááááááááááááá........
A goto-val az a baj ? hogy nem struktúrált.
Namost akik nem a pascalon nőttek fel, pl. IBM mainfame, azok tesznek a tanitóbácsik struktúráltprogramozás előadásaira.
"1. Az igazi programozó nem fél a GOTO-tól.
4. Az igazi programozó önmódosító kódot ír - különösen akkor, ha meg bír vele spórolni 20 nanoszekundumot egy kis ciklus közepén."
A gond az, hogy igazi programozó nagyon kevés van és extrém esetektől eltekintve (nemzetközi űrállomás 386-os központi procival...) senkit nem érdekel a progi sebessége.
Fontosabb, hogy egy átlagos képességű kóder gyorsan feltalálja magát a kódban.
"A legtökösebb igazi programozók közül néhány a Jet Propulsion laborban dolgozik Kaliforniában. Sokan közülük fejbõl tudják a Voyager és a Pioneer ûrszondák operációs rendszerét."
éppen ezért írják a goto használatánál, hogy fokozott figyelmet kíván, és ha van jobb, akkor kerüljük el. Ezt így például a Borland helpje is írja, tehát elfogadják, hogy egyes esetekben szükséges lehet.
Nem tudok ilyenre peldat. A programozas, legalabbis szamomra ugy kezdoik, hogy atgondolom mit varok a programtol, _megtervezem_, majd elkezdek kodolni, tesztelek, javitok, goto: tesztelek :))) mig jo nem lesz. Szoval eleve ugy kell felepiteni a programot, hogy ne legyen benne goto. Ha valamiert bennehagytak, annak ezekutan szerintem csak olyan okai lehetnek, hogy azok, akik a hatarido utani pillanatban meg sehol sem tartanak, es rajottek hogy elhibaztak a program felepiteset, legyen egy ilyen eszkoz a kezukbe mint a goto, hogy legalabb annyira mukodokepes legyen a program, hogy lehessen mutatni belole valamit, anelkul, hogy az egesz program strukturajat ujratervezne, es lekodolna. Kivancsi lennek, hany profi programban van goto. Egyebkent hozza kell tennem, pontosan en sem tudom miert nem szabad hasznalni, egyszeruen csak nem! Iskolaban mindenhol ezt tanitjak! Meg fogom tudni.
Aki ezt a hibát még nem követte el. az nem mond igazat.
lolka_bolka
Teljesen igazad van (bár a példád és a goto használata között van némi különbség szerintem, de miért pont ez a hasonlat ne sántítana), éppen ezért írják a goto használatánál, hogy fokozott figyelmet kíván, és ha van jobb, akkor kerüljük el. Ezt így például a Borland helpje is írja, tehát elfogadják, hogy egyes esetekben szükséges lehet. Előfordulhat, hogy ott is hozzá nem értők ülnek? Ezt már sokan megállapították a különböző programozó cégekről, csoda, hogy fennmaradtak.
Mellékesen felhívnám arra a figyelmet, hogy a VBA ismeri az
On Error Goto
utasítást, míg az
On Error Call utasítás
beírása esetén sikítva tiltakozik. Lehet, hogy kimaradtak az első osztályból, ezzel sokan vádolják a MS programozóit, bár az Excel önmagában minden hibájukat elfeledteti velem néha.
Szóval nehéz olyan utasítást végrehajtatni egy programnyelvvel, amit nem ismer.
Direkt nem írtam le, de hát legalább égek egy kicsit.
Mivel az én gépemen volt már tart_keres függvény, automatikusan kijavítottam tart_keres2 függvényre, amit aztán nem vezettem következetesen végig a függvényben.
Meg lehet ugy is, hogy
for ($i=1;$i++) {print("Hello $i\n")}
Az egyik szaz sor, a masik 1, mind a ketto mukodik. Az elsot nem hasznaljuk, a masodikat igen. Pl elkezdes futtatni egy procedurat, ahol mindenfele memoriakat foglalsz le, kulonbozo processeknek, kigoto -zol belole, oszt nem ter vissza... A memoriak meg ott maradnak lefoglalva, mert ugyan te megirtad, hogy a felszabadito rutinokat, de sosem jutott el odaig, mert a goto utan olyan feltetelek teljesultek, ami miatt leallt a program.
Termeszetesen ez akkor is igaz lehet, ha nem hasznalsz goto -t, de szerintem erted mire akarok celozni...
A MS példáprogramokból sok ötletet ki lehet szedni, de sosem a programozási szépségükről voltak híresek, legyenek Basic, VBA vagy C/C++ kódok. Valószínűleg nem programozóknak írják őket (és valószínűleg nem programozók írják őket, bár szerintem a MS programokat sem programozók készítik :-).
Ebben van valami, bár én öregebb lehetek, mert nekem még a goto-t is alaposan megtanították. Hibakezelésnél szoktam használni, mert már nem akarok ahhoz a sorhoz visszamenni, egyébként ezt a megoldást a VBA help-ből szedtem ki még annak idején, én mosom kezeimet mint Pilátus, eddig mindig működött így. Azt nem tanítják egyébként, hogy akkor miért hagyják benne minden programnyelvben? A kérdés komoly, mert tényleg nem értem, olyan, mint ha a szakadékba vezető utat nem lezárnák, csak azt kiírnák, hogy ejnye-bejnye. Vagy nem is szakadék? Egyébként lényegtelen, de azért kösz. Én csak a problémák megoldására koncentrálok, a finomítást meghagyom a tanultaknak hahaha
Nos, megtaláltam a 'visible'-t, de a projekt tallózóban ezek a lapok a 'Modules' alatt vannak felsorolva, és nem az 'Excel Objects' között, a többi rendes oldallal. Ezeknek viszont nincs a Properties ablakában semmi, csak a neve. Lehet hogy ezek a module-ok nem munkalapok, viszont akkor ugyanaz a nevük mint a munkalapoknak, amiket szeretnék előcsiholni. Ötlet?
A project tallózót (is) Excel 2000-ben az Alt+F11 (Eszközök - Makró - Visual Basic) gombal aktiválhatod, akkor megjelenik a project tallózó. A properties részben ha nem látod akkor F4 (View - Properties Window) megtalálod a Visable tulajdonságot.
OFF - Flame
Igazan nem akarok kotekedni, de mar altalanos iskola elso osztalyaban tanitjak, hogy a goto -t felejtsd el mint olyant.
Inkabb Call Hiba, majd Exit Sub
ON
Meg tudja nekem mondani valaki, hogy miért nem tudok megjeleníteni egy workbookban bizonyos munkalapokat? Az Unhide parancs ki sem listázza a munkalapok neveit, pedig tudom hogy ott lapulnak, és vigyorogva figyelnek, hogy elérem-e őket. Valaki?
Nekem megy mindenhogy, pedig semmi különleges beállításom nincs, éppen csak az Office2000 fut. A függvényt a Personal.xls-be írtam, bár gondolom, te is. Csak nem az lenne a baj, hogy nekem az Excel angol nyelvű, és a magyar kiakad ezen? Rejtély.
Csak most néztem be ebbe a topicba, és van egy javaslatom a 100. hozzászólás problémájához. Nekem működik. A ByRef használata Stringek esetén praktikus lehet, bár lehet, hogy az a default, ezt sajnos nem tudom. Ha nem az, akkor használd, mert gyorsabb lesz a futás.
Function tart_keres(terulet As Range, ByRef felso_sor As String, ByRef bal_oszlop As String)
Dim C, R As Integer
On Error GoTo hiba
C = WorksheetFunction.Match(felso_sor, terulet.Rows(1), 0)
R = WorksheetFunction.Match(bal_oszlop, terulet.Columns(1), 0)
tart_keres = terulet.Cells(R, C)
Exit Function
hiba:
On Error GoTo 0
tart_keres = "Érték nem található"
End Function
Bendeli: IMHO nem szar a McAffe csak az uninstallert kellet volna hanszalni. (Bar nem ertem, mert ha jol tudom, akkor az Add/Remove programs is ugyanazt az Uninstall -t inditja (?))
Milyen tipusu Compaq geped van egyebkent ?
Ha gondolod, en mint ACT szivesen osszeszedek neked egy kit -et, hogy egy reinstall ne legyen gond.
Az angol és a magyar verzió most már teljesen kompatibilis (4-es óta). A függvények belső azonosítóját nem látod, így például az IF függvény magyar verzióban HA-ként jelenik meg. Az angol Add-in-eket nyugodtan le lehet tölteni a magyar verziónál is, a legnagyobb probléma az lehet, hogy a függvények neve nem jelenik meg magyarul.
Ha a függvényvarázslóra kattintasz, akkor két lehetőséged van, az elsőt válaszd.
Az első paraméter a tartomány, ahol keres, esetünkben a B:B, de lehet B:C is, stb.
A második paraméter az a sornak a száma, ezt a G1 (ha a G1-ben 5 van, akkor az 5. sor szükséges).
A harmadik paraméter az oszlop szám, ez 1.
Most vetemedtem ide, egyszeruen ugy erzem, a helyzetem menthetetlen.. Legutoljara 7 eve Linux alatt C-ben programoztam, es most hetvegen kitalaltam egy egyszerusitem a dolgaimat, es excelben csinalok egy kis tablazatot.. minden megy, de egyszercsak elakadtam..
10 mindennapos excel hasznalot kerdeztem es azota nem tudnak megoldast a kerdesemre, ami olyan egyszeru hogy az mar nevetseges..
Szoval..
A1-be kellene masolni a B oszlopnak annyidik sorat, amekkora numerikus ertek szerepel a G1-ben.
Magyaran ha G1=5 akkor A1=B5 ...
Nem hiszem hogy nem lehet, egyszeruen hihetetlen, magyar es angol helpet is vegigolvastam de semmit se leltem..
Igen. :) Az Excel ugyanis nem programozóknak, hanem lámereknek készült, és a magyar lámer nem minden esetben tud angolul. Magyarul feltehetőleg többen. Egyébként az angol verziónak megvan az az előnye, hogy mindenféle add-in-t meg makrót le lehet tölteni, amik nagyon hasznosak tudnak lenni.
Én magam részéről az évek óta az angol nyelvű excel verziókat használom, de a múltkor segítenem kellett valakinek akinek a magyar nyelvű verzió volt.
Hát mit mondjak, ennyi bazzeg régen hagyta el a számat. Ennél nagyobb baromságot még az életben nem láttam, évtizedek óta nemzetközileg is ismert függvényeket, de tulajdonképpen programozás-technikai kulcsszavakat lefordítanak magyarra !!!
Nincs IF, OR, AND, hogy csak az legalapvetőbbeket említsem, helyette van HA, VAGY, ÉS
Aztán az olyanoktól is kiakadtam, mint pl az =ÁTLAG(B4:B20) remélem jól írtam.
Nem próbáltam ki, de megérti egyáltalán a magyar verzió az angollal íródott és függvényektől hemzsegő fájlokat ?
Valamint kiváncsi volnék a véleményetekre, szerintetek is ennyire elb.szott ötlet volt ezt magyarítani, vagy csak én gondolom így ?
Javaslom a download.com-ot: ott még sok egyéb okosság is van. Egyébként ashampoo.com. Meglepő? ;) Természetesen az winopt. a remek kis progi, a mcafee most fekete-listán van.
Szia bendeli!
Akkor mar azt is aruld el, hogy honnan lehet letolteni. En is kiprobalnam!
Ahhoz képest, hogy ingyen regisztrálhatod remek kis progi. Melyik? a mekafii, vagy az optimizer? ;o)
Nemcsak hogy kitisztítja a regfájlt, de a fölös .dll-eket, fájlokat, üres mappákat is letisztítja. Nagyon csecse, nekem 20+ megát szabadított fel első futtatásra, plusz legyilkolta a McAfee maradékait is! (Ezúton is mindenkit óvok a McAfee bármelyik alkalmazásától: egyszerűen nem lehet őket leszedni normálisan, és még az Exceledbe is belerondítanak...) Ahhoz képest, hogy ingyen regisztrálhatod remek kis progi.
A McAffee-vel nekem is voltak problémáim, lejárt a 30 napos próbaidő, állandóan regisztráltatni akarta magát. A saját Uninstallját lefuttattam, a progi eltűnt minden linkjével együtt, de a regisztráció igényét ottfelejtette! Nálam is csak a reinstall segített! :o(
Na igen, jobban tetted volna, ha a VirusScan sajat unsinstallerjet alkalmazod. Konkret progit nem ajanlok, mert en is ritkan kenyszerulok ilyesmire (nem ismerem oket csontig), de az origo szoftverbazison lattam ilyeneket, szerintem proszald ki oket. Vagy ha ott nem is, de a neten csillagaszati szamban talalhatoak ilyen segedprogramok.
tudorapo: Format-újrainstall verzió nálam nem játszik, mert Compaq terméket vettem, amire ugye gyárilag installálnak win-t, lemezt viszont nem adnak vele. Registry szintén nem játszik, nem vagyok én akkora játékos. (Akkora se.)
ControlDenied: a Control Panel Add/Remove Programs-al. Tudsz esetleg egy jó kis uninstallert, ami letakarítja ezt a ...-t? A McAffee-nek van egy ilyesmi progija, nem vagyok biztos abban, hogy próbálkozni akarok a termékeikkel ezek után. Bár lehet hogy működne, mert ők biztos tudják, hogy mivel lehet az egyszeri júzert szívatni...
Jellegzetesen nincsen megoldása. Azért lassult le mert a virscan próbálja ellenőrizni az összes makrót, és azért nem gyorsul fel, mert nem lehet rendesen leszedni a virscant. Ez az "öblös mélyrenyúló szopás" kategória. format c: windows install excel install. Vagy nekilátsz keresgélni a nyomait a mcafee-nek a registryben. Ez reménytelen. részvétem.
Feltettem a McAffee VirusScan-t a gépemre, ami nagyon csecse, de most egy Excel spreadsheet-em 15-20 tölt be. (Tele van makróval, de azelőtt pikk-pakk betöltődött.) Már leszettem ezt a g*ci VirusScan-t, de ettől még nem gyógyult meg az én kis excel fájlom. >:{ Tud valaki ötletet adni, hogy mit tehetnék?
hát sajnos nem jött be, de szerencsére végül a Novell filer-rel, vissza tudtam állítani az előző napi mentést, így hála égnek így nem veszett oda minden.
Javaslom a 73-as hozzászólásban leírtakat. Nekem már többször bejött (sajátomét nem, de másokét már előhoztam vele). Az a tapasztalatom, hogy általában ez az utolsó esély. Tehát ha ez működik, akkor még lehet mással próbálkozni (hogy a képletek és a formázás is megmaradjon), ha ez sem megy, akkor KO.
van egy excel file-om, amivel eddig semmi probléma nem volt, ma mikor másodszor akartam megnyitni az alábbi hibaüzenetet kapom:
" .xls cannot be accessed. The file may be read-only, or you may be trying to access a read-only loacation. Or, the server the document is stored on may be not responding. "
Na most a file nem read only az biztos, de readonly módban sem tudom megnyitni. A könyvtár ahol van szintén nem readonly, de akár át is másolhatom más könyvtárba, saját gépre, stb. ugyanezt a hibaüzenetet kapom. megpróbáltam átnevezni, úgyse megy. Gépet újraindítottam, másik gépről próbáltam megnyitni sikertelenül.
Ma mikor utoljára használtam, teljesen szabályosan elmentettem, majd kiléptem belőle.
Ezzel nem lehet sokat megspórolni, mert nem a tartományban kell keresni, hanem annak első sorában és első oszlopában.
Mindenesetre így működik. Egyébként ezt a funkciót egy átlagos felhasználó nem kapja meg könnyen:
Adott egy tartomány, amelyből az a cella kell, amelyiknek az első sorában található az "Ár" szó, míg az első oszlopban az "Alma". Sajnos ezt csak csak többszörösen összetett függvénnyel lehet visszakapni (az én függvényem nélkül).
Tudom ez a változat nem sokat segít (for ciklus ez is sajnos), de azért bemásolom:
Function Keresés(Tartomány As Object, Mit_keres As String)
Dim C As Variant
Dim Volt As Boolean
Volt = False
For Each C In Tartomány
If C.Value = Mit_keres Then
Keresés = C.Address
Volt = True
End If
Next C
If Not Volt Then
Keresés = False
End If
End Function
Konkrétan ezt akartam tisztességesen, for ciklus nélkül megcsinálni.
Tiba
Function tart_keres(terulet As Range, bal_oszlop As String, felso_sor As String)
sorszam = terulet.Rows.Count
oszlopszam = terulet.Columns.Count
For i = 1 To oszlopszam
If terulet.Cells(1, i) = felso_sor Then
oszlop = i
Exit For
Else
End If
Next
For j = 1 To sorszam
If terulet.Cells(j, 1) = bal_oszlop Then
sor = j
Exit For
Else
End If
Next
tart_keres = terulet.Cells(sor, oszlop)
End Function
Nem sajnos munkalapról indítva nekem sem müködik. Valami még hiányzik belőle! Jó lenne egy beépített függvény forráskód listája, mert szerintem csak egy (két) utasítás hiányzik ami visszaadná a cellába az értéket. Egyébként kipróbáltam a függvény végére beírni az "ActiveCell.Value = Keres2" sort, amit tesztelésnél bele is ír, de a függvény varázslóval nem megy (körkörös hivatkozás lesz). Szóval ha neked vagy valakinek lenne ilyen forráskódja szerintem annak segítségével argumentumokat is adhatnánk hozzá:
- mit keressen
- mely cellákban
és persze müködne is.
Legközelebb csak hétfőn lesz net-em addig is mindenkinek jó hétvégét!
A fene egye meg, munkalapról indítva így sem jó!!!
A tesztelésnél ok, ha a makrót indítom, visszaadja az értéket, de munkalapról nem megy: mindenképp False értéket ad vissza.
Neked megy munkalapról indítva is?(függvényvarázsló/felhasználói függvény/Keres2)
Sub Eredmény()
Dim Megfelelő As Variant
Megfelelő = Keres2
End Sub
Function Keres2()
Dim C As Variant
With Worksheets(1).Range("A1:IV65536")
Set C = .Find("g", LookIn:=xlValues, LookAt:=xlWhole)
If Not C Is Nothing Then
Keres2 = C.Address
Else
Keres2 = False
End If
End With
End Function
Function Keres()
Worksheets(1).Select
Cells.Find(What:="g", After:=ActiveCell, LookIn:= _
xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False).Activate
Keres = ActiveCell.Address
End Function
Sub Eredmény()
Dim Megfelelő As Variant
Megfelelő = Keres
End Sub
A Megfelelő változóban visszaadja azt a cellát amiben megtalálja a keresésnek megfelelő cella címét. Sajnos hibaüzenetet kapsz ha nincs ilyen, de 10 perc múlva kijavítom azt is.
Function Keres()
Worksheets(1).Select
Cells.Find(What:="g", After:=ActiveCell, LookIn:= _
xlValues, LookAt:=xlWhole, SearchOrder:=xlByRows, _
SearchDirection:=xlNext, MatchCase:=False).Activate
End Function
A DialogSheets párbeszédpanel problémám megoldódott, mert igazából nem tudtam hogy amíg a show metódus be nem fejeződik addíg hide metódus nem működik, ennek tudatában átszerkesztve a kódot már megy is.
Dim kereses As Range
Set kereses = ThisWorkbook.Worksheets(1).Cells.Find(What:="g")
Ennek eredménye az a cella, amelyben megtalálja a "g"-t. Ez eddig OK. Ha makróból indítom (Sub), akkor semmi baj, azonban ha Function-ból, akkor állandóan Nothing-gal tér vissza (mint a makróban, ha nem találja).
Üdv!
Pontosan mire gondolsz? Pl.:
Sheets("about").Visible = False
ugyebár az about nevű sheet (munkalap) oldalt rejti el, ami lehet dialog sheet is...
Ha nem erre gondoltál, bocsesz...
Hogyan lehet egy excel makróból párbeszédpanelt elrejteni, sajnos a "hide" metódus (aminek ez lenne a feladata) nem működik. A párbeszédpanelen egyébként négy nyomógomb van amihez makrók vannak társítva.
Start menü -> programok -> inditopult.
Megfogod az ikonját amit elakarsz inditani.
Ráhuzod start gomra ami megnyilik, és az inditópultra ráejted.
Angolban -> Startupnak hivják.
Bejött. Az utolsó sor, a 65536. sor. Az indítópultba? És az hol van? Gondolom ha minden gépen van ilyen, akkor minden gépen ugyanaz az elérési útvonal.
Sz.r ügy!
Én épp tegnap dobtam ki 1 floppyt, pedig nem az volt a vétkes, csak a betekintö-jelszót feledtem el. Egy 5 év elötti, abban meglevö képlet kellett volna. Így kénytelen voltam 3ó-n át újra magszerkeszteni.
:o(
Ha sokat kell gépelni, részvétem!
Azért próbáld meg egy O_97-es géppel megnyitni! Ha nem 2000-ként mentett, talán...???
Kedves mindenki!
Excelt hogyan lehet rávenni arra hogy amikor elindul a Windows 2000 professional, hogy autómatikusan elinduljon? Tudjátok melyik az utolsó sor az excelben?
Kipróbáltam, de sajnos ez sem jött be.
Amint megpróbáltam a fájl hivatkozást a sérült fájlra átírni, ismét a szokásos " a file írásvédett....nem érhető el" üzenet jött elő.
Jó eséllyel fizikailag sérült a fájlod.
A képleteket sajna nincs sok esélyed elővarázsolni, de az adatok nem lehetetlen.
1. Nyisd meg az Excelt
2. Nyissál új fájlt (két fájl legyen bennt)
3. A második fájl első munkalapjának A1-es cellájába hivatkozd be a másik fájl első munkalapjának A1-es celláját.
4. Az első fájlt mentsd le a sérült fájl mellé
5. Zárd be az első fájlt.
6. A második fájl hivatkozásában a fájlnevet javítsd ki a sérült fájl nevére
7. Előjön egy ablak, hogy melyik munkalapot szeretnéd, válaszd ki a megfelelőt.
8. Mentsd el a megnyitott fájlt.
9. Másold a képletet ($ nem kell!) jobbra, lefelé
10. Időnként mentsél, mert ha a sérült részre ér, akkor beköszön Dr. Watson.
Nem hálózaton van a file , nem is a C:\ -n, hanem egy második winchesteren (D:\ ). A gond az, hogy másolni sem hagyja magát, így nem tudom kipróbálni a C:\ -ről való megnyitást.
Képletek nem létfontosságúak, de az adatok viszont mindenképpen kellenének.
A C:-on is hasonló, ha többprofilú a gép. és csak olvasási joggal léhetsz bele.
Legegyszerübb, ha saját i/o teljesjogú mappádba átkopizva, nyitod meg, és míg látod a számokat, kérsz egy "mentést másként" ahol kigyapálhatod a védelmét, és új néven elmented!
Ha hálózaton van, és már használtad az anyagot, dolgoztál benne, verd orrba a rendszergazdát!
Nem!
A biztonsági másolat ugyanis úgy készül, hogy a megnyitott, eredeti verziót más (*.xlk) kiterjesztéssel látja el, semmilyen filemozgatás nem történik.
Ha nem teccik ahol van használd az intézöt!
2. Használj külön munkamappát, ahova "mentés másként utasítással külön meghatározhatod a mappát!
3. "Eszközök"... "Beállítások"... "Általános"__>>
Alján 3 csík küzül a "Munkakönyvtár: A pontos elérési útvonalat begépeled, leokézod, és indítsd újra az excell-t!
A következő probléma megoldásában kérném a segítségeteket. Van egy pár Excel (office 2000 féle) file-om amely pár megnyitás után úgy döntött, hogy ő többé nem lesz megnyitható. Azt írja ki a drága, hogy írásvédett, másolni sem lehet mert ugyanúgy azt írja, hogy hagyjam őt békén mert írásvédett.
Természetesen megnéztem a file tulajdonságait, aholis az archive ki volt pipálva, de ezt megszüntetve sem lett megnyitható a file.
Miután elég fontos adatok vannak ezekben a file-okban jó lenne ha tudnátok segíteni.
hali !
tudna nekem valaki segíteni abban, hogy az excel biztonsági másolatait oda mentse ahová én akarom, ne oda ahonnan megnyitottam (office97)
köszi mckenny
Kérlek segítsetek nekem.
Egy excel sheetre kéne belinkelnem (Get external data...) egy Access mdb-ben lévő query eredményét, namost a linkelésnél kiválaszthatom a táblákat és a query-ket is egyaránt, de a kettő közül sikeresen csak a táblákat tudja linkelni a queryket nem, a "can't access table " hibaüzenettel elszáll. Keressek más megoldást ?
Hi!
Egy Excel makróból szeretnék átmérő jelet írni egy munkalapra, ami eddig sajnos még nem jött össze.
Tudna valaki segíteni?
Üdv
Tomathos
_____________________________________
Kedves Tomathos!
A megoldás:
Sub atmerorajzolas()
Cells(3, 2) = Chr(198)
Cells(3, 2).Font.Name = "Symbol"
End Sub
MMiMR!
Az nagyon klassz lenne ha én is tudnék autóversenyezni, mert az jobb. Ugyanis nálunk egy fasza repülőszimulátorjáték van, és ha az egérkét fordítod, akkor arra fordulunk, ha a bal gombbal klikkelsz akkor növexik a sebességed előre, ha a jobbal, akkor hátra növexik a sebességed. Oda kell repülni egy táblához, ami egy nagy monitor, és mint a Star Wars elején repülnek a nevek (igaz: a Star Wars elején a filmről volt szó és nem nevekről), méghozzá az Excel programozóinak a nevei. Esc=kilépés
Ezt is a súgóba találtam úgy hogy én biztos nem tudom a megoldást.:-(
Üdv:mmimr
(27 hozzászólásom megoldodott.
Külső adattartomány tilajdonságanál.
Ha az adattartomány sorainak száma változik frissitéskor:->Meglévő cellák felülírása az új adatokkal, nem használt cellák törlése)
Ezzel már próbálkoztam, de nem nyújt arra megoldást, ha pl. hálózat miatt nem tudja elindítani a nyomtatót. Pl. ha a laptop úton van, akkor kéne tudni a programnak, hogy nem tud nyomtatni.
MMIMR! (azzal a ''nagyon megjegyezhető'' felhasználóneveddel)
Az már az életben nem fog úgy működni, ha excel 2000-resed van, mert a dolog a 97-es verzióra készült (bocs, elfelejtettem mondani(írni)). Kételkedem én abban, hogy te most ugyanazt a yó yátékot indítottad el, amit mi is a joyyal. Nekem excel 97-es verzióm van, tehát, nekem meg a te yóyátékod nem fog működni.
Mivan JOY? Ez most hogy jön az én pofázmányomhoz? (mert hogy alul én voltam az előzmény.) És te meg mért hozzám beszélsz olyat ami másnak is szólna. (szintén alulról.) ez pl mit jelent::o)
Na erre nálam nem történik semmi!(Office 2000/Excel)
Na de erre.
DirectX kell.
Excell elinditani.(2000-nél mükszik)
->File menü,
->mentés weblapkénk
->közzététel
->interaktív változat kipipálni
->Weblap megnyítása böngészővel kipipálni
->közzététel
->ekkor megnyilik az Iexplorerben
->lelapozni 2000 sorig
->kijelölni az egész 2000 sort
->tab billyentyűvel ráállni a WC oszlopra
->egyszere megnyomni a Shift+Ctrl+Alt billentyűket
->aztán klikk az office logo bal felső sarkára
:o)
De.
Föként, ha pötyögés közben kedves kollegám nem nyomja ki a NumLock-ot...
Én meg persze nem titkárnö vagyok, az ujjaimat nézem, nem a monitort...
:o)
Hol volt hol nem volt, még az Operációs rendszeren is túl, volt egyszer az Office, és annak excele. Ez volt a Microsoft Excel 97. Ebben volt egy rejtett játék, de a királyafi (Bill Gates) erről nem nyilatkozott. De az annál is okosabb, és ügyesebb ÉN, megmondta. Mindenki azóta úgy bánik vele, mint egy 20.000 Ft-s 3D-s játékkal, ami nem baj (végülis ha ez neki yó...?). Én aztán fórumokon terjesztgette az információt, és mindenki tudomást szerezhet róla. ÉN és az excel addig éltek, amíg meg nem haltak (sajnos még nem haltak meg).
Importáláskor gyakori, hogy a cellatartalom formátuma "képletröl" "szövegre" vált anélkül, hogy ennek látható nyoma lenne!
Sajnos eceket a cellákat újra kell írni!
Tiba köszönöm.
Szilveszter után az első munkanapján az évezrednek :-( úgy tűnik működik.
Bár nem értem hogy bizonyos cellákban az egyik matematikai műveletet miért tudja végrehajtani, a másikat meg miért nem.
Egyébként boldog újévet mindenkinek. :-))
Mondj nekem valami olyan programot, vagy operációs rendszert, amit sok idő használata után sem tudtál megunni! Még a Wörddel tudok egy flippereset, de az még nekem sem vált be, pedig ráment egy délutánom, ezt is meguntam, (azzal a fagyi Windowssal meg pláne), úgyhogy így fejből csak az exceleset tudom. (azt a yó yátékot is meg lehet benne unni, de én még nem untam meg, mivel csak tudok róla, és terjesztgetem, hogy mások is mosolyogjanag rajta egy jóízűt.)
1. Próbáld importálás után a teljes lapot kijelölve újra cellaformázni és kéttizedes számmá alakíttatni! Ahol nem jelenik meg a ,00 a cellatartalom karakter, nem szám, újra be kell írni! Sajna eléggé gyakran fordul elö föként DBF-nél!
Ha ráállsz a kérdéses cellára, belekattintasz a szerkesztösorba a szöveget !karakternként! kijelölve külön-külön lehet formázni, a jobbgomb-helyi menü cellaformázásával!
Ha tudni akarod az excel programozóinak a nevét, vagy csak látni akarsz valami kis hülyeséget, akkor nyiss meg egy üres táblázatot és nyomd meg az f5 billentyűt, és írd be: x97:l97, és nyomd meg az entert. Nyomd meg a TAB gombot. Ezt követőleg nyomd meg a CTRL gombot, és a SHIFT gombot egyszerre, (és e-közben) kattints a diagram-varázslóra, és lásd meg a következményt. Ez főleg azoknak szól akik, a Petőfi-csarnokban vették félpénzért, és igen csak lenézik az Excelt.
becker a hacker
A megoldás nagyon egyszerű, Advanced Excel Password Recovery.
Letölthető, bármelyik kereső megtalálja neked.
Ugyanígy van wordhöz, accesshez, stb.
Nekem is van egy kérdésem, ez pedig a következő:
Hogyan lehet azt beállítani egy sornál vagy oszlopnál, hogyha görgetem a képernyőt, akkor is mindig látszódjon. Ez főleg címsoroknál hasznos.
Valamikor már sikerült megcsinálnom, de már nem tudom, hogy hogyan.
Excel fájlaim egy részét jelszavaztam (sajnos), s most nem tudom őket megnyitni mert elfeljtettem a jelszót/jelszavakat.
Állandóan hadilábon állok a kódokkal (bankkártya,telefon,internet stb.),legjobb lenne ha mindenütt ugyanazt tudnám használni s akkor nem lenne a mostani gondom se.
Kérem ha valaki tud segítsen !! Köszönöm !!
Excel fájlaim egy részét jelszavaztam (sajnos), s most nem tudom őket megnyitni mert elfeljtettem a jelszót/jelszavakat.
Állandóan hadilábon állok a kódokkal (bankkártya,telefon,internet stb.),legjobb lenne ha mindenütt ugyanazt tudnám használni s akkor nem lenne a mostani gondom se.
Kérem ha valaki tud segítsen !! Köszönöm !!
Nekem is problémám volna, amit nem tudok megoldani (mert nem értem mi a baj).
Az adott munkalapban van négy oszlop, ami egy számokból álló beolvasott szövegfájl.
Ezeket négy DARABTELI függvény átnézi fixen a munkalapban lévő négy oszlop számaival.
Egy SZUM függvény pedig összeadja hogy mennyi az egyezés.
No de ha frissítem a beolvasást, az utolsó DARABTELI függvény átugrik az utolsó sorra.
Az előtte lévő sor pedig függvény nélkül marad.
Segítség :-(
Egy másik programban leválogatott adatbázist szeretnék további feldolgozás céljából az EXCEL-be importálni, ami sikerül is ,de bizonyos cellák tartalmát "sum"-ban nem veszi figyelembe, pedig a mező formátuma numerikus. Érdekes módon ha az összes cellát két tizedes formátumra átállítom, ezek végén nem jelenik meg a ,00. Ha a hibásnak vélt cellára állva a szerkesztőlécbe kattintok és vissza, az eddig hibásan végzett műveletet ettől kezdve jól csinálja. Ez is megoldás, de egy nagyméretű táblázatot cellánként átnézni elég macerás.
ha valaki tud megoldást kérem segítsen
Van egy kis problémám, meg egy makróm egy munkafüzetben.
És nem szeretnék egyebet, mint hogy őfelsége automatikusan lefusson, ha megnyitom-e munkafüzetet.
Köszi a segitséget, már megoldtam a problémákat. Feltételes formázást ismerem, én csak azt szerettem volna tudni, hogy képlettel lehet-e variálni, de ahogyan látom nem nagyon...
Jó ez a Pivot Table. Kicsit rakoncátlan, de ha szenvedsz vele eleget, meghálálja...
Köszönöm mindenkinek a segitségét, azt hiszem sikerült megoldani ezzel a pivot-table-vel. Nem is tudtam, hogy ilyen van. Egyetlenegy dolog azért zavar, méghozzá az, hogy nem nagyon enged beleszolni a vegeredmenybe. Nem szúrhatok be bellákat, stb.
Azért még egy dologt megkérdeznék. Hogy a francba oldom meg, hogy a pivot table egyes celláira tudjak hivatkozni? Ugyanis most ha simán hivatkozok (pl =B12), akkor ha a pivot table-ben átlapozok mondjuk Péterről Lajosra, akkor a hivatkozás nem marad Péternél, hanem ezentúl az is Lajosra mutat. Kérdés tehát az, hogy van-e valamilyen megoldás arra, hogy a hivatkozás csak is egy-egy lapra/személyre legyen fikszálva.
A Pivot Table-nél jobb, programozásmentes megoldást nem fogsz találni (nem is biztos hogy kell), mint ahogy -méretéből adódóan- igazán kis, egyszerű VBA leírást sem. Ami használható (és ingyenes): az Excel saját helpje (mármint amit a makróeditorból (bocsánat mostmár 'Visual Basic Editor') hívhatsz fel. A magyart nem sokat olvastam, de az angol egészen részletes és érthető. (Az Office 2000-nél defaultban nem telepítődik!) Ha mégis megpróbálkozol vele: kezdj egy sort-tal, majd 6 sorban megoldható a kívánt törlés.
Na emberek, ezen gondolkozzatok, nem lesz könnyű szvsz.
Adott egy táblázat Excelben, ami több oszlopból áll, valahogy kb. így:
Józsi Nyírfa u. 1 1234 stb.
Kinga Nyírfa u. 2 2344 ...
Péter Tölgy u. 3 3456 ...
Józsi Tölgy u. 6 4567 ...
Tehát egy adott emberhez több cím is tartozik. Ebből szeretnék Generálni egy ilyen táblát:
JÓZSI
-----
Nyírfa u. 1 1234 stb
Tölgy u. 6 4567 stb
Na most ez idáig sikerült is, csak a gond az, hogy eléggé manuálisan. Ugyanis azt szeretném, hogyha hozzáadok egy új címet, amit mondjuk Józsihoz rendeltem, akkor az meg is jelenjen Józsi neve alatt.
Nem vagyok biztos benne, hogy egyáltalán meg lehet ezt csinálni Excelben (lehet, hogy csak Access-ben lehet). Segítsetek, hátha több fej rájön a megoldásra.
A keplet az A1-es cellaban magyarul:
=SZUM(Munka1:Munka2!A1)
angolul
=sum(Munka1:Munka2!A1)
Az eredmény: a Munka1 és Munka2 sheetek közötti _összes_ munkalap (beleértve a Munka1 és Munka2 munkalapokat is) értéke szerepel.
Ha a munkalapok közul kiveszel egyet, vagy hozzáraksz egyet, a képlet eredménye automatikusan változik
Magatol nem megy a dolog, kell ra irni egy kis VBA progit, meg mondjuk egy gombot elhelyezni a munkalapon ami lefuttatja a progit. Egyszeru esetben csak egy meglevo diagram parametereit valtoztatod meg, bonyolultabb esetben akar az egesz diagramot programbol hozhatod letre. Az is megoldhato, hogy ha megvaltoztatod a cella erteket, ahol az intervallumot adod meg, automatikusan modositsa a diagram tengelyenek parametereit.
VBA rulez!!!
Mért ne lehetne?
Ugyanúgy "elmutogatod" neki, mintha ugyanazon a munkalapon lenne. Beírni is lehet, csak akkor azt is be kell írni, melyik munkalapról kéred az adatot. Pl.: =munka!1A1+munka2!B3
PopSimon2
Kéremszépen a hozzáértő olvasók mondják meg nekem, hogy különböző munkalapok egy egy celláját lehet -e összeadni (kivonni, szorozni, stb) 3. munkalap valamely cellálába.
Nekem is az Excellel van gondom. Nemileg mas, mint a topicnyito kerdes, de minek nyissak uj topicot. Szoval az a problema, hogy hogyan lehet azt elerni, hogy egy xy grafikon x es y adat tartomanyat ne fixen kelljen megadni, hanem masik cellabol szedje a tartomanyt. Remelem erthetoen irom, pl az a1 cella tartalmazza a tartomany elso elemenek sorat, az a2 az oszlopat, a3 a tartomany vegenek sorat, a4 pedig az oszlopat es en az ezek altal meghatarozott reszt akarom abrazolni, de ezek a cellak mas cellaktol fugghetnek. Szoval indirekt hivatkozas kellene grafikonhoz, tovabba ugyanez kellene fuggvenyeknel is (konkretan az adatbanyaszo fuggvenyekre gondolok, mint pl hol.van stb (sajnos magyar az excel)).
Nyiss két új munkafüzetet!
Az első fájl első munkalapjának A1-es cellájába hivatkozd be a a másik fájl első munkalapjának A1-es celláját!
A második fájlt mentsd el lehetőleg oda, ahol a sérült fájl található.
A hivatkozáson javítsd ki a fájlnevet a sérült fájlra. Ha a munkalap neve más, úgy azt is kijavíthatod (ha nem javitod ki, ugy automatikusan az első munkalapra fog mutatni)
Ha nem tudod, hogy a másik fájlban hogy hívják a munkalapot (a második munkalaptól érdekes igazán), akkor ehelyett az szerkesztés/csatolások menüpontot válaszd (edit/links), majd a cél megváltoztatását. Ekkor választhatsz a munkalapok közül.
Miután megvan az első cella értéke, a "$"-okat vedd ki a képletből, és másold le a képletetet, ameddig gondolod.
Minden munkalappal tedd meg ezt.
Nem vagyok igazi Excel szakértő, de úgy gondolom
hogy mivel mindegyik Excel verzióban változtattak valamit az adatformátumon.
Megpróbálnám különböző verziókkal megnyitni, de leginkább a legfrisebb office 2000-el.
(Az office 2000-nél is állithatók különböző kompatibilitási tulajdonságok. Vagy lehet hogy a telepitésnél szükséged van valamilyen konverterre.
Sziasztok!
Adott egy Excel file, de nem tudom megnyitni, mert tul sok eltero cellaformatum van benne. A file nagyon fontos lenne. Van valami otletetek, hogyan tudnam kinyitni vagy mi ilyenkor teendo?
Tools-Options-Custom Lists
Itt lehet definialni a magyar nap/honapneveket.
Datumbol lehet napot csinalni, ha megvaltoztatod a formazasat a cellanak mondjuk 'dddd'-re az angol Excelben. Ilyenkor marad a datum ta`rolva a cellaban, de a napot irja ki a kepernyore. A diagramban is lehet azthiszem kulon formatumot adni az ertekeknek. (Ilyenkor viszont asszem az aktualis orszagnyelvet hasznalja, de ez nem biztos.)
Há, sajnos a magyar nyelvű napok csak a magyar Excelben jelentkeznek egyszerűbben megoldható módon (beírom, hogy „hétfő”, és lehúzom a cella sarkán előtűnő kereszttel az alatta levő cellákra). Angol nyelvűben egyenként kell beírni, vagy angol napokkal kell megelégedned, bár elképzelhető, hogy van rá megoldás.
Végülis sikerült. Jó volt a kérdés, az automatikus dátumozással volt a baj.
(Chart options/Axis/Category X axis-nal kellet az automatic-ot category-ra atvaltanom.) Azt hogy csinálod, hogy a napok nevei jelennek meg? Nálam ilyen nincs. Csak a dátumot tudom mindenféle módon beírni. Ja és nekem angol nyelvű van.
Próbáld a munkanapok neveit beírni, nem fog megjelenni a szombat-vasárnap.
Mellesleg próbáltam előidézni a hibát, de nekem nem sikerült. (Nálad automatikus dátumok vannak?)
Tudja valaki hogyan lehet megcsinálni excelben a következőt. Adott egy táblázat, aminek az egyik oszlopa a munkanapok (workday). Ezt szeretném egy grafikonban az x tengelynek megtenni. Az a gond, hogy a grafikonon az összes nap hétfőtől vasárnapig megjelenik. Ötlet?