- Xiaomi 11 Lite 5G NE (lisa)
- Megjelentek az első HMD okostelefonok, ezek a magyar áraik
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- Itt az első kép a 2024-es Nokia 3210-ről
- Készülőben a Xiaomi 2021-es csúcsmodelljeinek HyperOS frissítése
- Redmi Note 13 Pro+ - a fejlődés íve
- Samsung Galaxy A54 - türelemjáték
- Yettel topik
- Oppo Find X5 Pro - megtalálták
- iPhone topik
Hirdetés
-
Lenovo Essential Wireless Combo
lo Lehet-e egy billentyűzet karcsú, elegáns és különleges? A Lenovo bebizonyította, hogy igen, de bosszantó is :)
-
Premier előzetesen a Gray Zone Warfare
gp A mai naptól hivatalosan is elrajtol a játék korai kiadása PC-n.
-
Súlyos adatvédelmi botrányba kerülhet a ChatGPT az EU-ban
it Egyre nagyobb probléma az AI hallucinálása – most az osztrák adatvédelmi hatóság veheti elő a ChatGPT miatt az OpenAI-t, alapvetően a GDPR megsértése miatt.
-
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
-
lappy
őstag
válasz Onderon #49950 üzenetére
A képletből kiveszed az = jelet és minden feltétel eggyel csökkenteni kell pl ahol 9 van oda 8 megy
De gondoltam hogy egy kicsit átalakítod es kipróbálod mi történik ha nem egyenlő nagyobb stb.
Amúgy a megfogalmazás is érdekes akkor hiszen 1-2 ora után jár 15% akkor eleg 1 órát dolgozni es kapom a zs-t
De most látom hogy teljesen más kell neked mint amit csináltam
Majd holnap vagy addigra vki megírjaBámulatos hol tart már a tudomány!
-
lappy
őstag
válasz Onderon #49950 üzenetére
Na akkor fussunk neki újra mert vmi meg most sem jó
Ha 1 ora a túlóra akkor jar neki 15% de korábban azt írtad hogy 1-2 ora esetén 15% na ezt arányosan elosztani nem lehet
Csak akkor ha 2 órára jár 15 % arányosan 4 óra esetén már 17,5 % stbBámulatos hol tart már a tudomány!
-
lappy
őstag
válasz Onderon #49950 üzenetére
=HA(KEREK.LE(A1/IDŐ(0;15;0);0)<1;" ";HA(KEREK.LE(A1/IDŐ(0;15;0);0)<8;B1*0,01875*KEREK.LE(A1/IDŐ(0;15;0);0);HA(KEREK.LE(A1/IDŐ(0;15;0);0)<16;B1*0,175;HA(KEREK.LE(A1/IDŐ(0;15;0);0)<24;B1*0,2))))
Na az első részben megcsináltam az általam jónak gondolt elv alapján a számítást
A kodban a B1*0,01875 .. részt másolni es azt kell átalakítaniBámulatos hol tart már a tudomány!
-
fjns
lelkes újonc
válasz Onderon #49950 üzenetére
Szia, az biztos, értelmezés kérdése, hogy megszületik-e számodra a megfelelő képlet.
Az eddig leírtak jelentése számomra: a túlóra első órájára a napibér 15%-a jár, a második órára szintén, a harmadik és negyedik órára 17,5%-17,5%, végül az ötödik és hatodik órára a napidíj 20-20 százaléka a túlóra összege. Minden órának a díját 4 részletben adják a teljes és a megkezdett 15 percekért. Ebben kivételes az első óra, ahol az első 15 percben semmi nem jár, csak a második 15 percben adják az első 15 percre járó összeget is.
Ehhez az értelmezéshez tartozik a következő képlet:
=HA(A1/IDŐ(0;15;0)<=1;0;MIN(8;KEREK.FEL(A1/IDŐ(0;15;0);0))*B1*0,0375+MIN(8;MAX(0;KEREK.FEL(A1/IDŐ(0;15;0);0)-8))*B1*0,04375+MIN(8;MAX(0;KEREK.FEL(A1/IDŐ(0;15;0);0)-16))*B1*0,05)
Kérdés még, hogy mi történik a hetedik órától kezdve. Az előző képlet nem számol rá semmit, csak 6 órát vesz figyelembe a túlórából. Ha ugyanúgy számolódik a 6 óra után az esetleges többi idő, mint az ötödik és a hatodik óra, akkor így módosul a képlet:
=HA(A1/IDŐ(0;15;0)<=1;0;MIN(8;KEREK.FEL(A1/IDŐ(0;15;0);0))*B1*0,0375+MIN(8;MAX(0;KEREK.FEL(A1/IDŐ(0;15;0);0)-8))*B1*0,04375+MAX(0;KEREK.FEL(A1/IDŐ(0;15;0);0)-16)*B1*0,05) -
istvankeresz
aktív tag
válasz istvankeresz #49955 üzenetére
Müködik, viszont az lr egy nagyon nagy értéket kap, így a 1010185 sornál kezdi a beírást. Ez mért lehet? Honnan vesz egy ekkora értéket?
Így néz ki most:
Dim cell As Range
Dim ws As Worksheet
Dim lr As Long
lr = Sheets(6).Range("E" & Rows.Count).End(xlUp).Row + 1
For Each ws In ThisWorkbook.Worksheets
For Each cell In Sheets(ws.Name).Range("K2:K6")
If cell.Value Like "2022.01*" Then
Sheets(6).Range("E" & lr) = cell.Value: lr = lr + 1
MsgBox (ws.Name & " " & cell.Value & " " & lr)
End If
' MsgBox (ws.Name & " " & cell.Value)
Next cell
Next ws
[ Szerkesztve ]
XBOX ONE GT: istvankereszt79
-
istvankeresz
aktív tag
válasz istvankeresz #49956 üzenetére
Bocs a sok hozzászólásért. Egy restart megoldotta.
Szerk.:
Azaz mégsem. Második futtatásra az lr már 109-es sorral kezdte. Pedig a 4-es sorral kellett volna folytatnia az E oszlopban, mivel a Az E1-től E3-ig másolt be értéket.[ Szerkesztve ]
XBOX ONE GT: istvankereszt79
-
Fferi50
őstag
válasz istvankeresz #49957 üzenetére
Szia!
Vannak nem látható karakterek az adott oszlop egy cellájában. Megnézheted hol található, ha a munkalapon állva F5 majd irányított - utolsó cella.
A tényleges adattartalomtól lefelé ki kell törölni az összes sort/oszlopot, akkor áll helyre.
Ha folyamatos az adatok beírása az oszlopban - vagyis nincs üres cella az adatok között, akkor használható a Range("E1").End(xlDown).Row +1 is az első üres cella meghatározására. Figyelj arra, csak akkor használható a fenti forma ha az oszlop első 2 cellájában van érték, különben hibát fog jelezni, mert a munkalap utolsó során túl akar lépni.
Amíg nincs adat az első két cellában, akkor direktben meg kell adni az 1. ill. 2. sort.
Üdv. -
mckay
aktív tag
Sziasztok!
Van valami trükkje annak, hogy a 'keresés és csere' paranccsal (tehát nem képlet írásával) be lehessen szúrni + jelet?
Nekem valahogy nem jön össze, és feltételezem, hogy a + jelet nem komálja alapból ez a beépített parancs.Arról van szó, hogy telefonszámokat kéne javítanom.
Ilyenek vannak a kapott táblában:
06301234567
36201234567
stb.
És ilyent kellene előállítanom:
+36301234567
+36201234567Mit gondoltok, hogyan kellene nekilátnom?
Mégiscsak képletet kéne írnom?Nagyon köszönöm a segítséget, előre is!!!
-
mckay
aktív tag
-
Fferi50
őstag
Szia!
Próbáld meg ezt a képletet:=HA(BAL(A2;2)="06";"+36"&KÖZÉP(A2;3;120);HA(BAL(A2;2)="36";"+"&A2;"+36"&A2))
Ha 06, akkor +36-ra változtatja, ha 36 az eleje akkor csak hozzáteszi a + jelet, ha egyik sem, akkor +36-ot tesz a szám elé.
Természetesen másik oszlopban kell a képletet használni.
Üdv.[ Szerkesztve ]
-
oke
senior tag
Abban kérném a segítségetek, hogy van-e arra egyszerű megoldás, hogy egy kimutatás alapján egy-egy tételhez tartozó darabszámból egy mellette megadott darabszámú (cella értéke alapján) sor kijelölésre kerüljön az analitikus listából, mindegy hogy milyen módon, csak utána szűrhető legyen.
Példa, de a valós táblában kb 40 tétel van. Az ADATOK1 lenne a mennyiség, amiből ki kellene jelölni a C oszlopban megadott számú sorokat az analitikát tartalmazó fülön.
Kimutatás:
Ez lenne a szükséges eredmény az analitikus fülön (Munka1), itt most sárgával jelöltem ki az adott számú sorokat, de lehet az utolsó akár a d oszlopba egy X jelölés is:
Köszönöm!
-
Fferi50
őstag
Szia!
Egy megoldási lehetőség:
A B2 cella képlete:=HA(DARABHATÖBB($A$2:A2;INDEX($E$1:$F$4;HOL.VAN($A2;$E$1:$E$4;0);1);$B$1:B1;"X")<INDEX($E$1:$F$4;HOL.VAN($A2;$E$1:$E$4;0);2);"X";"")
Ezt igazítsd az adataidnak megfelelően. Kérlek figyelj a $-okra a címzésben.
A képlet megvizsgálja, hogy az adott településen az addigi X-ek száma elérte-e a kívánt értéket, ha igen, akkor nem tesz tovább X-et.[ Szerkesztve ]
-
Monalina
friss újonc
Sziasztok! Nem tudom, hogy tudnátok-e segíteni. Egyik napról a másikra nem tudom görgetni az egyik excel munkafüzetet. Több kolléganővel használjuk közösen, és ma reggel bekapcsolt szűrővel találtam a munkafüzetet. Kivettem, de felugrik az egyes sorra, és csak annyit látok az excel táblából, amennyi a képernyő aljáig ér. A másik munkafüzetben tudok dolgozni. Aki nagyon otthon van az excelben tudna nekem segíteni? Megkértem az egyik kolléganőt, hogy nyissa meg, és amíg belépett állapotban van, én is megnyitottam és nem küld üzenetet olvasásról stb, pedig eddig így volt. Illetve ő kivette a szűrőt, de nálam továbbra is látszik. Teljesen olyan, mintha valaki elállított volna valamit, vagy bekapcsolt volna valami zárolást, nem tudom. Home officeban vagyok, elég nehézkes a kommunikáció, de addig is amíg válaszolnak megesz az ideg... legyetek szívesek valaki mondjon valamit... Köszi szépen!
-
youngboy
senior tag
Sziasztok!
Van egy nagyon érdekes problémám, amit megpróbálok leírni. Remélem sikerül
Van egy fájl. Nevezzük fájl1-nek. Ebben oszlop (tartomány) elnevezve. Legyen Oszlop1.
Másik fájlba szeretnék (Fájl2) bekeresni értéket a Fájl1-ből. Több függnynél is teljesen összeomlik az excel és bezárul, ha a Fájl1 - Oszlop1 nevő tartományára hivatkozom a Fájl2-ben az excel függvény beszúró ablakában.
függvények, amikre ez igaz: FVERES, XKERES, HOL.VAN, XHOL.VANEsetek, amikor ez a probléma nem jön elő:
- ha ugyanezt csinálom, csak Fájl1-n belül. Nem egy másik fájlból
- ha kézzel írom be a függvényt és nem az excel függvény beszúra alkalmazásában
- ha az oszlopnak nem adok nevet
- ha egy másik fájlban próbálok hasonló körülményt előálltani, mint Fájl1. (Kevesebb adat.)
- ha elkezdem a lapokat, formázásokat törölni. (Ezt szakaszosan megtéve és újra és újra próbálkozva eltérő eredményket kapok). Nem határozható meg egyértelműen.Találkozozz már valaki ilyennel?
Van bárkinek ötlete, hogy mi lehet ez? -
Delila_1
Topikgazda
válasz youngboy #49970 üzenetére
Túl nagy a tartomány, amiben keresel. A 2007-es verziótól kezdve bő 1 millió sorról van szó.
A helyedben átalakítanám a fájl1-ben a tartományt táblázattá, és ezen belül adnék nevet a kérdéses oszlopnak, a fejléc kivételével. Ha például a táblázat az
A1:G1235
tartományt fedi le, és az A oszlopban keresel, azA2:A1235
-nek adnám a nevet.
A táblázat növekedése vagy csökkenése automatikusan módosítja az elnevezett tartomány méretét.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
istvankeresz
aktív tag
Üdv!
Tesztelem az alábbi kódrészletet, de ha a feltétel a ciklusban másodszor is igaz, akkor az első igaz feltételhez kapcsolódó értéket másolja át és nem a második körben igaz feltételhez kapcsolódóét. Variálgattam, de nem jutottam előre, így a "rosszul" működőt másolom be ide. Esetleg ötlet valakinek?
lr = Sheets(ComboBox5.Value).Range("E" & Rows.Count).End(xlUp).Row + 1
For Each ws In ThisWorkbook.Worksheets
For Each cell In ThisWorkbook.Sheets(ws.Name).Range("K2:K200")
If cell.Value Like "2023.01*" Then
ActiveWorkbook.Sheets(ComboBox5.Value).Range("B" & lr) = ThisWorkbook.Sheets(ws.Name).Range("A2")
ActiveWorkbook.Sheets(ComboBox5.Value).Range("C" & lr) = ThisWorkbook.Sheets(ws.Name).Range("B2")
ActiveWorkbook.Sheets(ComboBox5.Value).Range("D" & lr) = ThisWorkbook.Sheets(ws.Name).Range("M2")
ActiveWorkbook.Sheets(ComboBox5.Value).Range("F" & lr) = ThisWorkbook.Sheets(ws.Name).Range("L2")
ActiveWorkbook.Sheets(ComboBox5.Value).Range("G" & lr) = ThisWorkbook.Sheets(ws.Name).Range("N2")
ActiveWorkbook.Sheets(ComboBox5.Value).Range("H" & lr) = ThisWorkbook.Sheets(ws.Name).Range("O2")
ActiveWorkbook.Sheets(ComboBox5.Value).Range("I" & lr) = ThisWorkbook.Sheets(ws.Name).Range("P2")
ActiveWorkbook.Sheets(ComboBox5.Value).Range("E" & lr) = cell.Value: lr = lr + 1
End If
Next cell
Next ws
XBOX ONE GT: istvankereszt79
-
Fferi50
őstag
válasz istvankeresz #49974 üzenetére
Szia!
"az első igaz feltételhez kapcsolódó értéket másolja át és nem a második körben igaz feltételhez kapcsolódóét."
Természetesen, hiszen fixen megadtad, hogy mely cellákból másolja át az értékeket:"ThisWorkbook.Sheets(ws.Name).Range("A2") stb"
Helyesen szerintem:ThisWorkbook.Sheets(ws.Name).Range("A" & cell.Row").Value
Megjegyzés: én kiírnám a Value-t mindenhova, mert bár alapértelmezett, adódhat olyan eset, amikor nem egyértelmű, hogy cella értékére van szükség vagy magára a cellára.
Üdv.[ Szerkesztve ]
-
Fferi50
őstag
válasz Magnat #49977 üzenetére
Szia!
A Value2 - höz fűzött magyarázat:
"The only difference between this property and the Value property is that the Value2 property doesn't use the Currency and Date data types. You can return values formatted with these data types as floating-point numbers by using the Double data type."
A Value mindig a cellában levő adattípusnak felel meg a Value2 pedig Variant típusú.
Ha viszont a Cellában látható formában szeretnénk adatot kapni, akkor a Text tulajdonságot kell használni - persze ilyenkor String lesz a megkapott érték.
A Value az alapértelmezett tulajdonsága a Range-nek, így elvileg nem kell kiírni, más kérdés, hogy előfordulhat emiatt hibás értékadás, én nem sajnálom azt a pár betűt.
Üdv.[ Szerkesztve ]
-
Magnat
veterán
válasz Fferi50 #49978 üzenetére
Igen, mondjuk a Text amiatt is necces, h ott mindig azt kapod ami éppen ki van írva, szóval ha össze van nyomva a cella és nem fér ki a valós tartalom, akkor a textben sem lesz benne (meg elég lassú is)... a Value2 annyiban is jobb mint a Value (ez annak a folyománya amit írtál), h az általad is említett currency és date típusoknál adatvesztést is okozhat tizedesek tekintetében, illetve kicsit lassabb is a Value2-nél: [link]
[ Szerkesztve ]
̿' ̿'\̵͇̿̿\з=(◕_◕)=ε/̵͇̿̿/'̿'̿ ̿
-
#86883328
törölt tag
Sziasztok!
Energiafogyasztás csökkenést szeretnék kiszámolni. A múlt évi adatok és az ezévi adatok alapján havi lebontásban.
A két képletem a következő attól függ, hogy a cellaformázás szám vagy százalék:
=1-(A1/B1) ha százalékos a cella és A1 az idei fogyasztás B1 a tavalyi
=100-(100*A1/B1) ahol A1 a tavalyi B1 az idei.
Ezt két hete készítettem de már nem értem, hogy ha tavaly 110 egység volt a fogyasztás idén 100 akkor kijön, hogy mínusz 10 százalékos volt a csökkenés, DE ha fordított a helyzet tehát tavaly volt 100 és idén 110 vagyis nem sikerült csökkenteni a fogyasztást hanem növelni akkor miért plusz 9 százalékos növekedést ír 10 százalék helyett? -
Fferi50
őstag
válasz #86883328 #49982 üzenetére
Szia!
Szerintem épp fordítva van!
Egyébként a képleted sem megfelelő. A helyes képlet:
(A1/B1-1)*100, mivel a százalékos változást szeretnéd megtudni.
(110/100-1)*100=10%
(100/110-1)*100=9,09%
Magyarázat: Nagyobb alapnak nagyobb az 1 %-a is! 100 1%-a 1 míg 110 1%-a 1,1
Ezért kevesebb ugyanaz a 10 egység %-ban ha 110-hez viszonyítod, mintha 100-hoz viszonyítanád.
(Gondolj az ÁFA % -ra: a nettó értékre számolva 27 %, de a bruttóból csak 21,26 %!, mivel 127 21,26% -a lesz 27, így 127-27=100)
Üdv.[ Szerkesztve ]
-
the radish
senior tag
Sziasztok!
Egy kissé belekeveredtem az alábbi folyamat kivitelezésébe:
Makró1: "A1" cella módosítása esetén fut le, többek között törli az A2 cella értékét is.
Makró2: "A2" cella módosítása esetén fut le
Hogy tudom azt kivitelezni, hogy az A1 cella módosítása esetén (és így az A2 cella törlése esetén) ne fusson le a Makró2, csak ha az A2 cellát a Makró1 futását követően módosítom??Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Address = "$A$1" Then
Call Makró1
End If
If Target.Address = "$A$2" Then
Call Makró2
End If
End Sub
Előre is köszönöm! -
Delila_1
Topikgazda
válasz the radish #49984 üzenetére
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Target.Address = "$A$1" Then Call Makro1
If Target.Address = "$A$2" Then Call Makro2
Application.EnableEvents = True
End SubProgramozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz the radish #49986 üzenetére
Valamit elronthattál, nálam terv szerint működik.
Nem hívja meg esetleg a Makro1 a Makro2-t?Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Delila_1
Topikgazda
válasz the radish #49988 üzenetére
Szívesen.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
the radish
senior tag
Sziasztok!
Szöveges dokumentum mentése:
ActiveWorkbook.SaveAs Filename:=utvonal$ & nev$ & ".txt", FileFormat:=xlTextMSDOS, _
Van rá mód, hogy az új fájlnak egyedi dátumot (létrehozás) adjunk?
Előre is köszönöm!
-
Fferi50
őstag
válasz the radish #49990 üzenetére
Szia!
Mire gondolsz?
A fájl nevébe beleteheted szöveges formában a létrehozás dátumát és időpontját is.
Üdv. -
Delila_1
Topikgazda
válasz the radish #49992 üzenetére
Set adatfile = FSO.GetFile("útvonal\fájlnév kiterjesztéssel")
A létrehozás dátumát az adatfile.DateCreated adja meg.Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
the radish
senior tag
válasz the radish #49994 üzenetére
Az megint kimaradt az infóból, hogy az excel hozza létre a txt fájlt. (Hátha lényeges)
-
Fferi50
őstag
válasz the radish #49995 üzenetére
Szia!
A létrehozás dátumát a rendszer hozza létre, ahhoz nem lehet "normálisan" hozzányúlni szerintem.
Üdv. -
Lasersailing
senior tag
Sziasztok,
office 365 VBA-hoz kapcsolódó kérdésem lenne:
probléma 1:
Van egy userform-om, amin található egy textbox típusú mező, ahova szeretnék adatokat beszkennelni. Odáig eljutottam, hogy beszkennelem az adatot.
(A szkennelés egy notepadban ellenőrizve tartalmazza az <enter> karaktert is (vagy legalábbis a soremelést biztos)). VBA userformon elvileg el kellene ugrania egy következő mezőre, amin a tabstop engedélyezve van. Ezt követően elvileg el kellene kezdje az alábbi programrészletet:Private Sub szken_AfterUpdate()
De nem kezdi el, csak ha rákattintok egy másik mezőre a szkennelés után.Ami az igazán furcsa, hogy egy másik programrészletnél meg működik ez gond nélkül, de nem látok semmilyen különbséget ami okozhatná ezt.
probléma 2:
Próbáltam megkerüléssel kezelni a problémát:
Csináltam egy üres textbox-ot, csak azért, hogy ott átállítsam a "focus"-t a megfelelő cellára, de erre az alábbi hibát dobja:Valamelyikben tudtok segíteni, hogy mi lehet a gond?
Köszönöm előre is!
-
the radish
senior tag
Sziasztok!
O1 cella képlete:
=HAHIBA(INDEX(C$1:C$20000;$N1);"")
Szeretném makróval helyettesíteni az "O" oszlop meghatározott, pl. a már bevált "usor" elnevezésű tartományára, hogy hogy ne kelljen "végigszórni" képlettel.
Célszerű így, vagy csináljak egy érték másolás önmagára rutint?
Új hozzászólás Aktív témák
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24
- Bitdefender Total Security 3év/3eszköz! - "Tökéletes védelem most kedvező áron..."
- Steam, Windows, Origin kulcsok, előfizetések közvetlenül a kiadótól, a LEGJOBB ÁRON!
- AKCIÓ! - STEAM kulcsok /Anuchard, Aragami, Children of Morta, stb. - 2024.04.17.
- PC JÁTÉKOK (OLCSÓ STEAM, EA , UPLAY KULCSOK ÉS SOKMINDEN MÁS IS 100% GARANCIA )