-
Fototrend
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
-
föccer
nagyúr
Ki kellett próbálnom.

Egy SQL mondatot szoktam összefűzni. Az egyik célszoftverben van lehetőség direkt SQL mondattal való szűrésre. Kicsit szebb. Imádni fogom ezt az operátort, rengeteget fog segíteni.
="RECEPT_ID in ('"&SZÖVEGÖSSZEFŰZÉS("','";1;INDIREKT("B1:B"&DARAB2(B:B)-1))&"','"&INDIREKT("B"&DARAB2(B:B))&"')"="RECEPT_ID in ('"&SZÖVEGÖSSZEFŰZÉS("','";1;B.:.B)&"')" -
föccer
nagyúr
válasz
föccer
#54682
üzenetére
Microsoft® Excel® a Microsoft 365-höz MSO (2502 buildverzió16.0.18526.20546) 64 bites
Ahogy nézem augusztus 12. adták ki. Hoppá, akkor viszont benne kell, hogy legyen amit már jó régen várok, amit Delila írt.
Hehe, benne is van.
Ezt elkezdem beépíteni. Pénteken kaptam meg az új rendszert, eddig nem volt ilyen fícsör. 

-
föccer
nagyúr
PQ-t nem szeretnék behozni. Verziószámot holnap megnézem.
1: ez a koplet egy dinamikus, legördíthető menünek az adatfeltöltését csinálja. 4 különböző oszlopból kell összeszedni az adatokat, ezért van többször ugyan az. LET-et lehetett volna használni, szoktam is, bár most most valami gebasz volt vele (#54655) .
2: szűrő függvény utolsó paramétere jól dolgozik, ha a visszatérési tömb üres. Viszont ha a szűrő kiindulási tömbje üres, akkor hibát ad vissza, nem fut le és nem üres tömbként tér vissza. Ezért kell külön-külön minden oszlop kigyűjtését HAHIBA függvénnyel védenem. A 4 oszlopból 1-2 ami használva van, de előfordul a 3. oszlopban is adat, illetve lehet a 4.ben is. Elképzelhető, hogy a 4, oszlop üres, és akkor az egész képlet érték hibát dobna.
3: ez a csoportosításoso föggvényt nem ismerem, bár férfiasan bevallva O365-öt csak elvétve használom, csak ha itthonról be kell lépnem.
4: napi frissítés van az adatbázisban, ugyan nem sokban, de változnak az alapadatok. Illetve 35 különböző üzem adatai vannak bent és ezek az előszűrők üzem szintű paraméterezéssel vannak kigyűjtve, ergó a mindennapi használat során, üzemváltásoknál is változik a legördíthető lista elemei.
Egyébként csütörtökön van demo bemutatója a cuccnak, holnap rakok fel UI-ról screenshootot.
Köszi, hogy foglalkoztál vele.

föccer
-
föccer
nagyúr
válasz
föccer
#54672
üzenetére
No, amire leírtam végig is gondoltam.
SORBA.RENDEZ(EGYEDI())-vel készítettem egy gyűjtést a receptszámokról és mellé MAXHA-val kikerestem hogy melyik recepthez melyik a legnagyobb verziószám. A kérdéses tömbben soronként kerestem be fkeressel a leganagyobb verrziót, amit simán HA feltétellen ellenőríztem. Így nincs tömbkezelés, illetve csak minimális. Az fkeres azég gyors. A MAXHA pediglen védve van még egy HA(BQ="";"";MAXHA()) feltétellel, így az sem fog feleslegesen keresni ha az előszűrő miatt a 100.000 sor helyett csak néhány ezer sor van a tömbben.Köszönöm a figyelmet

föccer
-
föccer
nagyúr
Sziasztok!
Belefutottam egy kis erőforrás korlátba...
Van egy tömb, ami az üzem nevéből és egy receptszám összefűzéséből jön létre. Ez a BJ (ohhh....
). Az utolsó két karakter a verziószám. Egy receptből minden verzió csak 1x lehet elvileg. Meg kell határoznom, hogy melyik sorban van egy recepthez tartozó utolsó verzió. Természetesen a tömb teljesen dinamikus és össze-vissza vannak benne az adatok, ráadásul a verziók is megelőzhetik egymást, nincs bennük semmiféle sorrendiség.A jelenlegi megoldásom tökéletesen működik. Szétvágom a receptszámot és a verziót. A BM oszlopban egy, a verzió nélküli receptszámra beállított szűrővel és egy MAX-al megkapom, hogy az adott sorban szereplő recepthez mi a legnagyobb receptszám, és ezt hasonlítom a BN-ben össze a sorból kiolvasott verziószámmal.
Viszont a táblázatot 100.000 receptre kell felkészítenem, és hogy is mondjam... A 100.000 db szűrő kissé felzabál minden erőforrást és a 32 GB ram 12 mag mellett is órás időtartamot számol, ami hát nem túl szerencsés.

Van erre valami finomabb, makró nélküli megoldás?
Köszi,


-
föccer
nagyúr
Sziasztok!
Most valami értelmessel jövök.
LET függvényt használom. Látszólag ismeri is a függvénytár (egyébként sokszor használtam már, szóval biztos működik). Viszont #NÉV? hibát dob. Ez miért lehet? Ugyan ezen munkapon (egy egyszerűbb) LET gond nélkül megy. Látszólag minden beépített függvény helyes.
LET( t1;A#;t2;B#;n1;SOROK(t1);n2;SOROK(t2);k;SORSZÁMLISTA(n1*n2);col1;INDEX(t1;KEREK.LE((k-1)/n2;0)+1);col2;INDEX(t2;MOD(k-1;n2)+1);FÜGG.HALMOZÁS(col1;col2))
Egyébként egy permutálást szeretnék megoldani. Nincs erre valami egyszerűbb megoldás? Tehát az A és B oszlop elemeiből, minden A&B elemet egy tömbben. Segéd táblával megvan a megoldás, ahol megcsinálom a kereszttáblát, de szeretém "szebben" megoldani.
Köszi,
FG -
föccer
nagyúr
Az új kedvencem.

Ez 8 oszlopból gyűjti össze az adatokat, a két előfeltételnek megfelelően.
A szűrők előtti hahibát nem kellene használnom, csak a szűrőt helyesen paraméterezni, de elég szemzsibbasztó a befoglalást helyesen beállítani. Így a HAHIBA elég jól mutatja a különböző kód részletek határát


-
föccer
nagyúr
Állatkodtam egy kicsit

Működik.

=EGYEDI(FÜGG.HALMOZÁS(HAHIBA(EGYEDI(SZŰRŐ(Receptek_egy_sorban!AL2:AL100000;((Receptek_egy_sorban!AL2:AL100000<>"")*(Receptek_egy_sorban!A2:A100000<>HAELSŐIGAZ(Kereso!C4="I";"N";Kereso!C4="N";"I";Kereso!C4="Mind";""))*(Receptek_egy_sorban!B2:B100000=Kereso!$C$3))));"");HAHIBA(EGYEDI(SZŰRŐ(Receptek_egy_sorban!AO2:AO100000;((Receptek_egy_sorban!AO2:AO100000<>"")*(Receptek_egy_sorban!A2:A100000<>HAELSŐIGAZ(Kereso!C4="I";"N";Kereso!C4="N";"I";Kereso!C4="Mind";""))*(Receptek_egy_sorban!B2:B100000=Kereso!$C$3))));"");HAHIBA(EGYEDI(SZŰRŐ(Receptek_egy_sorban!AR2:AR100000;((Receptek_egy_sorban!AR2:AR100000<>"")*(Receptek_egy_sorban!A2:A100000<>HAELSŐIGAZ(Kereso!C4="I";"N";Kereso!C4="N";"I";Kereso!C4="Mind";""))*(Receptek_egy_sorban!B2:B100000=Kereso!$C$3))));""))) -
föccer
nagyúr
válasz
Fferi50
#54638
üzenetére
Ehh, a hiba nem ebben a makróban volt, hanem egy korábbiban.

Application.EnableEvents = True sort sikerült egy if blokkba belülre tennem. Nyilván megesett, hogy nem azon az ágon futott végig a makró, de annyira nem kötöttem össze egy másik funkció futásával ennek a hibának a felbukkanását, hogy nem tűnt fel...

-
föccer
nagyúr
Sziasztok!
Csinálom a következő fejlesztésemet, már a vége felé járok.
A rendszer egy tisztességes kupac adatot megcsócsál és rendszerez. Ezt a rendszerezett adathalmazt mutatja be a felhasználónak, minden féle segédszámítással egyetemben. A rendszerezés egyik alapja a receptszám, alapesetben 6+2 karakter. Előbbi 6 maga a recept szám, utóbbi kettő pedig a verzió.
A felhasználó most a felrakott nyilacskákkal tud lépkedni a receptek között, de szeretném a cellákat "kattinthatóvá" tenni.
Ehhez a laphoz rendelve Sub Worksheet_SelectionChange(ByVal Target As Range) eljárást használom, ellenben nem indul el a makró .. :-/ Nem ezt kellene használnom?
Illetve szeretnék még egy olyat megoldani, hogy a makró futásának legelején szeretnék megjeleníteni egy felugró üzenetet, hogy dolgozom, várj. Ha lefutott a makró, akkor ezt eltüntetem. Ha addig elveszem a lehetőséget, hogy az UI-n kattintsanak az még jobb. Ezt egy userform-al tervezem megoldani. A kérdés az, hogy ha megjelenítem az userform-ot, akkor még végig fog futni a makró, vagy csak akkor ha zárom az userformot?
Köszi

ps: ez utóbbit kipróbáltam csak akkor fog tovább menni a makró, ha eltüntetem az userformot.

-
föccer
nagyúr
válasz
latya73
#54296
üzenetére
Keretezésree használj feltételes formázást. Sőt, igazándiból a cella színezésre is. Úgy nem gond neki, ha dinamikusan változnak alatta az adatok, mindig a megfelelő szabályrendszer alapján fogja a formázást beállítani.
Azt is meg lehet csinálni, hogy az üres sorokra ne rakjon keretet se, így ha az adat mennyiség változik, akkor is helyesen fog megjelenni.
üdv, föccer
-
föccer
nagyúr
válasz
macilaci78
#54281
üzenetére
Google sheet-et nem ismerem ennyire. Az újabb office-ben elkészített számolótábla nem valószínű, hogy menni fog. Régebbi office-ben nincsenek benne azok a tömbfüggvények, amik erre alkalmasak. Nyilván végig lehetne makrózni az egészet, de az szívás.
Ha egy minimálisan is használod az excelt mondjuk az összeadáson kívűl, akkor érdemes upgradelni.

üdv, föccer
-
föccer
nagyúr
válasz
macilaci78
#54279
üzenetére
Ez mind nem gond. Office2021-től ezek a natív tömbfüggvényekkel és az indirekt függvénnyel simán megoldhatóak.
Küld át azt, hogy pontosan miből, mit szeretnél látni, milyen szabályok szerint és összerakom, ha szeretnéd. Szoktam ilyesmiket megbízásból is csinálni, ez egy sima formanyomtatvány kezelés.
üdv, föccer
-
föccer
nagyúr
válasz
macilaci78
#54277
üzenetére
Miért nem hívsz fel, ha bajod van?

Csinálj egy nyomtatási képet tartalmazó munkalapot, meg egy számításokat, adatbeviteli mezőket tartalmazó munkalapot. Az utóbbin beviszed az adatokat, meg csinál mindent, a nyomtatási képen meg úgy rendezed el a dolgokat, ahogy akarod, és onnan nyomtatsz.
-
föccer
nagyúr
Igazándiból haladjunk a korral jeligére tegnap-tegnapelőtt regisztráltam rá, hamár a csapból is ez folyik. Egy már régebben megoldott feladatomnak egy kis részét írtam le neki próbából. A legelkeserítőbb az volt, hogy a legenerált xlsm fájlja nem volt megnyitható és néhány a végén még mindig maradt benne egy olyan hiba, hogy nem azt adta eredményül, amit kellett volna. Szóval kb ugyan arra a következtetésre jutottam, mint te. Az biztos, hogy a mélyszakmai elemzéseket nem fogom rá bízni.
A mostani feladatot kb sorrol sorra megfoglamaztam neki, a teljes szemantikát leírtam, lépésről lépésre. És így sem jött neki össze elsőre. De mókának jó volt, illetve a lehetőséget felmérni. -
föccer
nagyúr
Hogy ne legyen itt Wall of text
Itt tart a ChatGPT. Kis javítást kellett bele pakolnom, meg egy user formot rendbe raknom és igazitanom az elenvezéseket. Kemény cucc.
-
föccer
nagyúr
válasz
Fferi50
#54195
üzenetére
Stopra nem adja ki az ablakot, sendkey nem használ.
A PrintPreview műxik, de akkor pontosan ott vagyok, mintha manuálisan kérném a táblicskut az üzemeknek az egyedi elemzésére.
Úgy van felépítve a tábla, hogy alkalmas egyenként is, manuális kérésre is az elemzések legenerálására. A makró nagyjából csak annyit csinál, hogy sorra veszi az üzemeket, kéri az elemzést, meghatározza, hogy mennyi munkalapot kell nyomtatásra küldeni, kijelöli őket, nyomtat, a pdf-et menti. Következő üzem...
Így a 10 perces munka helyett van egy fél napos.
Minden esetre ismételten köszönöm a segítség nyújtást. Úgy érzem hogy ebben az esetben tehetetlen vagyok fejlesztési oldalról. Marad a manuális munka egyessével

-
föccer
nagyúr
válasz
Fferi50
#54160
üzenetére
Kezd körvonalazódni. Csináltak egy új IT Policy-t, ami nem engedi hogy közvetlenül pdf-et nyomtassunk nyomtatási soron keresztül.
Feldob egy olyan ablakot, hogy válasszuk az exportot és onnan csinálja meg a mittuom én milyen biztosnági protokoll metaadat pecséttel ellátott biribingyót. Mivel makróból for ciklussal megyek végig a 35 üzemen, így csak simán nem menti a pdf-et, de lép tovább. Viszont makró rögzítéssel sem bírtam elkapni ezt az ablakot, hogy mégis mi a pék lehet, vagy hogy lehetne ezen túljutni.
Írtam IT-nak, kíváncsi vagyok tudnak-e vele valamit kezdeni
Már azért powerusernek gondolnak, hogy a total commanderben használom a mappa füleket 
üdv, föccer
-
föccer
nagyúr
válasz
E.Kaufmann
#54177
üzenetére
Inkább gondolnám hálózati hibának, mint ecxel gondnak. Ha PDF-be nyomtatsz, akkor is gondos?
-
föccer
nagyúr
válasz
Delila_1
#54171
üzenetére
Mindenképpen macerás. Excel azért nem erre van kitalálva. Pár hónapra beszélgettük ez talán Fferi-vel, hogy ha valaki kicsit jobban ért hozzá, akkor nem lehet megóvni az adattáblákat, mindenképpen be lehet nyitni és bele lehet nézni, bármilyen védelmet is prbál bele építnei az ember.
-
föccer
nagyúr
válasz
Delila_1
#54168
üzenetére
System.Security.Cryptography.MD5CryptoServiceProvider
Win beépített MD5 encodert meg kell hívni az eredeti jelszó megadásakos és csak a hash-t lementeni. Ellenőrzéskor ugyan ezzel a szolgáltatással vissza lehet ellenőrízni. Ha a két hash egyezik, akkor mehet tovább, ha nem akkor nem tud belépni. Szövegesen nem kell tárolni az eredeti jelszót. Aki az MD5-öt visszafejti, azzal szemben tök mindegy

-
föccer
nagyúr
válasz
Fferi50
#54158
üzenetére
Nem akarom kinyomtatni, elektronikusan van tárolva és továbbítva a tanusító szerv felé. De az export már tartalmazza azokat az oszlopokat, amik nem kellenének. Ha ezt nyomtatom, akkor a nyomaton is rajta lesznek.
Na, ledokumentálom és kiküldöm az IT-nek, hogy csócsáljanak rajta egy sort.
A PDF export ami nem veszi figyelembe azt a beállítást, hogy csak a kijelölt területet nyomtassa. Fix nyomtatási terület nem játszik, mert változó adatmennyiség van.
Most annyit gányoltam rajta, hogy egy fehér betűszinnel, egy nem használatos cellába raktam egy x-et, és a korábbi vezérlő cellákat beképletezrem erre az eredeti vezérlőt meg elrejtettem. Így legalább az odlalszélesség helyre jött, de a sorok cella szegélyei miatt a tényleges adattartalom alatt szereplő üres cellákat is nyomtatja (aminek nincs adata, de a szegélye meg van rajzolva). itt ugye nem a feltételes formázás rajzolja a szegélyeket, mert mindig területet nyomtatta, így osztán hótra mindegy volt, hogy alatta még 342 sornyi szegély van rajzolva.
De ha a gyorsriportoló xlsm-em is tönkre ment, akkor pipás leszek, de nagyon. Az eszméletlen mennyiségű adatot számol át, rendszerez, elemez és generálja a jelentéseket és menti fel hálózatra. Havi ~1500 oldalnyi dokumentáció. (mondjuk rajtam kívül a kutya se nézi, de ez ebből a szempontból tök mindegy)
-
föccer
nagyúr
nyomtatási képen:

és a nyomaton..

és ez még az egyszerűbb..
Grrr
-
föccer
nagyúr
Cégnél bevezettek valami új policy-t, így a megnyitott xlsm fájlokból ha pdf-be akarok nyomtató porton nyomtatni, akkor nem engedi, átirányít valami biztonságos exportálás menüre. Viszont a nyomtató beállításánál meg volt adva, hogy csak kijelölt területet nyomtasson, teljes oldalszélességre. No, ez szépen elúszott, szépen nyomtatja rá a vezérlőket is amit nyilván nem kellene ...
Mi a pöcsömet csináljak vele. Sem időm, sem lelki erőm átszabni az xlsm-eket, az IT érzésre megvonja a vállát, hogy global IT policy-t ők ugyan meg nem fognak kerülni a kté szép szememért... :-/
Faxom, a gyártásellenőrzési dokumentációt meg várják. Kézzel össze rakni... hát, több nap lenne üzemenként, ami most 10 perc lenne...
Még az automata elemzőt nem mertem elindítani, ami szépen sorba veszi az összes üzemet és menti le hálózatra a riport dokumentációt. Ha az is megdöglött, akkor kva mérges leszek.
Köszipuszi, jöttömre 2 nap múlva számítsatok, hajnalban, kelet felől.
-
föccer
nagyúr
Vagy táblázattá kell formázni, vagy feltételes formázást beállítani. Megcsinálod a táblázat alap színét, amit a páratlan sorokra akarsz használni, majd a feltételes formázásnál a képlet valami olyasmi lesz, hogy "MARADÉK(SOR();2)=0" Ez megadja a páros sorokat, amire berakod azt a formátumot, amit a páros sorokra akarsz.
kitöröltem egy sort.


-
föccer
nagyúr
Hát, azt biztos meg lehet csinálni, hogy makróból a cella módosítás esetén visszaállítod a formátumot arra, aminek lennie kell. Kicsit fapados, de működik, ha megvan, hogy milyen feltételek szerint kell a formázást megcsinálni. Egyes cellákat lehet tiltani a lapvédelemmel. Ha jól emlékszem, akkor az egész munkafüzetet le kell védeni, ami védelem alól ki lehet venni egyes cellákat. Ha nem akarsz jelszavakkal szórakozni, akkor a beviteli munkalapról is kell csinálni egy árnyékmásolatot ami veryhidden és cella módosulásnál azt is vissza kell írni. Utóbbira ha nincs nagyon sok cella és nem a szándékos károkozást kell kivédeni, csak a véletlen felülírást, akkor lehet cella érték érvényesítésnél is beállítani, hogy csak arra az egy értékre legyen érvényes a cella. Ilyenkor bármi más adatot akarnak bevinni, az excel nem fogja engedni.
-
föccer
nagyúr
válasz
meke11
#54116
üzenetére
Én így csináltam meg ugyan ezt a feladatot. Kicsit fapados, de működik
Az m az gyakorlatilag az átesett görbe feletti terület. Mivel a szemmegoszlást diszkrét pontokra veszed fel, így simán lehet csinálni rá egy numerikus integrálást, jelen esetben 1-átesett az összes szitán (kivéve a felező szita), osztva 100-al, mert m/m%-al dolgozol.
Az U már keményebb dió.
s és S a két keresett m/m%-hoz szitán átesett tömegarány. d és D ezekhez tartozó szitaméret (ezeket keressük). A kisbetű az alsó, a nagy betű a felső ponthoz tartozik.
da és df azok a szitanyílások, amihez s alatti és feletti értékek tartoznak, sa és sf pediglen ezeken a szitákon fennmaradt tömegszázalékok. d-t az előrejelzés függvénnyel tudod interpolálni vigyázz, mert neked az előrejelzést az inverz függvényen kell keresned, mert az s-van megadva és d-t keresel, így ennek megfelelően kell paraméterezni a függvényt!

-
föccer
nagyúr
válasz
meke11
#54110
üzenetére
Egyenlőtlenségi együtthatót kell számolni?
Az D70/D10. Mihez kell a D17?Ha igen, akkor nézd meg a vonatkozó szabvány. Amivel én dolgoztam, abban nem megengedett a közelítő függvény használata, hanem a 10% alatti és feletti szita méretre kell interpolációval számítani a 10%-hoz tartozó elméleti szitaméretet. Ez meg kell csinálni d-re és D-re (alsó szita és felső szita) és a két, interpolációval kalkulált szitaméretet kell osztani egymással az egyenlőtlenségi együtthatóhoz.
-
föccer
nagyúr
-
föccer
nagyúr
A mai napon mennyi kell mutatnia? Egy kellően nagy számból le kell vonni a =MA() függvény értékét.
A cella képlete ha:=100000-MA()
akkor az eredmény 54 306. Holna ez az érték 54 305 lesz. Holnap után 54 304 és így tovább. (a cellát vissza kell formázni számmá, mert excel automatikuan át fogja állítani a formátumot dátumra.
Ha nem 100000-ből vonod le, hanem egy másik számból, akkor más érték lesz az eredmény, de holnap ugyan úgy 1-el kisebb lesz a szám, mint ma.
üdv, föccer
-
föccer
nagyúr
válasz
andreas49
#53944
üzenetére
Inkább az, hogy egy szélesség minusz értéket kellett volna, hogy felvegyen, ami minium 0 lehet.
#53939andreas49
az is működik, hogy csinálsz 1 db "kezelő" fület, amire kirakod a gombbot, meg ottani cellákba teszed bele az alapadatokat. De az is pörfikt, hogy imputbox szedi be az eltolást. Ekkor én public-ba raknám a makrót és ráblindelnék egy hotkey-t és akkor bármikor, 1 gombnyomásra megcsinálja.üdv, föccer
-
föccer
nagyúr
válasz
TigerCat
#53936
üzenetére
Makróval viszonylag könnyű.
Egy gombhoz kötöttem a makró indítását, a Munka2 A1 cellába írtam be, hogy mennyivel növelje a szélességet.Az összes, Munka1 lapon lévő oszlopot autofit-re állítja, majd az összes használt oszlop méretéhez hozzáadja a munka2 A1 cellába beírt értéket.
Sub Szelesseg_igazitas()Dim i As IntegerWorksheets("Munka1").UsedRange.Columns.AutoFitFor i = 1 To Sheets("Munka1").UsedRange.Columns.CountWorksheets("Munka1").Columns(i).ColumnWidth = Worksheets("Munka1").Columns(i).ColumnWidth + Sheets("Munka2").Range("A1").ValueNextMsgBox "Kész"End Sub -
föccer
nagyúr
válasz
ReSeTer
#53933
üzenetére
A szumha (ha emlékeim nem csalnak), akkor úgy működik, hogy az összeg tartományban vizsgálja a kritériumokat. Klasszikusan add össze a nullánál nagyobb számokat. A szumhatöbb esetében külön van választva az összeg tartomány és a kritérium tartománya (nem mellesleg több feltétel is megadható). Szumha függvény ezer éve nem is használtam, mert a szumhatöbb mindent tud, mint a szumha.
-
föccer
nagyúr
válasz
karlkani
#53926
üzenetére
K és L oszlopban csak ellenőrzésként vannak fent az eredmények.
G1-ben tudod megadni, hogy melyik helyezettet szeretnéd kikérni. Az eredményt tömbként adja vissza, ha több azonos van, akkor minden eredményt visszaad.G2 képlete:
=SZŰRŐ(EGYEDI(A1:A11);DARABHATÖBB(A1:A11;EGYEDI(A1:A11))=INDEX(SORBA.RENDEZ(DARABHATÖBB(A1:A11;EGYEDI(A1:A11));;-1);$G$1))Office 2021
üdv, föccer


-
-
föccer
nagyúr
Egy cella érékének módosítása alapvetően csak akkor hat a többi cellára, ha össze vannak képletezve. Ha a forrás listában módosítod a választék listát, nem fog változni azon cellák értéke, ahol korábban be volt választva. A legördülő lista csak a cellába bevihető értékekt korlátozza, de utólag nem csinál vele semmit.
Használd a csere funkciót, amit ctrl+H-val tudsz előszedni.
üdv, föccer
-
föccer
nagyúr
1: Autószűrőt kapcsold be (ctrl+shift+L), kapcsold ki azokat ahol a tulajdonság üres.
2: a maradék cikkszámot másold ki, és értékbeillesztéssel rakd be egy másik munkalapra.
3: az újonnan beszurt adatokra nyomj egy ismétlődések eltávolítását az adatok menüből.
4: kapcsold ki az autószűrőt
5: az új, leszürt, egyedi értékeket tartalmazó táblázat mellé egy segédoszlopban használd az index(hol.van()) függvényeket, hogy kikeresd az adott cikkszámhoz tartozó tulajdonságokat. Ha több oszlopot kell mellé rakni, arra is jó az index, de használható a transzponálás(szűrő()) függvény kombó is.
Az eredmény tömböt másolod, visszailleszted értékbeillesztéssel, hogy statikusan meglegyen minden adatod.Ha gykorlottabb vagy, akkor 1 perc, ha kevésbé gyakorlott akkor 3.
-
föccer
nagyúr
válasz
Fferi50
#53884
üzenetére
Pár óra szokott lenni.
Igazándiból 35 üzemben, üzemenként néhányszáz összetételen fut végig egy elemzés, adatösszesítés, még pár tucat mellékszámolás. 1 tétel meglenne gyorsan, de több ezer tétel van.
Üzemenkétn pdf riport mentés, biztosnági másolatok készítése. Új üzem, betöltő adatfájl megnyitása, onnan kiolvasni a szükséges adatokat, vissza adminisztrálni, hogy milyen időbélyeggel vettem ki az adatot, visszamenteni, újra futtatni az elemzést, menteni az eredményeket.
Egyszerű, de dög unalom.
-
föccer
nagyúr
válasz
tomi_x
#53881
üzenetére
Jó eséllyel rengeteg számítás, tömbképlet, és implicit képlet van benne (indirekt, index pl). Ezek baromira meg tudják nyújtani a számítás menetét.
Én az ilyen problémákat úgy szoktam kezelni, hogy felmakrózom az elemzési feladatokat (pörgetem a paramétereket, az eredményeket kimentem egy temp munkalapra). Elindítom este és reggelre szépen megcsinál mindent.
Ha nagyon összetett és nagyon nagy számú számítást kell végezni, azzal nem lehet nagyon mit csinálni. Vagy optimalizálod a műveletek számát, vagy erősebb vasat kérsz a főnöktől.
Én így kaptam egyedülégént a hazai cégcsoportban 64 bites office-t. Mindenki csak 32 biteset kap.

-
föccer
nagyúr
válasz
Delila_1
#53728
üzenetére
4 gyerekem van, hagyábékén.
ráadásul pont sikerült úgy összehozni, hogy idén mindenki ide jön...

Hogy sikerült, ne kérdezd, de azért puncsoltam a helyi étteremnek, hogy azért naponta rakjon össze nekem elvivős tálakat. Elég lesz nekem a sütiket lesütni.
Isten áltda a mosogatógép feltalálóját -
föccer
nagyúr
Én csináltam rettenet

De fogadjátok szeretettel.

-
föccer
nagyúr
válasz
Keef_Lee
#53616
üzenetére
O365-ben elvileg működik, 2013-ban nem. Most nem tudom megsinálni, de az elvet és a függvények az alábbiak lesznek.
2 segédoszlopot kell csinálni. Vagy külön munkafüzetben és akkor meghivatkozod a két alapadatot tartalmazó munkafüzetet, vagy összemásolod a két alapdatot 1 munkafüzetbe és csinálsz egy segéd munkalapot.
A lényeg.
Függ.halmozás() függvénnyel összefűzöd egy vektorba a 2 név oszlopot. Ezt beágyazod egy egyedi() függvénybe, hogy az ismétlődéseket eltávolítsd az ismétlődéseket. Ezen segédoszlop mellé felveszed a másik segédoszlopot, amibe szumha függvénnyel összeadod az egyes nevekhez tartozó összes teljesítményt.
üdv, föccer
-
föccer
nagyúr
válasz
Fferi50
#53446
üzenetére
Ez a tábla alpvetően UI. Kézzel pötyöghetik be, illetve javíthatják a beírt árakat. Településre és anyag kódra.
Ez egy nagyobb számolótáblának az egyik bemeneti adaata lesz. A számolótábla alapvetően költség alapú elemzést fog végezni.
Ha frissítés történik (havi riport generálás során), akkor változhat az üzemek és az alapanyagok sorrendje, darabszáma.
Ha frissítés van, akkor gombnyomásra újra beemelem a frissített üzemek és alapanyagok listáját. Viszont hogy ne kelljen minden adatot újra gépelni az ártáblán, ezért a frissítés gomb megnyomása előtt lementem az egésznek az adattartalmát és a frissítés utána újra feltöltöm a meglévő adatokkal. Viszont mivel elcsűszhatnak az oszlopok és sorok, ezért nem lehet nyersen visszarakni. De ez továbbra is UI, ezért nem maradhatnak a képletek sem.
Hmm, most hogy végig gondoltam jött az ötlet, hogy 1x megcsinálom az egész táblázatra a képleetezést (ez sima liba, újgyakorlat) és az egészről csinálok egy árnyákmásolatot (a képletekről) és a frissítés után ezt húzom be a formula2-be és kap egy recalculate-ot, majd visszaírom bele a value-t és kész is.
Köszönöm, asszem ez így jó lesz.
Most már csak az a kérdés, hogy sebességre mit fog hozni. Minden esetre kikapcsolom az automata újraszámolást 
Köszi

-
föccer
nagyúr
válasz
Fferi50
#53442
üzenetére
Egybefüggő tartomány, de változhat a mérete.
Felső sarka a B4-ből indul. A felette lévő gomb menti le az aktuális adatokat, fejléccel, sorazonosítókkal együtt, majd törli az egészt és másolja fel az előre legyűjtött listákat mind a fejlécbe, mind az alapanyag kódokat.
Viszont durván 40x200-as a tábla, és az adatok nem minden esetben változnak (csak a fejléc és a sorazonosítók. A mentett adattáblából vissza kellene keresnem, azokat az adatokat, amik megvoltak az előző táblázatban. (ugye az oszlopok, sorok elcsúszhatnak, ha új anyagok vagy üzemek kerülnek be az alaptáblákba.
Tisztán makróval is ki lehetne keresni, nem szórakozni a képlezéssel, de azt csak nem túl hatákonyan tudom megoldani.

-
föccer
nagyúr
No, ez sem segített. Végül úgy oldottam meg, hogy a segéd munkalapora felraktam a képletet és akkor ha onnan másolom át a cél cella formula2 értékébe, akkor más helyesen megjelenik. Viszont végül leesett a tantusz, hogy baromság, mert egy egész tartományba kellene ezt bemásolnlni, és akkor nem viszi magával helyesen a cella hivatkozásokat.
Vagy makróból keresni az összetartozó párokat.
üdv, FG
-
föccer
nagyúr
Sziasztok!
Van egy UI-n, ahol adatbevitel történik. A fejléc és sor adatok változni tudnak az egyes elemzésnél, viszont elég nagy táblázatról van szó. Ezért azt találtam ki, hogy az adatbeviteli táblázatot csak külön kérésre frissítem. A frissítés elején lementem az egész tartomány értékeit, és a frissítés után újra kikerestetem egy index(hol.van(),hol.van()) függvénnyel a korábban bevitt adatokat, vissza illesztve az eredeti sor/oszlophoz, ahová tartoznak, így ha a fej és sor azonosítók változnak, szépen visszatöltődik minden a helyére.
Viszont ez ugye UI, ezért a frissítés után a kereső képletet vissza kell írnom az egész táblázatba és ennek az értékét visszailleszteni az UI-re, hogy a felhazsnálók ne lássák, hogy mi történik.
A formula beillesztésénél viszont hibát dob.
Ha kiveszem az = jelet a let elől, akkor megy, de akkor meg csak szövegként illeszti be a cellába, ami nyilván nem jó. ThisWorkbook.Sheets("alapanyag_arak").Range("K1").Formula = "=LET(a,IFERROR(INDEX(alapanyag_ar_mentes!$C$5:$AX$173,MATCH(alapanyag_arak!$B5,alapanyag_ar_mentes!$B$5:$B$173,0);MATCH(alapanyag_arak!D$4,alapanyag_ar_mentes!$C$4:$AX$4,0)),0);IF(a=0,"",a))"
Mint nem veszek észre?
Köszi!
fg -
föccer
nagyúr
válasz
#77257183
#53409
üzenetére
Rakd össze úgy a munka1 munkalapot, ahogy a képen van. A oszlopban sorszám, Boszlopban a sorozat elemei. F2-be a lépések száma, F3 F4 eredményt ad. Gomb legyen kirakva fejlesztő eszköz menöből. Ha kiraktad, akkor jobb klikk rajta, makró hozzárendelése, ott rányomsz az újra gombra. Nyílik a VBA editor. A megjeleö üres részen megjeleik egy Sub Gomb1_Click() End Sub sorok. E közé kell berakni az általam írt kódot. (vigyázz az én kódomban is benne van a Sub ---- End Sub sorok, ezt nem kell bemásolni.
Ha minden okás, akkor visszalépsz a munkafözetre és ha megnyomod a gombot, akkor már számol is.
Bármekkora lépésszámot beírhat, ami belefér az integerbe. A kód nem számolja ki a fibonachi számot, csak kiveszi a B oszlopból a megfelelő elemet.
üdv, föccer
-
föccer
nagyúr
válasz
föccer
#53402
üzenetére
dehülye vagyok, a vissza lépés nincs benne

Sub Gomb1_Click()Dim Fib_sorszam As IntegerDim Lepes_szam As IntegerDim i As IntegerFib_sorszam = 1Lepes_szam = Sheets("Munka1").Range("F2").ValueFor i = 1 To Lepes_szamIf Application.RandBetween(0, 1) = 0 ThenFib_sorszam = Fib_sorszam + 1ElseFib_sorszam = Fib_sorszam - 2If Fib_sorszam < 1 ThenFib_sorszam = 1End IfEnd IfNextSheets("Munka1").Range("F3").Value = Sheets("Munka1").Cells(Fib_sorszam, 2).ValueSheets("Munka1").Range("F4").Value = Fib_sorszamEnd Sub -
föccer
nagyúr
válasz
#77257183
#53400
üzenetére


Makró beszúrása, ha a munkalapon vagy, akkor alt+F11.
Gombot a fejlesztőeszközök menöből lehet kirakni.Munka1 munkafüzeten, ez a makró:
Sub Gomb1_Click()Dim Fib_sorszam As IntegerDim Lepes_szam As IntegerDim i As IntegerFib_sorszam = 1Lepes_szam = Sheets("Munka1").Range("F2").ValueFor i = 1 To Lepes_szamIf Application.RandBetween(0, 1) = 0 ThenFib_sorszam = Fib_sorszam + 1End IfNextSheets("Munka1").Range("F3").Value = Sheets("Munka1").Cells(Fib_sorszam, 2).ValueSheets("Munka1").Range("F4").Value = Fib_sorszamEnd Sub
ps: egyébként nagyon érzékeny az eredmény arra, hogy az első 1-2-3 lépésben mennyi pozitív lépés van. -
föccer
nagyúr
válasz
modflow
#53396
üzenetére
Makróval végig lehet menni rajta, de csak akkor fog helyes megoldást adni, hogy ha pontosan ugyan az a felépítése a két tábblázatnak, bele értve a munkalap neveket is.
Én szúrópróbaszerűen, a képletek ~10-15%-t ellenőrízném manuálisan és ha ott 0 eltérés van, akkor elfogadnám egyezőnek. Statisztikai minőségellenprzés. Ettől még lehet benne hiba, de annak az esélye, hogy hibás jelentősen lecsökken.
fg
-
föccer
nagyúr
válasz
Fferi50
#53326
üzenetére
Szuperézékeny adatokkat nem lehet ilyen rendszerre bízni. Igazándiból csak a beléptető rendszert gondoltam végig, hogy hogyan lehetne elkerülni, hogy megnézzék mondjuk a regisztrált felhazsnálókat. Oké, hogy very hide-ra rakom a megfelelő munkalapokat, de alt F11 és máris megvan. Oké, hogy MD5-re kódolom a jelszavakat és csak erre ellenőrzök, de ha bárki belép a vba-ba, akkor 1 mozdulat kiütni a belépéskori ellenőrzést. Ebből jött a gondolat, hogy lehet-e tiltani/védeni egy project VBA kódját, pl egy dev pass-al.
Mert ha védhető dev-pass-al a vba project kódja, akkor onnantól kezdve az MD5-tel már lehet védeni a belépés jelszavait. Ha workbook open-re ráépítem a belépés ellenőrzését, és nem férnek hozzá a vba kódhoz sem, akkor egyszer felhasználó (mondjuk az én szintemen) nem fogja tudni megkerülni a beléptetést). Ha valaki meg tudja törni az excel védelmét hogy hozzá férjen a vba kódhoz és azt átírja, akkor meg már mindegy, onnantól fogva mindegy, mert 1 mozdulat kiiktatni a jelszó ellenőrzést. Nyilván a jelszavak md5 hash-elése akkor is kell, függetlenól a vba kód védelmétől.
md5 bőven elég lesz, ha valaki azt megtöri, akkor legyen boldog

Jó lesz ez, köszönöm a segítséget.

föccer
-
föccer
nagyúr
Kedves Uraim, és hölgyem!
Eljött az idő. Indításnál beléptetést fogok használni. Első körben önfejlesztés céljából.
Username, nick, email cím és MD5 hash. Utóbbit azért, mert ezt megtaláltam, másrészt meg aki az md5-öt meg tudja kerülni, az az alt F11-et is meg tudja nyomni.

Jól sejtem, hogy nem nagyon tudom megfogni, hogy valaki illetéktelen hozzáférjen a vba kódhoz.
puszi mindenkinek.
föccer
-
föccer
nagyúr
Ahogy Fferi50 is írja. a címsorok és cím oszlopok "technikai" dolgok, a cella hivatkozási címét mutatják. Egyébként semmi köze a cellák adat tartalmához.
A cella az excel elemi adategysége. Van neki értéke, formátuma és címe. Egy három teljesen különböző dolog, kis túlzással tök függetlenek egymástól. A cella értékét és formátumát szabadon tudod változtatni, a címét nem.
-
föccer
nagyúr
válasz
detroitrw
#53244
üzenetére
A képletedbe mindenképpen a "C T" nevű fülön keresed az adatokat.
Mintha a C T fülön kellene kikeresni az B1 cellához tartozó dátum hetéhez tartozó oszlopból az adatokat. Viszont eddig a pontig (az én logikám szerint) még csak azt találtuk meg, hogy melyik oszlopban kell a keresést végre hajtani. A te képletedben az index fixen az 1 sort adja vissza (ezért javasoltam a vkerest- helyette).
Akkor a C T fülön, a B1-ben megadott dátum hetéhez tartozó oszlopban kell kikeresni azt a legnagyobb értéket, amely 20-nál kisebb?
Itt egy olyan kérdésem van, hogy az adott oszlopban csak az első 20 vagy nagyobb értékig keresünk, vagy a teljes oszlopban meg kell vizsgálni a 20nál kisebb értékeket és abból kiválasztani a legnagyobbat?
-
föccer
nagyúr
válasz
detroitrw
#53229
üzenetére
INDEX('C T'!$A$1:$CQ$775;1;HOL.VAN(20;INDIREKT("'C T'!A414:CQ"&HOL.VAN($B$1;'C T'!A1:A775;0);1))
használd a hivatkozás előállítására az INDIREKT függvényt, amivel ki tudod keresni a dinamikus tartományodnak a végét (ha jól látom, akkor addig kell keresni, amíg a 'C T' munkafüzet első sorában nem szerepel a 20-as szám). Miáltal az első index-ben fixen az első sor van megadva, lehet egyszerűbb lenne a VKERES() függvényt használni.
-
föccer
nagyúr
válasz
Fferi50
#53181
üzenetére
Hálózatról nyitom meg és önmagában fut. Ebben az eljárásban nem nyit meg más fájlokat.
Viszont ha nem dolgozom a gépen, csak hagyom számolni, akkor lecsatlakozik a hálózatról (gondolom valami policy beállítás lehet) és ha mentene, akkor nem találja a hálózati meghajtót és hibával leáll.
~70Mb-os fájlról van szó, nem raknám be a ciklusba a mentést, hogy ne legyen idle a hálózati tár felé. Ciklus ezres nagyságrendben fut, ezért ezt kizárnám.

üdv föccer
-
föccer
nagyúr
Hello!
Hálózati meghajtóról nyitok egy fájlt, amin egy hosszú makró fut (esetenként 1-2 óra). Ha meló végén indítom el, akkor menet közben lecsatlakozik a hálózatról a gép és az Application.Save hibát dob és megáll.
Sejtésem szerint macroban max azt lehet megoldani, hogy hiba esetén menjen tovább, de magát a hálózati újra csatlakozást nem nagyon.
Bármi ötlet? Ha megkérdezem a rendszergazdáékat, kihullik az összes hajuk. Arra is csodálkoznak, ha a total commanderben használom a gyors elérési füleket.

üdv, föccer
-
-
föccer
nagyúr
válasz
Yutani
#53162
üzenetére
Hűűű, ha jól sejtem, akkor vagy adatfrisstés kell neked, vagy makrózni kell.
Függvények csak adatfrissítésen keresztül fognak tudni olyan file-ból frissíteni, ami nincs nyitva.
Vagy makróból mgnyitod a szükséges fájlokat, kiszeded belőle a szükséges adatokat és bezárod ami nem kell.
-
föccer
nagyúr
Van valami korlátja a excel memóra használatának? 1,5 GB memóra foglalás fölé megy, akkor teljesen szétesik, nem rajzolja ki a screent, nem számol, de még sokszor mentésre sem tudom rávenni, vagy hogy a kurzort fogadja és ki lehessen jelölni a cellákat.
Teljesen szétcseszett egy komplett riportoló rendszeremet. Szerencsére 2016-2023.ig megvannak az adatok, csak a 2024-eset kell átelelnőríznem. Lehet egyszerűbb, ha újra legenerálom az alapdatokat

Microsoft® Excel® a Microsoft 365-höz MSO (2402 buildverzió16.0.17328.20346) 64 bites
Köszi

-
föccer
nagyúr
Sziasztok!
MS környezetben van valami hasonló mint a google űrapok? Link birtokában bárki kitöltheti. Fontos lenne az a funkció is, hogy táblázatokba lementi a választ és kiküldi róla az emailt is.
Köszi

üdv, föccer
-
föccer
nagyúr
válasz
Fire/SOUL/CD
#53074
üzenetére
Ehh, milyen elmaradott vagyok

Új hozzászólás Aktív témák
- WoW avagy World of Warcraft -=MMORPG=-
- Hardcore café
- Google Chromecast topic
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Spórolós topik
- Steam Deck
- Sweet.tv - internetes TV
- Battlefield 6
- NVIDIA® driverek topikja
- Dobozos formában is befutott az AMD 32 GB-os csúcs-Radeonja
- További aktív témák...
- BESZÁMÍTÁS! LG UltraGear 32GR93U-B 32 144Hz IPS UHD 1ms monitor garanciával hibátlan működéssel
- AKCIÓ! Apple Mac Studio M2 ULTRA 2023 64GB 1TB SSD számítógép garanciával, hibátlan működéssel
- GYÖNYÖRŰ iPhone 13 mini 256GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS3405
- Azonnali készpénzes GAMER / üzleti notebook felvásárlás személyesen / csomagküldéssel korrekt áron
- Bomba ár! HP ProBook 430 G5 - i5-8GEN I 8GB I 256GB SSD I HDMI I 13,3" FHD I Cam I W11 I Garancia!
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


Ezt elkezdem beépíteni. Pénteken kaptam meg az új rendszert, eddig nem volt ilyen fícsör. 
















Grrr, 3 különböző excel verziót hazsnálok)










