- Nem növel telepméretet a Galaxy S26 Ultra
- Poco X3 Pro - hardverfrissítés
- Xiaomi 15 - kicsi telefon nagy energiával
- Megjelent a Poco F7, eurós ára is van már
- Milyen GPS-t vegyek?
- Huawei P20 Pro - profit csinál minden fotósból
- Fotók, videók mobillal
- Honor 400 - és mégis mozog a kép
- Redmi Note 12 Pro - nem tolták túl
- Milyen okostelefont vegyek?
-
Mobilarena
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Grodd
tag
válasz
thomas50.000 #30812 üzenetére
Alapból nem lehet (VBA nélkül), de van rá egy trükk:
Állítsd be a vastag szegélyt alapértelmezettnek az egész kérdéses tartományra, és utána csinálj egy feltételes formázást, ami ezt eltávolítja ezt a vastag szegélyt az eredeti feltételed negáltját megadva feltételként.
-
Grodd
tag
válasz
spsalvia #30663 üzenetére
Látni kéne azt az excel filet, amit az a bizonyos saját fejlesztésű alkalmazás generál. Ha felnyomod valahova, megnézhetem, mi a gond.
De az szinte biztos, hogy nem a verzióváltással van a gond.
Valószínűleg bugos az a bizonyos saját fejlesztésű alkalmazás, amit úgy "oldottak meg", hogy az \XLSTART mappában elhelyeztek valamit az Excel 2010-es felhaszálóknál, amit a 2013-asnál elfelejtettek megtenni.Hogy hol van a start folder, az sok mindentől függhet, a legegyszerűbben úgy tudod megnézni, ha VBA-ban megnyitod az immediate ablakot (Ctrl-G), és beírod, hogy ?Application.StartupPath.
Nézd meg van-e az ezáltal kidobott folderben valami azoknál a usereknél, akiknél "minden jó". Ha van, akkor ugyanezt kellene elhelyezni azoknak a usereknek a STARTUP folderében, ahol gond van.
Azt is érdemes megnézni, hogy megegyeznek-e a területi beállítások. Ha mindkettő rendben van, akkor elvileg teljesen ugyanúgy kellene viselkedni az excel 2010-nek és a 2013-nak, de én akkor is inkább a bugos belső alkalmazást javítanám ki, vagy az adatforrást. -
Grodd
tag
válasz
szatocs1981 #30592 üzenetére
Environ("Username") lesz az
Az Application.Username az excelbe beállított felhasználónév (/ tools/options-ben) Ami ugye bármi lehet -
Grodd
tag
válasz
Delila_1 #30571 üzenetére
OK, igazad van, köszi az ötletet, nyitok valami ilyesmit, ahogy látom, ilyen még nincs. Csak még a címen tűnődök. Bár vizualizációhoz (PView-hoz, PMap-hez ) nem nagyon értek (sima diagrammokhoz se nagyon), de biztos lesz aki kisegít.
Azzal viszont vitatkoznék, hogy nem tartozik szorosan az excel témakörbe. Korábban valóban nem tartozott, de a 2016-os verziótól már más a helyzet. Persze kell még egy kis idő, amire a vállalatok többsége átáll rá. Ahhoz is kell idő, (és oktatás) amire a felhasználók godolkodása átáll az új paradigmára.
SQL-t viszont hiszem, hogy feltétlenül bele kéne kavarni ebbe az új topicba, mert az Excel 2016-nak pont az a lényege, hogy az egyszerű felhasználó is, összedobhasson bármilyen egyszerű vagy komplexebb lekérdezést bármilyen (akár sok különböző) adatforrások kombinálásával, (legyenek azok bármilyen formátumban, struktúrában) mindenféle különösebb informatikai képesítés, SQL vagy ODBC ismeret nélkül. Pont az a lényeg, hogy egyáltatlán ne kelljen SQL-ül tudnia a júzernek.
Nem véletlenül hivják Self Service (önkiszolgáló) BI-nek ezeket a megoldásokat. És végre valahára az excelbe is beintegrált egy ilyet. Most már bizony az excel topic témakörébe tatozik szorosan.
Korábban volt ugye a MS query, az is be van integrálva az excel-be, de azt még nem nevezném SSBI megoldásnak, mert azzal csak nagyon szimpla query-ket tudott egyszerű felhasználni összedobni (és még azt sem túl felhasználóbarát módon), komolyabb dolgok eléréséhez bizony bele kellett nyúlni az SQL kódba, ami nem várható el a felhasználóktól.
Még a PowerPivotot sem nevezném SSBI-nek, azzal is csak primitív, több táblából dolgozó pivotokat tudott egyszerű felhasználó összedobni, komolyabb dolgokhoz a DAX kódban kellett matatni, nem túl felhasználóbarát módon. Az első igazi SSBI a Microsofttól a PQuery (Excel 2016 Get&Transform)
Egyébként nem kell, hogy SQL server legyen az adatforrás, bár nagyvállalatoknál jellemzően az, de nyugodtan lehet akár az excelben tárolt adattáblából kiindulni, szövegfileból, xml-ből, access adatbázisból, weblapról, webes OData feed-ből, Acive Directory-ból, exchane serverről, azure-ból, vagy akár social network szolgáltatásból (Facebook és társai) adatot behúzni.
Szóval mi legyen a cím szerinted ? Excel 2016 topic? Azzal az a baj, hogy ezek az új funkciók 2010-re, 2013-ra is elérhetőek (igaz, azokhoz külön kell telepíteni a bővítményt) . Vagy Excel Next-Gen features topic ? Azt meg nem mindenki értené meg....
-
Grodd
tag
Azt elfelejtettem írni:
Gondolom ezt a chatlogot egy külső szöveges file-ból copy paste-eled be excelbe.
Ezt a lépést is megspórolhatod, ha nem táblából olvasod be az adatot, hanem a külső adatforrásból. És így ahogy frissül az adatforrás, úgy frissül a lekérdezésed is. Így elég az excelbe csak egy (a lekérdezést tartalmazó) munkalap,
-
Grodd
tag
válasz
Delila_1 #30567 üzenetére
Hát ha ilyen szép strukturált lenne az adatforrás, az tényleg ideális helyzet lenne ehhez a kétklikkes kis pivothoz de sajnos a chat-logok ritkán néznek ki ilyen szépen, ahogy az eredeti kérdésben szereplő kép is mutatja
Megolható persze pivottal az eredeti feladat is, (PQuery vagy Excel 2016 nélkül) , csak be kell hozzá vetni egy kis agyrém függvényezést is és egy segédoszlopot
-
Grodd
tag
válasz
hallgat #30560 üzenetére
Hát azért az olyan sztenderd Microsoft-os excel kiegészítőket, mint PowerQuery, PowerPivot általában vállalati környezetben is engedélyezni szokták, sőt, szerencsére ma már ezek alapból telepítve vannak a vállalati gépeken jobb helyeken (ahol még nem migráltak Office 365-re, vagy Office 2016-ra, mert azokba már alapból be van integrálni, nem kell semmit telepíteni)
Ha a PowerPivotot kiszemelted agadnak, és hízelegsz az érdekében, akkor már tetesd már fel egyúttal a PowerQuery-t is. Amit PPivotban meg lehet oldani, azt PQuery-ben is, csak sokkal szebben, gyorsabban, és egyszerűbben
Nomeg a PPivotot még 2013-ben és 2016-ban is külön kell telepíteni (igaz, Pro Plus csomagban benne van, de akkor is külön kell telepíteni a kiegészítőt) Sőt, 2013-tól PPivot csak Pro Plushoz érhető el, annál kisebb SKU-khoz még ingyenes letöltés formájában sem érhető el (csak Office 2010-hez)
a PowerQuery viszont már be van teljesen integrálva a mai excelbe (az összesbe, nem csak Pro-ba). Persze nagyvállalati környezetben előfordulhatnak bizonyos extrém esetek, amit PowerPivotban egyszerűbb megoldani, mint PQueryben, de az ritka, mint a fehér hollóHa makró is járható út , (azt hittem anélkül akarod/kell megoldani) akkor van más módja szerintem akár annak is, hogy beolvasd a range-ből egy tömbbe az adatokat, és ezt a tömböt kiírd egy sztringbe, amit aztán átadhatsz paraméterként a MS querynek.
Ha mégsem, akkor magát az SQL query-t magát szerkesztheted. Nem kell feltétlenül feltölteni a táblát az SQL serverre. Itt nézelődhetsz:
http://stackoverflow.com/questions/27385245/using-excel-vba-to-run-sql-query
-
Grodd
tag
válasz
Type-R #30561 üzenetére
1. =HAHIBA(VKERES($E4;INDIREKT("'Blatt "&OSZLOP()&"'!$B$5:$K$36");32;0);"0")
Amennyiben az első oszlopban szerepelt az eredeti képleted. Ha nem, akkor annyit adj hozzá az OSZLOP()-hoz, amennyi szükséges.
De megjegyzem, ilyesmit sokkal egyszerűbb, szebb és rugalmasabb lenne Excel 2016 Get&Transform -al (vagy powerqueryvel) csinálni
2. Védd le a munkalapot
3. Ha adatbázisból akarod, akkor Microsoft query-vel vagy PowerQuery-vel tudod megoldani. Ha egy excel listából akarod (szerintem erre gondoltál) akkor validációval (Adatérvényesítés) : Listából
-
Grodd
tag
válasz
#26467072 #30562 üzenetére
Excel 2016-ban ez sokkal egyszerűbb get&transform-mal, mint függvényekkel:
olvasd be a táblát, dobd el az üres sorokat, alakítsd dátummá, másold az oszlopot, a hibákat az új oszlopban cseréld null-ra, fill-up old (ha jól értelmezem, a dátum az üzenetek után jön, ha előttük, akkor nem fill-up, hanem fill-down), szűrd le az eredeti oszlopot az errorokra, és nyomj egy group by-t az új oszlopra. A lekérdezés mindig az üzenetek számát fogja mutatni dátumonként. (csak rá kell refreshelned)
Feltöltöttem ide (Ha 2016-nál korábbi az excel, akkor kell hozzá PowerQuery bővítmény):
(Meg lehet csinálni függvényekkel vagy és/vagy pivottal is de így esokkal logikusabb, átláthatóbb, felhasználóbarátabb és egyszerűbb. )
-
Grodd
tag
Helyesbítek: nem tömböt nem lehet átadni, hanem egy cellatartomány értékei által alkotott tömböt.
Sajnos ez komoly hiányossága az MS querynek, és nem lesz már megoldva soha, mivel a 2016 get&transform ot és a PowerQuery-t nyomatja a MS ezerrel, a MS queryt kispadra küldték. -
Grodd
tag
válasz
hallgat #30556 üzenetére
Igen, sajnos nagyon ismerös a probléma. Rengeteget szenvedt vele, mire rájöttem, hogy sajnos ez nem oldható meg MS queryben, mert nem lehet sehogy sem tömböt átadni paraméterként. Hidd el, tényleg nem lehet, rengeteg idöt elcsesztem vele, de nincs megoldás. Excel 2016 get&transform vagy korábbi excelben powerquery az egyetlen megoldás erre, ha érdekel, megírom.
-
Grodd
tag
válasz
Fferi50 #30534 üzenetére
Ez a megoldás csak akkor müködöképes, ha 1:1 adatkapcsolat van a két tábla között. Ha nem, akkor excel 2016-ban csak ôssze kell merge-elni a két táblát. ( egy-két egérklikk). Ha korábbi excel, akkor powerquery kell hozzá, vagy MS query (utóbbi nem olyan szép megoldás, de alapból benne van a régebbi excelekben is)
Helyesbítek: elolvasva alaposabban a feladatot: a vlookup semmiképp sem járható út, csak a powerquery (vagy excel 2016 get&transform) vagy ms query.
-
Grodd
tag
válasz
mindanee #30546 üzenetére
Szia, a munkafüzet - és lap- védelem arra szolgál, nehpgy véletlenül egy hozzá nem értő kéz felülírjon valamit akár véletlenül is, nem pedig arra, hogy idegen kéz számára elérhetetlenné tegyünk akármit is, mivel semmi titkosítást nem tartalmaz a megoldás, számtalan rendkívül egyszerű módon eltávolítható. Függetlenül attól, hogy milyen erősségű a jelszót (magyarul nem kell a jelszót "feltörni" a védelem eltávolításához) Nem kell 5-10 perc gúglizás hozzá, elég 30 másodperc egy átlagembernek (aki meg ismeri valamelyik módszert,annak ennyi sem)
Például lehetséges módszerek: hexaeditor, VBA macró, web-es "szolgáltatás" (nem javaslom), olyan külső alkalmazással (akár Google Docs-sal) való megnyitás, ami nem támogatja a MS munkafüzet és lapvédelmét.
-
Grodd
tag
válasz
Kal-El #30465 üzenetére
Szia,
Nem lehet ilyet csinálni. Igazság szerint nem is értem, hogy ennek mi értelme lehetne.
Azt megteheted, hogy egy adott szöveget jelezzen ki custom format-tal a cella (pl "9,5", függetlenül a cella értékétől)
Véges számú diszkrét értékek esetén azt is megteheted feltételes formázással - annyi formázási szabályt kell létrehoznod egyenként, ahány lehetséges diszkrét érték van - hogy mindig pl a cella értékének 0,95-el szorzott értéket jelezze ki.Pl megadod, hogy ha 10 a cella étéke, akkor "9,5" legyen, ha 5, akkor "4,75", és így tovább, de hangsúlyozom, az összes lwhwtséges diszkrét értékre létre kell hoznod a szabályt. Végtelen lehetőség esetében természetesen ez sem járható út. Függvény viszont, illetve a cella értékét váltózóként nem lehet custom formatnak átadni.
De mit szeretnél elérni ezzel az egésszel? Lehet, hogy van a célra más, működőképes módszer is.
-
Grodd
tag
válasz
Stanlee #30250 üzenetére
Szia, bár látom, már születtek már megoldások, de az ilyeneket a legelegánsabb szerintem Beolvásás és átalakítás (Get&Transform)-mal csinálni, így egy lépésben leautomatizálhatod az egész folyamatot.
- Olvasd be a csv-t,
- fűzd össze a dátumot és az időt, (ha a nyelvi beállításaid nem egyeznek a forrásfájl-lal, erőszakold meg (Using locale vagy "Nyelvterület használata" / angol ),
- hívd be az órákat a minimum dátumtól addig amíg akarod (45 napot mondtál, tehát 45*24 = 1080), ezt egyesítsd az csv-vel, és töltsd ki az adatokat fill down-nal vagy fill-uppal (attól függően, hogy szeretnéd, ezt nem írtad le a feladatleírásban: vagyis ha pl 10 óra 55 perckor 1020 az érték, 11 óra 05 perckor 1021, akkor mi legyen 11 órakor az érték? Ha a korábbi, akkor fill up, ha a későbbi, akkor fill down)
- unpivotold, mert úgy egyszerűbb vele bánni, magyarban ezt "Oszlopok elemi értékekre bontása"-ra fordítótták, és copyzd le a lekérdezést, amiben told el az idő egy órával (#duration), és ezd merge-eld (egyesítsd) az eredetivel. Csinálj egy különbséget a két értékből, és utána vissza is pivotolhatod (magyarban ezt "Forgatott oszlop"-nak nevezték el
)
És kész is (beállíthatsz rá rendszeres frissítést, vagy amit akarsz)
Feltöltöttem ide (csak a forrás csv-t kell lecserélned, és ráfrissíteni a lekérdezésre) :
Ide meg egy általam kreált csv-t (beolvastam a képedet OCR-ral, de egyszerűbb lett volna, ha inkább feltöltöd a template-et valahova
)
Csak meg kell adnod a logo.csv-d elérési útján a "logo" lekérdezésben a Forrás melleti kis fogaskerékre kattintva
Említetted, hogy még van más forrásból származó csv is, de ennek nem adtad meg a formátumát, de természetesen azt is bemerge-elheted ebbe, és végezhetsz vele akármilyen transzformációt.
(Ja, Excel 2016 kell hozzá vagy Office 365, ha korábbi exceled van, akkor szokás szerint PowerQuery bővítményt kell feltenni, de az ma már úgyis kötelező add-in a régebbi excelekhez
)
-
Grodd
tag
válasz
kaposznyak #30313 üzenetére
Most látom, hogy azt írtad "alulról felfelé"
Ha ez azt jelenti, hogy a legújabb mozgások vannak felül és a legrégiebbek alul, akkor értelemszerűen fortítsd meg a lefixálást:=SZUM(A1:A$10000)
Ha 10000 sorba belefér a dolog.
De teheted rugalmassá is, úgy, hogy ne számítson a sorrend, ha egy oszlopban ott van az időpont is , akkor SZUMHA-val megoldhatod így is:
Ha A-ban van az terhelés/jóváírás időpontja, B-ben az összeg, akkor C1-be írd ezt, és húzd le:
=SZUMHA(A:A;"<="&A1;B:B)
Így akárhogy lehet keverve a sorrend, az adott időpontban aktuális egyenleget fogja mutatni a C oszlop
-
Grodd
tag
válasz
kaposznyak #30309 üzenetére
nyjanos által említett görgetett összeget így hozhatod létre például , ha pl A oszlopban vannak az első sortól kezdve a terhelések/jóváírások, és B-be akarod a göngyölített összeget :
B1-be írd be:
=SZUM(A$1:A1)
És ezt a képletet húzd le. -
Grodd
tag
válasz
butch3r #30300 üzenetére
Szia, ez nem olyan kompex, mint ahogy gondolod, valójában egy igen szimpla lekérdezés, pár egérkattintás az egész
Többféleképpen meg lehet oldani, de a makró az az eszköz, ami nekem utoljára eszembe jutna)
Más eszközökkel sokkal egyszerűbb.
A két leginkább alkalmas a Microsoft Query vagy a PowerQuery.Utóbbi kulturáltabb, de vagy Excel 2016 kell hozzá, vagy Office 365, vagy Excel 2010-2013 mellé PowerQuery add-in (ingyenesen tölrthető a Microsoft oldaláról)
Microsoft Query-ben egy pár egérkattintással több, és ha teljesen rugalmasra és automatizáltra akarod csinálni, akkor igényelni fog egy VBA sort is (PQuery-hez annyi sem kell).Persze megondható makróban is, nem nagy kunszt, ha feltétlenül ahhoz ragaszkodsz hozzá, de miért akarjunk fúróval szöget verni ?
Oszdd meg valahol a filet, és megcsinálom mindkét módon.
-
Grodd
tag
válasz
alfa20 #30255 üzenetére
Szia, sokkal egyszerűbben nem lehet megcsinálni, két sor mindképpen kelleni fog hozzá
Csak a felesleges ide-oda aktiválgatásokat tudod megspórolni: az elején nevezd el a fő (induló) worksheetet mondjuk MasterWorksheetnek (Ezt rakhatod akár Workbook_Open()-be) :Set MasterWorkbook = ActiveWorkbook
Aztán akárhol vagy éppen, akármelyik arra hivatkozhatsz ezen a néven akármilyen modulból, és pl bezárhatod így:
MasterWorkbook.Close SaveChanges:=True
Persze ennek feltétele, hogy publikusra deklaráld a változót:
Public MasterWorkbook As Workbook
-
Grodd
tag
Nem biztos, hogy nem lehet vele mit csinálni. Ez az enter nyomogatósdi eléggé röhejes
A legtöbb normális third party applikációnak (akár szerver, akár kliensoldali) van normális API-ja, kívülről elérhető programkönyvtárai, (library), amiknek az osztályai általában közvetlenül elérhetőek VBA-ból is. Bekapcsolni ezeket VBA--ban Tools menu -> References-ben tudod. Ha ez megvan, akkor simán meghívhatod VBA-ból az osztályok eljárásait (methods) , tulajdonságait (property), eseményeit (event),
Persze itt a támogatás kulcsfontosságú, hiába van meg az osztálykönyvtár, ha a support és a dokumentáció csapnivaló (nem egyszer futtottam bele ilyen problémába), és olyan az egész, mintha nem is létezne (sőt!!) , mert dokumentáció és support hiányában több mérnökórát kell beleölni az API "kitapasztalásába", mintha magunk lefejlesztenénk az egész API-t.
-
Grodd
tag
Egy fontos dolgot nem írtál: excel verziószáma?
CSak mert Excel 2016-tal vagy 365-tel (korábbi verziókon Power Query bővítménnyel) ezt viszonylag gyorsan és fájdalommentesen össze lehet dobni, ha viszont egyik sincs, maradnak a sima worksheet függvények (esetleg pivottal kombinálva, de csak pivottal nem fog menni), Úgy viszont eléggé agyrém lenne. (bár megoldható)Egyébként egy dolgot árulj el: ez mire jó?
CSak mert az életben nem nagyon tudok elképzelni olyan helyzetet, ahol ilyesminek értelme lenne, (bár biztos az én képzelőerőmmel van gond). Mintha egy betépett excel oktató írta volna a "feladványt" kínjában
-
Grodd
tag
válasz
TrollBalint #30139 üzenetére
Valóban, ez így tényleg járható, erre nem gondoltam. És nem is annyira macerás megadni az összes szabadszombatot, ha van PowerQuery vagy Excel 2016. Csak List.Dates-szel behívod az összes szombatot (7-es step-pel az első szombattól, amennyit akarsz), és left anti merge-el kivonod az amúgy is megadott dolgozós szombatok listáját. Így egy-két egérkattintás az egész.
-
Grodd
tag
válasz
Nerazzurri95 #30133 üzenetére
Oszd meg valahol, megnézem mi a legegyszerübb.
-
Grodd
tag
válasz
Nerazzurri95 #30131 üzenetére
Gondolom, az lehet a hiba, hogy szövegek vannak a cellákban, nem értékek.
Olyan képletet szeretnél, amivel a "pp:mm.000" formában tárolt szövegeket értékké alakítva lehet matematikai műveleteket végezni? Vagy át szeretnéd alakítani a szöveget értékké? -
Grodd
tag
válasz
TrollBalint #30123 üzenetére
Hasonló az alapelve annak is, csak az enyém tömörebb
És még tömörebbé lehet tenni, ha beveted a name managert a 24*(műszakvég - műszakkezdet) helyettesítésére...
Az networkdays.intl nem segít a szombatáthelyezésekben, mert azzal nem a dolgozós vagy szabad szombatok listáját tudod megadni paraméterként, hanem azt, hogy a hét mely napjai legyenek hétvégék (mert ez vallásonként/nemzetenként/régiónként eléggé variálódhat).
Vagy hogy gondoltad a dolgot?
-
Grodd
tag
ja, egy kis magyarázat:
ez órában adja vissza a két időpont közötti munkaidőt, a műszakkezdetét és véget ezért kell logikusan megadni (sima idő formában), anélkül bajosan tudná kiszámolni az excel a dolgot. (értelemszerűen ez nem működhet változó műszakrend esetén)
természetesen a networkdays fv-t kicserélheted networkdays.intl-re, és akkor megadhatod a hétvégéket ism ha akarod paraméterként (alapértelmezett a szombat-vasárnap)
Viszont a Magyarországon jellemző munkanapáthelyezéseket nem tudom, hogy tudja ez lekezelni, szerintem sehogyan, csak ha még gyúrsz egy kicsit a függvényen (és ehhez persze meg kell külön egy tömbben adnod a dolgozós szombatokat (de ezt már rád bízom
) . Az ünnepeket ugyanis megadhatod paraméterként (tömb változóként) , és ezek közé felveheted a "szabadpéntekeket" és "szabadhétfőket" de ami hétvége, az hétvége, olyan opció nincs, hogy bizonyos hétvégéket ne vegyen hétvégének a függvény.
-
Grodd
tag
válasz
TrollBalint #30117 üzenetére
próbáld meg így:
=(NETWORKDAYS(kezdet,vég)*24*(műszakvég - műszakkezdet))-IF(WEEKDAY(kezdet,2)>=6,0,MIN(MAX(24*(MOD(kezdet,1)-műszakkezdet),0),24*(műszakvég - műszakkezdet))) - IF(WEEKDAY(vég,2)>=6,0,MIN(24*MAX((műszakvég-MOD(vég,1)),0),24*(műszakvég - műszakkezdet)))
Ahol "kezdet" a kezdőidőpot, "vég" a záróidőpont, "műszakkezdet" a normál műszak kezdőideje, "műszakvég" a vége.
-
Grodd
tag
" Először az volt, hogy rengeteg excel-t kellett feldolgoznom. Ugyanazzal a metódussal. Itt rákérdeztem és a makrót ajánlották. Rávezettek. Elsőként a makrórögzítőt használtam, majd értelmeztem a kódot. (Ez időt igényelt, de később megtérült, hogy értettem is a kódot.) Majd elkezdtem újabb célokat kitűzni. Ne kelljen betallózni a fájlokat, hanem egy mappa alatt levő excel fájlokat dolgozzon fel. "
Hát ez is egy olyan dolog, ami power query-vel pár egérkattintás, " kódolni" egyáltalán nem kell
Egyébként a régi stackoverflow-s szakik is kezdenek átállni pqueryre VBA-ról. Persze nem mindenben tudja kiváltani a pquery a VBA-t, pl eseményvezérlésre, user formokra marad a VBA. -
Grodd
tag
válasz
zapikanka #30099 üzenetére
Szia, ha ilyen dolgokkal foglalkozol, akkor szerintem felejtsd el a makrókat/VBA "programozás"-t.
(nem véletlen az idézőjel)
Persze nem árt megtanulni az ilyen elavult technológiákat sem, és ha teljesen új vagy a területen, akkor az alapokat (elágazások, ciklusok, stb) meg lehet tanulni ezeken is, de az ilyen report automatizálásokra ma már sokkal inkább javasolatak az ún SSBI (self-service BI) megoldások, DTS és ETL ((Extract, Transform, Load) toolok, (Ahogy írtad: "Listák letöltése SAP-ból és azt masszírozgatni a managementnek érthető formába")
MS Excelen belül ezek közül a MS két PowerBI alá tartozó SSBI (self-service BI) megoldását, a PowerPivotot és a PowerQuery-t ajánlanám (mindkettő erősen támogatva van többek között az SAP által is natívan)
Sokkal fejlettebb és rugalmasabb (és ráadásul gyorsabban elsajáthítható is) mindkettő, mint a VBA. Gyakorlatilag szinte mindent meg lehet oldani bennük (főleg a PowerQuery-ben, az gyakorlatilag mindenre képes)
PowerPivot egyébként Excel 2013-tól van szervesen az excelbe integrálva, a PowerQuery 2016-tól, de mindkettő letölthető akár Excel 2010-hez is ingyenes kiegészítőként.
Ja, és a rendszerek többsége alapból támogatja ezeket. Még a SAP is, pedig annak vannak saját fejlesztésű DTS és SSBI szolgáltatásai, így nem kell "letöltögetned" a lisákat az ERP rendszerből, csak a connector-t kell feltenni (SAP BusinessObjects pesze kelleni fog)
De ha ez nem megy, mert nem támogatja a közvetlen ERP elérést az IT policytok akkor is sokkal alkalmasabb a Power Query akár a manuálisan letöltögetett reportok kombinálására, transzformációjára, mint a VBA. Vagy akár közvetlenül az SQL servert is megadhatod adatforrásként (a power queryvel akár végtelen számú különféle adatforrást megadhatsz - akár SQL servert,excel file-okak, txt-ket, Active Directory-t, Exchange-t, ODATA feedet, XML-t, amit akarsz, és kedvedre kombinálhatod őket, ez már igaz 21-ik századi Big Data megoldás)
Vizualizációhoz (diagromok és egyebek) meg ott a PowerView (és a PowerMap), amik tökéletesen kezelik a PowerQuery és PowerPivot query-k által szolgáltatott adatkupacot adatforrásként.
Szerintem ezekbe fektess energiát, mert ez a jövő, nem a VBA vagy a makrók. Én a Power Query-t javaslom elsősorban , a PowerPivot már kezd elavulni. (persze bizonyos célokra továbbra is javasolt a PPivot, főleg multidimenzós OLAP kockák lekérdezése esetén, ha "pivotosan" akarod a management felé prezentálni,. Persze a legjobb a kettőt kombinálni, sőt a prezentációs réteghez a PowerView-t is be lehet vetni harmadik layerként,
-
Grodd
tag
válasz
Droid9 #30084 üzenetére
Itt van mindkét megoldással (mindkettő automatikusan frissül megnyitáskor) :
A kacifántost (power query nélkülit) névkezelővel csináltam inkább, különben eléggé olvashatalan és értelmezhetlen lett volna a képletezés. Ha megnyitod a névkezelőt, látod, mit csináltam.
A powerquerys viszont annál is egyszerűbb volt, mint írtam: ha ugyanazon a nyelven hívod be az MNB weboldalt, mint ami a nemzetközi beállításaidban van, akkor semmit nem kell csinálni, csak beolvasni, így automatikusan felismer minden adatípust. Szóval így ténylegesen olyan három egérklikk az egész, nem több.
-
Grodd
tag
válasz
Droid9 #30082 üzenetére
Gondolom, az excel hagyományos lekérdezőjével csináltad (Data -> from web)
Azzal ezt csak segédoszloppal és némi kacifántos képletezéssel tudod megoldani. Javaslom, inkább tedd fel PowerQuery-t, ha 2016-nál régebbi exceled van, (2016-hoz már nem kell külön feltenni, mert benn van) azzal pár egérkattintással megoldható.
Get External Data -> From Web. Add meg ugyanazt az URL-t, mint amit megadtál a régi lekérdezőben.
Utána a dátumra állíts be dátum adattípust (jobb egérrel kattintva az oszloppn, aztán change type -> date). Ha magyar a regionális beállításod a windowsban, akkor így fell automatikusan ismernie, ha nem, akkor erőszakold meg (change type -> using locale és állíts be hungariant)
Ha nem megy, írj, dobok pár screenshotot. -
Grodd
tag
válasz
Ricardo128 #30070 üzenetére
Ha fent van a power query, akkor új lekérdezés->fájl->mappa ( ha nincs fent, akkor javaslom, tedd fel, mert anélkül nem sokat ér az excel, minden vacakhoz makró kell)
Excel 2016-hoz és 365-höz már nem kell felrakni, alapból mele van integrálva.
Új hozzászólás Aktív témák
Hirdetés
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - NYÁRI AKCIÓ!
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Samsung Galaxy S23 Plus 256 GB Kártyafüggetlen 1Év Garanciával
- Bomba ár! Dell Inspiron 15 3511 - i5-11GEN I 8GB I 256SSD I HDMI I 15,6" FHD I Cam I W11 I Gari
- LG 25GR75FG - E-Sport Monitor - FHD 360Hz 1ms - NVIDIA Reflex + G-sync - AMD FreeSync - HDR 400
- SAMSUNG DDR4 REG ECC 32GB 2666MHz RDIMM szerver RAM modulok, nettó 15740Ft+ÁFA, 1 év gar., több db
- Új! HP 230 Vezetéknélküli USB-s Billentyűzet
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest