Keresés

Részletes keresés

Fferenc50 Creative Commons License 2025.02.18 0 0 38413

Szia!

Eltárolod az elérési utat pl. a VBA makróban egy szöveg állandóban.

A Workbooks_Open eseménykezelőben megnyitáskor összehasonlítod a Workbook.Fullname tulajdonságot az eltárolt értékkel.

Ha nem egyezik, akkor üzenet és bezárás.

Üdv.

Előzmény: Andyyy42 (38412)
Andyyy42 Creative Commons License 2025.02.18 0 0 38412

Sziasztok,

 

abban tudnátok segíteni, hogy az excel file csak akkor legyen megnyitható, ha nem helyezték át?

Szóval ahová le van mentve, csak onnan.
Ha áthelyezik, akkor hibára fusson és ne nyíljon meg.

 

Az elérési út beállítására gondolok, hogy azt csekkolja vba-ban, vagy valahogy gondolom így kellene, de nem igazán tudom, hogyan...
Vagy ha más módszer?

 

Köszi

Garashan Creative Commons License 2025.02.17 0 0 38411

OFF:

Igen, én is így tudtam és a HR is elfogadta, amikor mondtam nekik, hogy a 6 órás műszakban nem szeretnék kivenni munkaközi szünetet, csak azért, hogy üldögéljek az öltözőben a kijelentkezésig még 20 percet.

Másik munkahelyemen pedig a munkaidő részét képezte. Azaz 8-tól 16-ig voltunk bent és 8 órát számoltak el ledolgozott időnek. (Papíron mondjuk 16:30-ig voltunk bent, nem is értem, hogy miért úgy írtuk a munkaszerződéseket...) Ott így mi sem éltünk vissza a helyzettel és akkor mentünk el kajálni, amikor úgymond nem volt sürgős dolog és ha kellett, akkor megszakítottuk az ebédet. Kicsi cég volt, összesen 3-an voltunk alkalmazottak és kialakult az a szokás, hogy reggelente munkaidő előtt együtt reggeliztünk és együtt is ebédeltünk. Addig úgymond megállt a munka. Nagyker volt a cég, így ha éppen nem esett be személyes vásárló vagy nem csörgött a telefon, akkor két feladat között meg tudtunk állni kajálni.

Előzmény: hellsing (38409)
hellsing Creative Commons License 2025.02.17 0 1 38410

Bocs, látom, hogy te is ismerted a szabályt :) Végig kellett volna olvasnom :o)

Előzmény: hellsing (38409)
hellsing Creative Commons License 2025.02.17 0 0 38409

OFF:

 

3: munkaidő-közi szünetet csak akkor kell tartani, ha több mint 6 órás a műszak. Legjobb tudásom szerint hat órásnál mondhatod a szünetre, hogy no, thanx.

 

:ON

Előzmény: Garashan (38408)
Garashan Creative Commons License 2025.02.17 0 0 38408

Reagálva a pontjaidra:

  1. Azt határozd meg, hogy egyszerre hány főnek kell bent tartózkodnia, akár sávosan is. Mert ennyi erővel mehetne reggel 2 ember, majd néhány óra múlva további 2 és le is van tudva a teljes nyitva tartás és a 4 fő.
  2. OK
  3. OK (Bár a franc se akar, csak azért +1 órát a munkahelyén dekkolni, mert annyi az ebéd szünet. Én biztosan kiharcolnám, hogy vigyék le a törvényi minimumra (20 percre). Egyszer dolgoztam egy helyen 6 órás műszakban, reggel 5:30-ra jártam. A HR mondta, hogy akkor 6 óra + 20 perc a bent töltendő idő. Én meg mondtam, hogy a 6 óra felett kötelező kiadni a munkaközi szünetet, így én azzal nem kívánok élni. Utána néztek a törvénynek, elfogadták, így otthon tudtam ebédelni)
  4. Akkor határozd meg, hogy a dolgozó mennyivel menjen be hamarabb, mint a nyitva tartás és mennyivel maradjon tovább. Mivel az a rendes munkaidő része a számára.
  5. Heti 2 pihenőnap kötelező, maximum 6 egymást követő nap után kötelező 1 nap pihenőidő.
  6. Ezzel nehéz előre kalkulálni (értem mire gondolsz, de ha heti 40 órában foglalkoztatsz embereket, akkor ha napi 5-öt osztasz be, akkor jön ki a -20%-al a napi 4 ember. Nyilván lesz olyan, amikor 5 lesz bent egyszerre és olyan is, amikor csak 4.)
  7. OK (törvényileg havi 1 vasárnap kötelező)
Előzmény: vutek (38407)
vutek Creative Commons License 2025.02.17 0 0 38407

Üdv

 

 

Tudnátok eben segíteni,  csinálnom kell egy munkaerő  tervezésimodeltt exelben  a következő paraméterekkel. 

 

1. Legalább 4 fő szükséges egy nap.

2. Az áruház nyitvatartási ideje 10:00-20:00-ig.

3. 8+1 órás műszakokban dolgoznak a kollégák, amiből 1 óra szünet, az nem számít munkaidőnek.

4. Reggelente számolj előkészületi idővel, zárásnál pedig rendrakási idővel.

5. A pihenőnapokra figyelj, vedd figyelembe, hogy hétvégén is dolgoznak a kollégák.

6. Számolj távolléti aránnyal is (minden kollégának a szerződött munkaórájának átlagosan a 20%-a szabadság és táppénz egy hónapban)

7. Szeretnénk, ha minden kollégának minden 2. hétvégéje szabad lenne!

Lehetőség szerint tegyél javaslatot, hogy hány teljes munkaidős és hány részmunkaidős kolléga a legoptimálisabb az osztály működéséhez!

 

 

 

 

Köszönöm ha tud valaki segíteni. 

 

 

 

 

Andyyy42 Creative Commons License 2025.02.16 0 0 38406

Köszönöm! 

Előzmény: Fferenc50 (38397)
Fferenc50 Creative Commons License 2025.02.12 0 0 38405

Szia!

Az Excel korábbi változataiban ezeket tömbképletként kellett bevinni (Ctrl + Shift + Enter). Az új verziókban így az O365-ben is már saját maga felismeri, hogy tömbképletként kell megoldani, nem kell a külön billentyűkombó.

Üdv.

Előzmény: RJancsi (38404)
RJancsi Creative Commons License 2025.02.12 0 1 38404

Már csak az volt a bajom, hogy ha beírtam a példaképletet, #ÉRTÉK! hibaüzenetet kaptam. Aztán rájöttem, hogy a magyar excel más elválasztó karaktereket használ mint az angol (tizedes pont helyett vesszőt, elválasztó vessző helyett pontos vesszőt stb.). Nagy sokára találtam egy példa táblázatot, ahol kiderült, hogy a hatványok együtthatóit (a kapcsos zárójelben levő számokat) a magyarban hanyatt törtvonallal "" (alt-Q) kell beírni. És szuper jól működik a függvény, nem kell tömb képletet használni, ha simán egy cellába beírja az ember a lin.ill függvényt és a képletben megadja hányadfokú trendvonalra kíváncsi, az együtthatókat automatikusan egymás melletti cellákba írja. 

 

 

 

Előzmény: Fferenc50 (38403)
Fferenc50 Creative Commons License 2025.02.12 0 0 38403

Szia!

Ez szerintem szuper. Még nem találkoztam korábban a LIN.ILL függvénnyel, most ránéztem a helpre. Ott is van róla szó a legvégén, de ez a magyarázat kifejezetten tetszik. Dícsérjük meg a MS-t, ritkán adódik rá lehetőség. Ez sokkal egyszerűbb, mint makrókkal operálni.

Üdv.

Előzmény: RJancsi (38402)
RJancsi Creative Commons License 2025.02.12 0 0 38402

Köszi, kipróbálom! Időközben írtam a Microsoft supportnak is, és csodák csodája 24 órán belül válaszoltak. Még nem próbáltam ki, de valami olyat írtak, hogy a lin.ill függvény csak nevében lináris (elsőfokú), valójában tetszőleges fokszámra paraméterezhető. Ez elég elegéns megoldás lenne. Részlet a levelükből:

 

1. Készítse elő az adatokat:

Tegyük fel, hogy az "x" értékek az "A" oszlopban, az "y" értékek a "B oszlopban" vannak, és az adatok a 2. sortól a 100. sorig terjednek (pl. "A2:A100" és "B2:B100").

 

2. Számítsa ki az állandókat a LIN.ILL függvénnyel:

Válasszon ki egy üres területet (pl. "D1:G1"), és írja be a következő képletet:

 

=LIN.ILL(B2:B100;A2:A100^{1;2;3};IGAZ;IGAZ)

 

Itt az 'A2:A100^{1,2,3}' azt jelenti, hogy illeszkedjen egy köbös polinomhoz ( 'y = c1 + c2x + c3x² + c4x³'). - Nyomja meg a 'Ctrl + Shift + Enter' billentyűkombinációt a tömbképlet megadásához. Az Excel egy tömböt ad vissza, amely a "c1, c2, c3, c4" állandókat tartalmazza.

 

3. Dinamikus állandók használata képletekben:

Feltételezve, hogy a "LIN.ill" által visszaadott állandók a "D1:G1" tartományban vannak tárolva, ezeket az állandókat más cellákban is használhatja. Például az "x=2" előrejelzett értékének kiszámításához:

 

= $D$1 + $E$1*2 + $F$1*2^2 + $G$1*2^3

 

Ily módon az adatok frissítésekor a "LIN.ILL" automatikusan újraszámítja az állandókat, és frissíti a képleteket.

Előzmény: Fferenc50 (38401)
Fferenc50 Creative Commons License 2025.02.11 0 0 38401

Bocs, a nagy igyekezetben lemaradt a makró:

Sub TrendlineEquation()
Dim objTrendline As Trendline
Dim strEquation As String
With ActiveSheet.ChartObjects(1).Chart
Set objTrendline = .SeriesCollection(1).Trendlines(1)
With objTrendline
.DisplayRSquared = False
.DisplayEquation = True
strEquation = .DataLabel.Text
Range("A5") = strEquation
End With
End With
End Sub

 

Üdv.

 

Előzmény: Fferenc50 (38400)
Fferenc50 Creative Commons License 2025.02.11 0 0 38400

Szia!

Ezt az oldalt találtam:

How to Use VBA to Access the Equation of a Trend Line on Microsoft Excel

Ez a makró az A5 cellába írja a trend egyenletet (a cellát tudod változtatni természetesen), ami szöveg formátumban tartalmazza az egyenletet.

Ebből szöveg darabolással ki tudod hámozni a számodra megfelelő megoldást, ha nem menne, légy szíves írj ide egy valós egyenlet szöveget, mert polinom függő a szétdarabolás.

Arra is lehet makrót írni és akkor egy futással lehet az egyenletnek megfelelő együtthatókat megadni.

A munkafüzetet természetesen makróbarátként kell menteni.

Üdv. 

Előzmény: RJancsi (38399)
RJancsi Creative Commons License 2025.02.11 0 0 38399

Lehet, hogy rosszul kérdeztem (vagy a válaszodat értem félre). Nem azt szeretném, hogy egy meglévő trendvonalat kibővítsek az adathalmazt megelőzően vagy utána. A problémám az, hogy az adathalmazomban mérési eredmények (az X tengelyen ultrahang sebesség, az Y tengelyen a hozzá tartozó szilárdság) van. Idővel ezek a mérési eredmények egy adott értéktartományon belül "sűrűsödnek", az x értékek egy tartományon belül változnak, tehát a táblázatban nincsenek érték szerint sorbarendezve, lehetnek ismétlődések is. Ahogy egyre több pontpár kerül a táblázatba a trendvonal (ami harmadfokú polinom) ezzel együtt változik.

Azt szeretném, ha egy szerkezetnél csak ultrahang sebességet mérek, a legutóbbi (aktuális) trendvonal függvényével tudjak szilárdságot becsülni. Ha újabb UH sebesség/szilárdság pontpárral bővül a táblázat (és ezzel módosul a trendvonal) a korábbinál pontosabb becslést lehetne kapni. 

Előzmény: Fferenc50 (38398)
Fferenc50 Creative Commons License 2025.02.10 0 0 38398

Szia!

Sajnos nem látom, hogy közvetlenül lehetne paramétert kiolvasni a trend egyenlethez. Viszont a Trendline objektumhoz van Backward2 és Forward2 tulajdonság, amivel léptetni tudod a trendet az általad meghatározott egységgel.

Trendline.Backward2 property (Excel) | Microsoft Learn

Üdv.

Előzmény: RJancsi (38396)
Fferenc50 Creative Commons License 2025.02.10 0 0 38397

Szia!

Az Environ("COMPUTERNAME") megadja az adott gép nevét. Ezt azonban csak a fájl megnyitása közben (a makró futtatásakor) tudod lekérdezni és összehasonlítani az általad engedélyezettel. 

Célszerűen a Workbook_Open eseménykezelőben lenne értelme elhelyezni. A fájlt rejtett ablakban nyitod meg és ha nem jogosult gépről nyitják meg, akkor üzenettel bezárod, ha pedig jogosult, akkor láthatóvá teszed az ablakot.

A jogosult gépek nevét persze tárolni kell valahol egy munkalapon vagy "fixen" beírni a makróba vagy egy külső fájlba, amit jogosultság ellenőrzésnél megnyitsz.

Üdv.

Előzmény: Andyyy42 (38395)
RJancsi Creative Commons License 2025.02.09 0 0 38396

Sziasztok!

Az a kérdésem, hogyan/honnét lehet a trendvonal paramétereit kiolvasni? Ha van egy táblázatom, az abból készített grafikonhoz tudok olyan trendvonalat rendelni ami viszonylag jól illeszkedik. A trendvonal egyenletét is meg tudom jeleníteni amivel szeretnék számítást végezni (egy "x" változóhoz a trendvonal egyenletével kiszámolni "y"-t). Jelenleg csak úgy tudom megoldani, ha kézzel beírom a trendvonal egyenletét egy függvénybe. Ez egészen addig jó, amíg az adatokat tartalmazó táblázatban nem történik változás pl. új adatsor kerül bele. Ilyenkor a trendvonal változhat, de a kézzel bepötyögött képlet nyilván nem. Tudtok rá valami megoldást? Általános esetben kérdezem, ismerem a trend függvényt de az csak a lineáris regresszióhoz jó, általános (többfokú polinom) trendvonalhoz nem. 

Andyyy42 Creative Commons License 2025.02.09 0 0 38395

Sziasztok,

 

Azt meg tudtam csinálni, hogy ne engedje az excel bezárás előtt menteni a változtatásokat ás ne is lehessen lementeni "mentés másként"-el.

Így csináltam:

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)

ThisWorkbook.Saved = True

If SaveAsUI.Saved = True Then

Cancel = True

MsgBox ("Nem lehet másként menteni")

ElseIf ThisWorkbook.Saved = True Then

a = InputBox("Jelszó:", "Tudnod kell a jelszót, h engedje a mentést")

If a = "123" Then

MsgBox ("Mentve")

Else

Cancel = True

MsgBox ("Nem lehet menteni")

End If

End If

End Sub

 

Ezzel egyidejűleg, azt hogyan oldom meg, hogy csak én és mondjuk a megadott felhasználók tudják megnyitni?
Environ-ra gondolok, hogy gépneveket adok meg, akiknek így adok jogosultságot a megnyitásra.
Fontos, h gépnév legyen, ne felhasználó név.

 

Ezt még, hogyan és hová teszem hozzá?

 

 

Illetve még annyi, hogy gépneven azt a vezérlőpulton belül kikeresve - "teljes eszköznév" mellett szereplő nevet értjük, vagy az excelnek van egy "belső" gépneve, amit saját magának használ?

 

Köszönettel, 

András

Ketele69 Creative Commons License 2025.02.06 0 0 38394

Szia!

Most tudtam csak este megnézni.

Működik, tökéletes!!!

Nagyon köszönöm!

Üdv,

Előzmény: Fferenc50 (38393)
Fferenc50 Creative Commons License 2025.02.05 0 0 38393

Szia!

Megnézhetnéd az alábbi képletet:

A beviteli munkalapon az A oszlopban vannak a partnerek, B oszlopban a hozzájuk tartozó kiadások, a másik munkalap neve Munka2 és az A1:B200 tartományban vannak a partnerek és a keretek, akkor a képlet a 2. sor első üres cellájába:

= SZUMHATÖBB($B$2:$B100;$A$2:$A100;$A2)-FKERES($A2;Munka2!$A$2:$B$200;2;0)

A képlet lefelé hüzható.

Ha táblázattá alakítod az adatbeviteli részt, akkor a függvény minden új sornál automatikusan megjelenik. (Ehhez a beállítások - speciális - adattartomány végén a formázás és képletek folytatása.

Üdv. 

Előzmény: Ketele69 (38392)
Ketele69 Creative Commons License 2025.02.05 0 0 38392

Kedves Fórumtársak!
Az alábbiakban kérnék tanácsot.

 

Az egyik munkalapon van egy tábla, melyben a partnerek és kifizetési adataik kerülnek folyamatosan rögzítésre.
A másik munkalapon van a partnerlista és az adott partnerhez tartozó keretösszeg.

A cél az lenne, hogy a kifizetési adatok rögzítésekor azonnal lehessen látni, ha az adott partner kerete elfogyott.

Ezt most úgy oldottam meg, hogy készítettem egy a partnereket csoportosító és a kifizetési adataikat összegző kimutatást, melyet minden egyes tétel rögzítése után frissítek.

1.Az első kérdésem, van erre valamilyen függvényes megoldás? (Groupby függvényt nem találtam.)
2. Ha nincs, akkor automatizálható a frissítés, úgy makróval, hogy ha az A2:A1000 tartomány nem üres celláinak száma változik fusson le a "kimutatás frissítése" (Alt+F5) parancs? (A kimutatás ua. oldalon van, ahol a tételek rögzítése történik.)

 

Köszönöm,

pimre Creative Commons License 2025.01.29 0 0 38391

Igen, ezt a lehetőséget nem vettem észre. Ezért pótlólag a végére beszúrtam, hogy ha L6>X6, akkor a 8. hét legyen a találat.

=HAELSŐIGAZ(P6>L6;0;SZUM(P6:Q6)>L6;1;SZUM(P6:R6)>L6;2;SZUM(P6:S6)>L6;3;SZUM(P6:T6)>L6;4;SZUM(P6:U6)>L6;5;SZUM(P6:V6)>L6;6;SZUM(P6:W6)>L6;7;L6>X6;8)

Előzmény: Fferenc50 (38390)
Fferenc50 Creative Commons License 2025.01.29 0 0 38390

Szia!

Logikus amit írsz és ez nyilván a sima HA egymásba ágyazásra is igaz. Viszont próbáld ki lsz. hogy az utolsó értéknél is nagyobbat írsz az L6 cellába. Ekkor hibaüzenet lesz a HAELSŐIGAZ eredménye. Ezért van az első felételnél  a ">6" nálam.

Üdv. 

Ps. Örültem, hogy az általam mutatott verziót kitaláltam. :))

Előzmény: pimre (38389)
pimre Creative Commons License 2025.01.29 0 0 38389

Érdekes ez a HAELSŐIGAZ függvény. Kicsit próbálgattam a sajám mintaadataimmal, hogy nem lehet-e leegyszerűsíteni a VAGY(B2=A2;SZUM(B2:C2)>A2...stb. formula helyett VAGY(SZUM(B2:C2)>=A2 alkalmazásával. Aztán egyszer csak meglepetés ért. A függvény az egyenlőségjel nélkül is megtalálta a helyes eredményt. Azt állítottam be, hogy a kumulált érték az 5. hétnél pontosan legyen egyenlő az L6 értékével. Ezt írtam be:  =HAELSŐIGAZ(P6>L6;0;SZUM(P6:Q6)>L6;1;SZUM(P6:R6)>L6;2;SZUM(P6:S6)>L6;3;SZUM(P6:T6)>L6;4;SZUM(P6:U6)>L6;5;SZUM(P6:V6)>L6;6;SZUM(P6:W6)>L6;7), mire kiadta az 5. hetet.

Az eredmény persze logikus, hiszen a 6. hét az első, ami nagyobb, mint az L6 értéke, így az 5. hét a jó eredmény, akár kisebb, akár egyenlő L6 értékével.

 

Íme a kép:

 

Előzmény: Fferenc50 (38386)
bé.laci Creative Commons License 2025.01.29 0 0 38388
Előzmény: Fferenc50 (38386)
bé.laci Creative Commons License 2025.01.29 0 0 38387

Csináltam egy új munkalapot a kumulatív vevői igényeknek (mert végülis ez egyönmagában is hasznos infó), és azon a lapon már probléma nélkül működik a dolog:)

 

Előzmény: pimre (38385)
Fferenc50 Creative Commons License 2025.01.29 0 1 38386

Szia!

Nem feltétlenül kell hozzá segédsor, egymásba ágyazott ha függvényekkel is megoldható, ha rövidebb időszakra tekintesz előre. A példában 6 napra van a képlet összeállítva, ha ennél messzebb szeretnél látni, akkor folytatni kell a HA(VAGY képlettel a ">6" helyén és az utolsó napra kerül a hamis ágra ">x"

A B4 cella képlete:

=HA($B2>A2;0;HA(VAGY(B2=A2;SZUM(B2:C2)>A2);1;HA(VAGY(SZUM(B2:C2)=A2;SZUM(B2:D2)>A2);2;HA(VAGY(SZUM(B2:D2)=A2;SZUM(B2:E2)>A2);3;HA(VAGY(SZUM(B2:E2)=A2;SZUM(B2:F2)>A2);4;HA(VAGY(SZUM(B2:F2)=A2;SZUM(B2:G2)>A2);5;HA(VAGY(SZUM(B2:G2)=A2;SZUM(B2:H2)>A2);6;">6"))))))) & " napra elég"

Ha 2019-esnél frissebb verziód van, akkor létezik a HAELSŐIGAZ függvény, amellyel a képlet így néz ki (M2 cella) :

=HAELSŐIGAZ(SZUM(B2:H2)=A2;">6";$B2>A2;0;VAGY(B2=A2;SZUM(B2:C2)>A2);1;VAGY(SZUM(B2:C2)=A2;SZUM(B2:D2)>A2);2;VAGY(SZUM(B2:D2)=A2;SZUM(B2:E2)>A2);3;VAGY(SZUM(B2:E2)=A2;SZUM(B2:F2)>A2);4;VAGY(SZUM(B2:F2)=A2;SZUM(B2:G2)>A2);5;VAGY(SZUM(B2:G2)=A2;SZUM(B2:H2)>A2);6)&" napra elég"

Ebben a képletben elsőként kell beírni azt az összegképletet, amely a még látni kívánt időszakon túl mutat és a végén folytatni a VAGY képletekkel.

Remélem, sikerül adaptálnod.

Üdv.

 

 

 

Előzmény: bé.laci (38384)
pimre Creative Commons License 2025.01.28 0 1 38385

"Ha jól értem egy kumulatív vevői igény segédsort készítesz." Pontosan. És ahogy írtam, bármelyik sorba kumulálhatod az igényeket. És akkor a P7:W7 helyett a megfelelő sor számát írod. 

Ha végképp nincs a közelben üres sor, akkor írhatod a nullát akár az Akár AA oszlopba, a kumulált adatokat meg az AB-től, és akkor a képletben a P7:W7 helyett AB7:AO7, illetve amelyik oszlopig tartanak az adataid. 

Előzmény: bé.laci (38384)
bé.laci Creative Commons License 2025.01.28 0 0 38384

Ha jól értem egy kumulatív vevői igény segédsort készítesz.

 

Nem tudom ez nekem miért nem jutott eszembe :S

Előzmény: pimre (38382)

Ha kedveled azért, ha nem azért nyomj egy lájkot a Fórumért!