Hirdetés
- sziku69: Szólánc.
- Luck Dragon: Asszociációs játék. :)
- bambano: Bambanő háza tája
- sziku69: Fűzzük össze a szavakat :)
- MaxxDamage: Vizes Laptop Hűtés? Lehetséges? Igen!
- sh4d0w: Netflix? Ugyan, VW előfizetés!
- Viber: ingyen telefonálás a mobilodon
- GoodSpeed: Aquaphor Modern víztisztító
- hcl: Kelj fel komám, ne aludjál
- Fogkefe: elektromos vagy manuális?
-
LOGOUT
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
-
Fferi50
Topikgazda
válasz
logitechh #44697 üzenetére
Szia!
"az 1 el való szorzàs miért kell a képletbe?"
Csak az utolsó képletbe kell, mert ott az IGAZ-HAMIS értékeket nem tudja másképp számként értelmezni a SZORZATÖSSZEG függvény, mivel ott nem lenne más művelet a képlet tényezői között.
Az Excelben az IGAZ-HAMIS logikai függvények értéke számként is használható a számítási műveletekben: IGAZ értéke 1-re, HAMIS értéke 0-ra értékelődik. Az első két képletben szorzási művelet van a tényezők között, így automatikusan számként értelmezi a logikai értékeket is az Excel.Üdv.
-
Fferi50
Topikgazda
válasz
logitechh #44694 üzenetére
Szia!
Egy szép tömbképlet segít ebben:
I11 cella képlete:=SZUM(($F$2:$F$9=$A11)*I$2:I$9*$D$2:D$9)
A képletet Ctrl+Shift+Enterrel kell bevinni a cellába. Az Excel kapcsos zárójelbe teszi.
Ezután húzhatod lefelé és oldalra is.
De ha nem szereted a tömbképleteket, akkor ez nem az:=SZORZATÖSSZEG(($F$2:$F$9=$A11)*I$2:I$9*$D$2:D$9)
Ez is húzható.
Vagy=SZORZATÖSSZEG(($F$2:$F$9=$A11)*1;I$2:I$9;$D$2:D$9)
Szintén húzható képlet.
Üdv. -
-
logitechh
csendes tag
Sziasztok!
Adott egy táblázatom amiben összesítve van a különböző körzetek beszerezni kívánt termékei:
A különböző egységek mennyiségei az I;J;K oszlopban van. Viszont a termékek árai és áfa százalékai a D és F oszlopokban.
Hogyan tudom összegezni a sárga részen hogy csak az adott körzet 5% százalékos áfáju termékek nettó össz árait lássam a mennyiség alapján. Tehát pl az I11-ben az I2:I9 tartományban szereplő mennyiség értékekhez tartozó 5%-os áfáju termékek nettó ára szerepeljen
Remélem érthető. Csak képlet jöhet szóba.
Segédtábla nélkül szeretném megoldani.
Köszi szépen -
Louro
őstag
válasz
Fferi50 #44689 üzenetére
Köszönöm, akkor marad a ciklus.
Első körben pont egy mini tesztet akartam, hogy melyik a gyorsabb.
1. ha beírom, mintha az Excel-be írnám be a képletet, majd Paste As Values.
2. ha egyből beírom az eredményt a tartományba
3. ha ciklussal végigiterálva beírom az eredményt cellánként.Persze így se lassú a makró, de gondoltam kísérleteznék, afféle személyes fejlődés gyanánt.
Köszönöm!!!!
-
Fferi50
Topikgazda
Szia!
"Valami ilyesmi lenne:
Range("B1: B10000") = IIf(IsNumeric(Left(????,2)),Left(????,2),"")"
Ez így biztosan nem megy. Értéket nem tudsz egy egész tartománynak adni egy lépésben (csak ha ugyanazt az értéket szeretnéd).
For Each ciklussal mehet és cellánként kell végigmenned a tartományon. Akkor az utasítás jó, a kérdőjelek helyére annak a cellának az értékét/címét kell tenni, amit vizsgálsz.
Ha pl. az A oszlopban van a vizsgálandó érték, akkor:Dim cl As Range
For Each cl In Range(A1:A100).Cells
cl.Offset(0,1).Value=IIF(IsNumeric(Left(cl,2)),Left(cl,2),"") 'Ez a B oszlopba írja az adott értéket
Next
Viszont képlettel meg lehet két lépésben csinálni, mivel ott egész tartományt lehet használni:
Először a képlet:Range("B1 : B100").Formula="=IFERROR(NUMBERVALUE(LEFT(A1,2)),"""")"
Utána átalakítjuk értékkéRange("B1: B100).Value=Range("B1 : B100").Value
Üdv.
-
Louro
őstag
Sziasztok!
A feladat, ami megfogott és a Google se segít. Adott egy feltételvizsgálat. Az első két karakter szám, akkor csak azt, különben semmit ne írjon ki.
Persze IF-THEN-ELSE megoldással meg tudnám csinálni, csak hosszú lenne. For ciklussal kiegészítve.
IIf-fel próbálnám.
Valami ilyesmi lenne:
Range("B1: B10000") = IIf(IsNumeric(Left(????,2)),Left(????,2),"")A kérdőjelek helye kérdéses.
-
-
Fferi50
Topikgazda
válasz
Peterhappy #44685 üzenetére
Szia!
Semmi gond. Előfordul az ilyesmi mással is.
Örülök, hogy meglett a hiba oka.
Üdv. -
válasz
Fferi50 #44682 üzenetére
Basssssszus én voltam a hülye
Szinte biztos voltam benne, de mégis átnéztem minden eshetőséget - vagyis ezek szerint mégsem. Egy rejtett oszlopban csúszott el a képletezés.
Elnézést kérek... szégyellem magam, hú de hülye voltam/vagyok...
Még egyszer nagyon szépen köszönöm a villámgyors segítő szándékot!
-
-
válasz
Peterhappy #44681 üzenetére
Elnézést a dupla miatt, nem tudom már szerkeszteni.
Közben próbálkoztam tovább, most már az "adat felvétele az adatmodellbe" opcióval sem olvassa be a 2020-as értékeket, egyetlen egyet leszámítva, a legelső, 2020.01.02-it.
Így hiába találtam meg végre a szalagon, miként lehet csoportosítani az értékeket, nem tudom használni.
Felrobbanok
-
Fferi50
Topikgazda
válasz
Peterhappy #44681 üzenetére
Szia!
Nézd meg, hogy a kimutatás forrása tartalmazza-e a 2020-as sorokat. Magyar Excelben ráállsz a kimutatás egy mezőjére. A kimutatás eszközök fülön kiválasztod az Elemzést - ezen belül az Adatok csoportban a más adatforrás megadása pontot. Ebben láthatod, hogy most mi van benne a kimutatás forrásában és korrigálhatod.
Üdv. -
Sziasztok,
Pivot-tal kapcsolatos kérdésem lenne.
Adott egy ktg-táblám, évek óta vezetem benne a bevételeim és kiadásaim.
A pivot eddig remekül működött, most (idén) megállt. 2020-ra egyetlen értéket olvas be, többet nem. Hiába frissítem.
Próbáltam újrahúzni a pivotot, ugyanúgy megáll a legelső 2020-as értéknél.Most végre rájöttem, hogy a kimutatásmezőknél a dátumszűrőknél ki volt kapcsolva a 2017.01.01 előtti és 2020.01.01 utáni értékek - ezeket most bekapcsoltam, de így sem változott semmi.
Hogy lehetne ezt helyre pofozni?
Jahhhhh és arra még rájöttem, hogy ha új pivot létrehozásánál bekapcsolom az "adat felvétele az adatmodellbe" opciót, akkor beolvassa a teljes táblázatot, nem hagyja ki a 2020-as értékeket sem, viszont itt meg nem tudok éves, illetve havi csoportosítást csinálni...
Erre esetleg volna ötletetek, megoldási javaslatotok?
Előre is köszönöm a segítséget! -
Fferi50
Topikgazda
válasz
dunorg #44678 üzenetére
Szia!
A billentyűparancs sajnos arra van "idomítva", hogy a kerek perceket írja be az aktuális időből. Az idő (és a dátum) az Excelben számként van kezelve. A dátum az 1900.01.01 óta eltelt napok számát mutatja - ez az egész része a MOST függvénynek -, az idő pedig a 24 órás napból eltelt részt mutatja - a MOST függvény tört része. Ezekről meggyőződhetsz, ha a cellaformátumot általánosra vagy számra állítod. Az értékek megjelenítése függ a beállított cella formátumtól(!), de mögötte mindig ugyanaz a számérték áll és azzal is számol az Excel, azzal a nem elhanyagolható különbséggel, hogy dátum/idő formátumban a negatív eredmény hibát okoz.
A törtrész tizedesjegyeinek száma függ attól, hány számjegyű az egész érték, mivel az Excel 15 értékes számjegyet tud megjeleníteni. A MOST függvénynél ezért (mivel a dátum 5 helyiértéket foglal el,) 10 hosszú lehet az értékes tizedesjegyek száma, amiből kiszámíthatod a századmásodperceket is.
A stopperhez a kezdő időt le kell rögzítened egy cellában (MOST függvény, majd irányított beillesztés értékként), ezután egy másik cellában a MOST()-rögzített cella értéke adja az eltelt idő nagyságát - megfelelő formátummal beállítva. Viszont ahhoz, hogy ez pörögjön, folyamatosan újra kell számoltatni a képletet (F9). Ha "automatikusan" szeretnéd, ahhoz makrót kell írnod, amiben időzítéssel hívod meg az újraszámolást. Csak ne feledd, hogy közben azért talán dolgozni is kellene más feladatokon....
Üdv. -
dunorg
csendes tag
Hogyan lehet megoldani az excelben, hogy a cellában a ctrl+shift+. ne csak az egész percre kerekített statikus óra-percet adja (pl: 16:32:00), hanem a percen belüli értéket másodpercben vagy századpercben, azaz a percen belüli értéket (16:32:23, vagy 16:32,38) ? (Nem a formátum beállítása a kérdés, hanem a percnél kisebb időérték előállítása.)
Hogyan lehet 0 percről induló stoppert generálni az excelben úgy, hogy az indítás (0:00,00) óta eltelt időt adja az aktuális cellákban (percben két tizedesig, vagy/és másodpercben), amibe behívom? -
zsolti_20
senior tag
válasz
Delila_1 #44672 üzenetére
Kifutottam szerkesztesi idobol.
Szoval a lenyeg az hogy az error 2042 kb annyit jelent hogy a visza kapott eredmeny az N/A amit valamiert ne mtud valtozokent kezelni. Erre talaltam megoldast ezzel a par sorral.Dim vreturn as variant
vreturn = Application.Match(CurrentShipment, Range("A1:A5"), 0) '
this could be anyfunction like a vlookup for example as well
If IsError(vreturn) Then '
handle error
Else
CurrentRow = cint(vreturn)
End If
-
zsolti_20
senior tag
válasz
Delila_1 #44672 üzenetére
Sajnos megsem oldotta meg a problemat. Ha eltero a cellak mennyisege akkor mindig ugyan azt a hibat kapom. Sajnos kijatszani sem tudok ezt mivel egy masik excel filebol masolom at az infot igy ures cellat fogok kapni es errort fog vissza dobni. Az a furcsa hogy magaban viszont mukodik dolog.
-
eszgé100
őstag
Sziasztok!
Conditional formattinggal kapcsolatban kérdeznék
A3:AE3 rangeben vannak az adott hónap dátumai, hónap első napja AG1 cellában. A3=AG1, A2=A3+1 stb. A4:AE22-ben ugyanazok a dátumok elrejtve.
Weekday-jel sikerült automatikusra állítani a hétvégék kiszürkítését.
AI29:AI32 és AK29:AK32-ben vannak a munkaszüteni napok.Hogyan tudnám ezt beállítani, hogy ha A3:AE22 rangeben ugyanaz a dátum szerepel, mint a munkaszüneti napoknál, akkor az kisárguljon automatikusan?
-
Delila_1
veterán
-
zsolti_20
senior tag
Udv emberek! Szeretnek segitseget kerni, par adat atmasolasaval kapcsolatban. Van nehany file amibol az adatokat szeretnem atmasolni egy excel filba. A group A,B,C lenne a masik 3 file tartalma. Jobb felso sarokban pedig lathato hogy melyiket hova kellene tenni. Azt mar megoldottam hogy atmasoljam egy masik excel filebol a tartalmat VBA segitsegevel bizonyos cellaba, most mar csak rendeznem kellene.
Valami olyasmit szeretnek, hogy ahol a header megegyzeik oda masolja at az alatta levo ertekeket. Pl Group A gyomulcs, zoldseg,varos. A gyumolcs az A1-nel talalhato tehat oda dobja be a 2,4,7 ertekeket, zoldseg a B1 varos pedig az E1.
Egyszerre csa kegy ilyen fileom van, szoval nem szukseges a kovetkezo ures cellat kivalasztani masolashoz. Eleg ha csak kepes megtalalni a megfelelo headert es ha meg egyezik akkor masolja at az alatta levo cellakat.
kep:
-
HAGYMAFA
tag
Sziasztok! Van az excelben nagyon jó hitel kalkulátor sablon, ami az adatokat beírva frankón levezeti a dolgokat. (Mennyi lesz a havi fizetendő, abból mennyi ami a tőkébe megy, mennyi ami a kamatra stb.) Sajnos azonban előfordul, hogy a partner nem úgy fizet, többet fizet, vagy kevesebbet, vagy kihagy 1 hónapot, és ilyenkor ugye borul az egész. De az exceles sablon ezzel nem foglalkozik. Van erre valakinek valami sémája, vagy muszáj leszek megszerkeszteni egyet...
-
karlkani
aktív tag
válasz
jackal79 #44653 üzenetére
Szia!
A HA függvény, amit írtam egy logikai vizsgálatot végez, eredményként igaz vagy hamis értéket ad vissza.
=HA(logikai vizsgálat;érték, ha igaz;érték, ha hamis)
A pontosvessző egy elválasztó a képletben (magyar nyelvű excel esetében). A dupla idézőjel pedig azt jelenti, hogy üres.
(#44655) Fferi50
Ki az a Karikari? -
Soulfly842
addikt
válasz
Fferi50 #44654 üzenetére
Köszi, megnézem!
'Rá' nem gondoltam.
A cellák tartalma viszont nem szám, hanem szöveg, és hogy melyik szöveg hányszor szerepel (külsős adatbázisból legyűjtött karakter pontosan azonos tartalmak) elsősorban arra kell a kimutatás. Nem tudom, hogy ez kezeli-e, de valamikor délután átnézem!
Köszi a tippet!
-
Mutt
senior tag
válasz
Csokishurka #44643 üzenetére
Szia,
A táblázatból nem derül ki, hogy miből látszik hogy melyik hiba mennyi ideig tartott.
Kérlek add meg, hogy milyen Excel verzióhoz kellene a megoldás.üdv
-
Fferi50
Topikgazda
válasz
Soulfly842 #44651 üzenetére
Szia!
Kimutatást próbáltad már?
Üdv. -
Bobrooney
senior tag
-
Soulfly842
addikt
Sziasztok!
Egy elég nagy (sok-sok ezer soros) táblázatból kellene most statisztikát készítenem.
Arra vonatkozóan milyen függvényt tudnék használni, hogy egy oszlopból kiszűrjem, hogy milyen elemeket tartalmaz (Tehát sok benne az ismétlődő elem, de ahhoz túl nagy a táblázat, hogy egyesével kiírjam, hogy milyen ismétlődő elemek vannak, s hosszútávon sok munka (akkor is, ha szűröm). Egyszerűbb lenne valamilyen függvénnyel.
Tudtok erre valamilyen megoldást?
-
jackal79
aktív tag
Sziasztok!
Van egy táblázat, amiben az első oszlop dátumokat tartalmaz. Az N oszlop tartalmazza a deadline-t, amit úgy lőttem be, hogy dátum + 5 nap. Az a gondom, hogy azon sorokban, amik üresek (nincs még dátum) ott a deadlinet 1900.01.05-re rakja. Gondolom az üres cellákat 1900.01.01-ként kezeli.
Hogy tudom megoldani, hogy csak akkor jelenlen meg a határidő, ha valós dátum kerül beírásra?
Köszi! -
lappy
őstag
válasz
Csokishurka #44643 üzenetére
A darabteli függvény kell akkor úgy átalakítani, hogy nézze a vég és a kezdő órát az egymás alatti sorokban ha azonos az M40. És a másik csak ezért jó szerinted mert pont nem egymás utáni órákban volt hiba (ami tényleg úgy van most), de az is hibásan működik alapjában véve.
-
jackal79
aktív tag
Sziasztok!
Adott egy elég nagy adatbázis, amiben sorok vannak hide-olva. Megoldható, hogy ne egyesével kelljen felfedni, mert elég sok sorról van szó?
Köszönöm! -
Csokishurka
őstag
Sziasztok,
Egy kis segítséget szeretnék kérni. Csináltam egy függvényt amivel próbálom az egyes hibák előfordulását kinyerni az adatbázisból.
Egy részlet az adabázisból:
=COUNTIFS('Raw Data'!$G:$G;"Repair due to machine";'Raw Data'!$F:$F;CW33;'Raw Data'!$A:$A;2090;'Raw Data'!K:K;'5CW Occ by moduls'!$A$20)
És ez a végeredmény:
A probléma az hogy ő összeszámol minden cellát ami az addot modulhoz tartozik.
A cél az lenne, hogy pl az RFID reading problémát ami több óráig jelen volt azt csak egyszeri előfodulásnak számolja mert nem többszöri hiba hanem egyszer fordult elő csak sokáig tartott.
A másik hiba a screw feeding az oké mert egymástól több óra eltéréssel fordult elő szóval azt kettőnek számolja amivel nincs is gond.
Van erre valami ötletetek hogyan lehetne ezt megvalósítani?Ezer hála!
-
zsolti_20
senior tag
válasz
Delila_1 #44636 üzenetére
Koszonom ez igy mukodhet. Csak lekell kerdeznem a jelenlegi idot, illetve a file krealasi idejet es ha meg egyezik akkor varjon mondjuk 2 percet mielott lekeri az adatokat. Lehetseges ugy lekerdezni a jelenlegi idot es a krealas idejet hogy masodperc nelkul kapjam meg?
-
zsolti_20
senior tag
válasz
Fferi50 #44634 üzenetére
Szia! Sajnos a filenak maradnia kell a mappában, mert bárki más lekérdezheti a későbbiekben automatizálás nélkül is.
Egy FTP szervert indítottam a PC-n és egy mappát adtam meg FTP mappának. Erről a PC-ről tudja majd mindenki lekérdezni a file tartalmát amikor akarja.
Arra gondoltam, hogy lenne mondjuk TEST1 és TEST2 file. A TEST1 file a 10 percenként beérkező file a TEST2 pedig a beérkezés után 2 perccel automatikus létrehozott másolat.
A TEST2 fileból kérdezni le mindenki, mert lehet másolás közben nem esik szét a file annyira mint amikor a letöltéskor jön létre.
Vagy van egy másik ötletem, az egész file formátumát átalakítom .csv-re ami szinte már csak TEXT file és lehet ott nem lesz semmi probléma. -
Delila_1
veterán
válasz
Fferi50 #44634 üzenetére
A módosítás időpontja is lekérdezhető. Ímé pár adat lekérdezése:
Sub info()
Dim fn, size, crdat, uhf, um, fs, lapn
fn = ThisWorkbook.FullName
lapn = ActiveSheet.Name
Set fs = CreateObject("Scripting.FileSystemObject")
Set fn = fs.GetFILE(fn)
size = Format(fn.size, "# ##0")
crdat = fn.DateCreated
uhf = fn.DateLastAccessed
um = fn.DateLastModified
With Sheets(lapn)
.Cells(1, 1) = "Útvonal, név: " & fn
.Cells(2, 1) = "Méret: " & size / 1024 & " KB (" & size & " bájt)"
.Cells(3, 1) = "Létrehozva: " & crdat
.Cells(4, 1) = "Utolsó hozzáférés: " & uhf
.Cells(5, 1) = "Utolsó módosítás: " & um
End With
End Sub -
Fferi50
Topikgazda
válasz
zsolti_20 #44631 üzenetére
Szia!
Csak ötlet: Lekérdezés után kitörlöd a fájlt. Ezután Dir() paranccsal ellenőrzöd, hogy létrejött-e már, a létrehozás időpontját pedig a FileDateTime paranccsal tudod megnézni. (Ez sajnos csak az eredeti időpontot mutatja, a módosításét nem, ezért kell kitörölni.)
Üdv. -
Fferi50
Topikgazda
válasz
Stylewars_kp #44632 üzenetére
Szia!
A képek tulajdonságánál állítsd be, hogy a cellával együtt mozog.
Üdv. -
Stylewars_kp
őstag
Sziasztok,
Excel 2010-ben dolgozom.
Olyan feladatot kaptam, hogy a termékek mellé szúrjak be egy kicsi képet a könnyebb beazonosíthatóság érdekében. Ezeket megcsináltam, kb 30 sor. Viszont az a problémám, hogy ha szűrést állítok be és leszűrök egy bizonyos vagy több terméket, akkor a képek összecsúsznak.
Tudtok esetleg használható megoldást?
-
zsolti_20
senior tag
Szép estét emberek! Olyan feladaton dolgozok, hogy zárt fileból átmásoljam az adatokat egy másik excel fileba. Működik rendesen minden 5 percenként lekérdezi az adatokat. A file kb 10 percenkent újra és újra letöltődik. Amikor a letöltés folyamatban van, és a lekérdezés megtörténik akkor össze omlik az egész. Lehetséges figyelni hogy mikor kerül a mappába az új file, aztán várjon mondjuk 2 percet és utána emelje át az infokat? Jelenleg ezzel a sorral van megoldva az auto macrom:
"Application.OnTime Now + TimeValue("00:00:10"), "macro"" -
KBaj
kezdő
-
Fferi50
Topikgazda
Szia!
Amit ide írsz, az publikus, mindenki látja. De van Privát levelezési lehetőség is, azt csak a két fél látja. (Hozzászólás fejléc jobb oldali végén lenyílóban találod.)
Ha ilyen bonyolultságú a fájl, akkor azt privátban kell megoldani. Eskü, hogy vállalati titkokat nem adunk tovább - de ha kell írásos titoktartási nyilatkozatot is tudunk adni. De azt tudnod kell, hogy ilyen mélységű probléma megoldása csak a fájl ismeretében lehetséges.
Üdv. -
KBaj
kezdő
válasz
Delila_1 #44626 üzenetére
Kedves Delila_1
Nagyon sajnálom tudatlanságom miatt nem kaptad meg korábbi levelemet. Bocsánatodat kell kérnem, most újból elküldöm a korábban Fferi50-nek írott leveleimet.Üdvözöllek Kedves Fferi50! és Üdvözöllek Kedves Delila_1!
Meglepődtem, talán gyorsabbak vagytok mint a gépem. De félre a tréfával, köszönöm a válaszokat. Viszontválaszomat igyekszem egy-két szavas idézet után megadni:
„leállítanod a futást” : Természetesen annyit már tudok, hogy ha valami folyamatot félbeszakítunk, az nincs kész. Nem is néztem annak az eredményét. Örültem, hogy nem vesztettem el a fájlt, nem kellett újra indítani a gépet.
„bemenő adat egy képletnél egy másik képlet eredménye”: A többszintű képletezést azt hiszem már értem. Azt nem értem miért befolyásolja ez a számítást. Úgy emlékszem, hogy az Excel felülről lefelé és balról jobbra irányba hajtja végre a számolást. A VBA pedig ahogy a szerkesztőben látom felülről lefelé végzi el az utasításokat. Szerintem amit el kell végezni azt el kell végezni, függetlenül attól, hogy az milyen hosszú vagy újabb bemenő adat-e. Javítsál ki legyél szíves, ha nem jól gondolkodom. Ha ugyanis nem várná meg az egyik utasítás a másik elkészültét, nagy káosz lenne.
„képleteket egymásba építjük” : Ezt a törekvést is valószínűleg értem. De szerintem a „végtelenségig” nem lehet egymásba építeni. Ugyan nem ismerek gépi korlátokat de emberit igen: külalak, logika, átláthatóság, hibakeresés, stb.
„nagyméretű fájloknál” : Természetesnek tartom, hogy vastagabb könyvet tovább tart elolvasni, még ha gyorsan is tudok olvasni.
„Alt billentyűről” és „futás végén egy újabb számolást” : Ami jelenleg jobban izgat: az alt billentyű. Kipróbáltam a programomat: Vannak „szerintem” jó adataim (hosszú Long típusúak), amin mérni tudom az eltéréseket. Egy-egy ciklust futtattam mindig ugyanazzal a bemenő adatokkal, futás közben nem nyúltam semmihez csak az alt billentyűhöz. Felváltva indítottam a ciklusokat, egyszer normál módon, másszor indítás után bal oldali alt billentyű lenyomásával. A normál módú futás ideje 3 perc volt, az alt billentyűs 1 perc 07 másodperc. Öt futást néztem, a futások ideje közötti eltérés elenyésző volt: 2-3 másodperc, ami mérési hibának is tekinthető. De az eredmények igazolták korábbi írásomat. A normál futás minden egyes eredménye (számítógéphez híven) megegyezett az eredeti adatsorral, igaz nem néztem csak 4 tizedes jegyet. Az alt billentyűs futásnál az első kettő adat megegyezett, a többi három mindig más és más volt.
Ennyire jutottam. Kérdésekre szívesen válaszolok.
Köszönettel:Kedves Fferi50!
Köszönettel olvastam a leveledet. A képletekről írottak nehezen mennek bele a fejembe. De ha így is van, megoldja a programozó, vagyis oldja meg, figyeljen oda. Jó következtetésre jutottam? Különben azóta beépítettem egy külön elindítható leglassabb számolással számoló rutint, ami jelez ha a megfelelő helyen nem ugyanolyan számot talál, nem csak 4 tizedest vizsgálva hanem amennyit lehet.
Az alt billentyű gyorsító hatását nem direkt kerestem és használtam, hanem véletlenül fedeztem fel. Szerintem azért lehet érdekes másoknak is, mert futás közben véletlenül is meg lehet nyomni (gondolok itt az elvetemült felhasználóra), és ha olyan a program, hibás eredményt hozhat.
A minta feltevése nem olyan egyszerű. Több nehezebben megoldható problémával is szembe kell néznem. Az előbbiekben említett programrész egy nagy fájlnak a része. Kísérletezek és sok minden van a fájlban. Néhány jellemzője: Totál Commander szerint 23,8 MB hosszú, van benne 31 db munkalap (nem üresek) , 13 db modul több oltalas VBA-val. Igaz találkoztam már nagyobbal is. Nem egyszerű ezt úgy megtisztítani, hogy publikus legyen, de ha sikerül megküldöm.
Köszönettel:
ui: Most vettem észre, hogy Delila is írt és hiányolja a válaszomat.
Sűrű elnézést kell kérnem Tőle, nem tudom jól használni a weboldalt: azt hittem, hogy amit Ferinek írok azt látja Ő is. Ezért a legutolsó komplett bejegyzésemet és ezt a bejegyzést is megküldöm Neki.
Üdvözlettel. -
KBaj
kezdő
válasz
Fferi50 #44625 üzenetére
Kedves Fferi50!
Köszönettel olvastam a leveledet. A képletekről írottak nehezen mennek bele a fejembe. De ha így is van, megoldja a programozó, vagyis oldja meg, figyeljen oda. Jó következtetésre jutottam? Különben azóta beépítettem egy külön elindítható leglassabb számolással számoló rutint, ami jelez ha a megfelelő helyen nem ugyanolyan számot talál, nem csak 4 tizedest vizsgálva hanem amennyit lehet.
Az alt billentyű gyorsító hatását nem direkt kerestem és használtam, hanem véletlenül fedeztem fel. Szerintem azért lehet érdekes másoknak is, mert futás közben véletlenül is meg lehet nyomni (gondolok itt az elvetemült felhasználóra), és ha olyan a program, hibás eredményt hozhat.
A minta feltevése nem olyan egyszerű. Több nehezebben megoldható problémával is szembe kell néznem. Az előbbiekben említett programrész egy nagy fájlnak a része. Kísérletezek és sok minden van a fájlban. Néhány jellemzője: Totál Commander szerint 23,8 MB hosszú, van benne 31 db munkalap (nem üresek) , 13 db modul több oltalas VBA-val. Igaz találkoztam már nagyobbal is. Nem egyszerű ezt úgy megtisztítani, hogy publikus legyen, de ha sikerül megküldöm.
Köszönettel:
ui: Most vettem észre, hogy Delila is írt és hiányolja a válaszomat.
Sűrű elnézést kell kérnem Tőle, nem tudom jól használni a weboldalt: azt hittem, hogy amit Ferinek írok azt látja Ő is. Ezért a legutolsó komplett bejegyzésemet és ezt a bejegyzést is megküldöm Neki.
Üdvözlettel. -
Fferi50
Topikgazda
Szia!
Sajnos látatlanban ennél többet nem nagyon tudunk segíteni.
A képleteknél előfordulhat, hogy az egyik képlet eredménye még nem számolódik ki, ezért a második képlet a régi - helytelen - bemenő adattal számol. Ezért lenne fontos a végére még legalább egy számolási utasítást beilleszteni szerintem.
Az Alt billentyű ilyen funkcióját még nem volt alkalmam tapasztalni - igaz nem is igen kerestem, a "gyorsításokat" más módon oldottam meg, ha szükséges volt.
Továbbra is azt javaslom, hogy mintát tegyél fel, amit elemezni tudunk, mivel itt nemcsak a makróra kell ránézni, hanem a képletezésre is jó lenne egy pillantást vetni. Az adatok akár maradhatnak is benne, csak a fejléceket és egyéb "árulkodó" megnevezéseket kellene átírni.
Ha nem szeretnéd nyilvánossá tenni, akkor elküldheted privátba, gondolom Delila is szívesen megkukkantaná, mert elég izgalmasak ezek a problémák.
Üdv. -
KBaj
kezdő
válasz
Fferi50 #44622 üzenetére
Üdvözöllek Kedves Fferi50! és Üdvözöllek Kedves Delila_1!
Meglepődtem, talán gyorsabbak vagytok mint a gépem. De félre a tréfával, köszönöm a válaszokat. Viszontválaszomat igyekszem egy-két szavas idézet után megadni:
„leállítanod a futást” : Természetesen annyit már tudok, hogy ha valami folyamatot félbeszakítunk, az nincs kész. Nem is néztem annak az eredményét. Örültem, hogy nem vesztettem el a fájlt, nem kellett újra indítani a gépet.
„bemenő adat egy képletnél egy másik képlet eredménye”: A többszintű képletezést azt hiszem már értem. Azt nem értem miért befolyásolja ez a számítást. Úgy emlékszem, hogy az Excel felülről lefelé és balról jobbra irányba hajtja végre a számolást. A VBA pedig ahogy a szerkesztőben látom felülről lefelé végzi el az utasításokat. Szerintem amit el kell végezni azt el kell végezni, függetlenül attól, hogy az milyen hosszú vagy újabb bemenő adat-e. Javítsál ki legyél szíves, ha nem jól gondolkodom. Ha ugyanis nem várná meg az egyik utasítás a másik elkészültét, nagy káosz lenne.
„képleteket egymásba építjük” : Ezt a törekvést is valószínűleg értem. De szerintem a „végtelenségig” nem lehet egymásba építeni. Ugyan nem ismerek gépi korlátokat de emberit igen: külalak, logika, átláthatóság, hibakeresés, stb.
„nagyméretű fájloknál” : Természetesnek tartom, hogy vastagabb könyvet tovább tart elolvasni, még ha gyorsan is tudok olvasni.
„Alt billentyűről” és „futás végén egy újabb számolást” : Ami jelenleg jobban izgat: az alt billentyű. Kipróbáltam a programomat: Vannak „szerintem” jó adataim (hosszú Long típusúak), amin mérni tudom az eltéréseket. Egy-egy ciklust futtattam mindig ugyanazzal a bemenő adatokkal, futás közben nem nyúltam semmihez csak az alt billentyűhöz. Felváltva indítottam a ciklusokat, egyszer normál módon, másszor indítás után bal oldali alt billentyű lenyomásával. A normál módú futás ideje 3 perc volt, az alt billentyűs 1 perc 07 másodperc. Öt futást néztem, a futások ideje közötti eltérés elenyésző volt: 2-3 másodperc, ami mérési hibának is tekinthető. De az eredmények igazolták korábbi írásomat. A normál futás minden egyes eredménye (számítógéphez híven) megegyezett az eredeti adatsorral, igaz nem néztem csak 4 tizedes jegyet. Az alt billentyűs futásnál az első kettő adat megegyezett, a többi három mindig más és más volt.
Ennyire jutottam. Kérdésekre szívesen válaszolok.
Köszönettel: -
Fferi50
Topikgazda
Szia!
Az Alt billentyűről azért nem írtam, mert arról sem tudom elképzelni, hogy begyorsulást okozzon.(lehet, csak a képzelőerőm földszintes.....)
Többszintű képletezés alatt azt értem, hogy egyes képletek más képletek eredményeit használják fel - nem körkörös hivatkozásként, mert arra figyelmeztetne az Excel -, hanem bemenő adat egy képletnél egy másik képlet eredménye, emiatt nem tud normálisan kiszámítódni. Ezt meg lehet "kerülni", ha a képleteket egymásba építjük.
Egyébként természetes, hogy nagyméretű fájloknál időbe telik a képletek kiszámítása.
Elképzelhető, hogy amikor a gyorsítás miatt eltérő eredményeket kapsz, talán meg kellene próbálni a futás végén egy újabb számolást elindítani és utána megnézni a végeredményt.
Üdv. -
KBaj
kezdő
válasz
Fferi50 #44620 üzenetére
Üdvözlet Kedves Fferi50!
Köszönöm szépen a gyors választ, sokat tanultam belőle, de sokat nem értettem meg. Az értetlenségemet kénytelen vagyok betudni annak, mint ahogy előző írásomból is kitűnik: zöldfülű kezdő vagyok. Azért foglalkozok ezzel, hogy tanuljak, okosodjak.
A feltett kérdésekre megpróbálok válaszolni:
… mert ettől is begyorsul … - az eset már hosszú ideje futó programnál volt. Bizonyára olyan szakaszhoz ért a belső vezérlés ami elveszi a képernyőt, igen rövid időre időnként felvillan, nem volt érzékeny semmire. Idegességemben kattingattam mindenfelé, nyomkodtam mindent. Valószínű esc hatására megállt és konstatáltam, hogy felgyorsulhatott, mert rossz eredményeket hozott. A továbbiakban nem foglalkoztam vele. A programban nincs DoEvents utasítás. Mint említettem kezdő vagyok: még nem ismerem (még nem!).
A többszintű képletezést nem nagyon értem. Idősorokkal foglalkozom, tagok belső kapcsolatait keresem. A válaszodat úgy értelmezem, hogy a többszintű programozás lenne hibás a rossz eredményekért. Ezt csak úgy tudom elképzelni, hogy visszacsatolás van a bemenő és a kiszámított adatok között, körkörös hivatkozáshoz hasonlóan. Nem értem.
Ezután írtál valami Volatile tulajdonságú függvényekről. Bevallom még nem (még nem!) hallottam róla. Meg kell ismerni, hogy tudatosan tudjam alkalmazni.
Nem írtál azonban az <alt> billentyűről. Nem értem a működését, egymagában mire van hatással. Miért gyorsul a VBA futása.
Köszönettel: -
Fferi50
Topikgazda
Szia!
"Futás közben nem szabad a géphez nyúlni (semmihez!!!). mert ettől is begyorsul <alt> módjára és lőttek az eredményeknek."
Ez teljesen megdöbbentett, mert ilyet még nem tapasztaltam. (Gondolom van a programban DoEvents utasítás, ami ezt kiválthatja.)
Ami az eltérő eredményeket illeti: Nagy valószínűséggel a "többszintű" képletezés idézi elő.
Szerintem úgy lenne érdemes szervezni a programot, hogy egy-egy szint kiszámítása után folytatódjon a következő szint. Ezt a Calculation tulajdonsággal tudod szabályozni, nem automatikusra állítva, hanem kérésre és azután megfelelő időben a Calculate utasítást kiadva.
Aztán az sem mindegy futásidőt illetően, hogy vannak-e Volatile tulajdonságú függvények, mert ezek minden változáskor lefutnak - akkor is, ha nem a saját paramétereikben a változás! - tehát időt vesznek el a többi kárára.
Érdemes tehát a használt függvényeket is átmazsolázni.
Bővebbet és hasznosabbat csak a tényleges program ismeretében lehetne mondani. Nem érzékeny adatokkal felteszel egy mintát és ránézünk.
Üdv. -
marec1122
senior tag
Sziasztok!
Lenne egy számotokra vélhetően egyszerű kérdésem. 2 oszlopban vannak adatok nevezzük A és B nek. A ban levő számokat kéne összesiteni C1-be és mondjuk D1-be, úgy hogy a B- celláira írunk feltételeket. Tehát C1 ben szumma A oszlopból aza cella ahol B cellája mondjuk "kék" szöveget tartalmazza.
-
KBaj
kezdő
Üdvözlet Mindenkinek!
Excel VBA használat közbeni problémáim.
Nagyon sokat használom az Excelt VBA-val. Általában munkalapfüggvényekkel feldolgozott adatok tovább feldolgozására használom többször oda-vissza. Kisebb-nagyobb és óriási ciklusokat is használok, melyek futási ideje néhány másodperctől több tízpercig is tart. A gyorsításhoz használtam a több irodalmi helyen javasolt gyorsítókat, pl: képfrissítés kikapcsolást, stb. Sokat gyorsít, jól működik. A VBA rutinjaim néha bonyolultak. Általam megítélt kritikus helyekre beépítettem egy-egy <Calculate> utasítást, hogy „bevárják” egymást (VBA és automatikus újraszámolás), mivel használják egymás eredményeit.
- De: Ennek ellenére nem adtak mindig egyforma eredményt, ezért lemondtam a gyorsításról. A további normál sebességű használatnál észre vettem, hogy futás közben, ha az <alt> billentyűt lenyomom gyorsabban fut a program. Ez nagyszerű, kb. 2-2,3 szoros sebességű, ami nyilván sok mindentől függ (pl: használt rutintól. …). És most jön a következő
- de: A program futási eredményi ugyanolyan megbízhatatlanok lettek, mint programozott gyorsításkor. Többször is kipróbáltam alt billentyűvel, mindig volt legalább egy eltérő eredmény. Alt nélkül meg nem tudom, hogy jó vagy rossz eredmény, de mindig következetesen egyforma eredményt adott. Innentől (alt nélkül) futtatom a programot, azonban van még egy
- de: Futás közben nem szabad a géphez nyúlni (semmihez!!!). mert ettől is begyorsul <alt> módjára és lőttek az eredményeknek.
Nagyon megdöbbentem, hogy a számítógép ilyen összevissza eredményeket hoz. Én azt hittem, hogy 2 szer 2 az mindig 4, de a gép szerint 3.2 vagy 2.8. Azután rájöttem: valamit rosszul csinálok. de mit?
Tisztelettel kérek mindenkit, aki tud valami magyarázatot a fent vázol jelenségekre az tegye közzé, hátha van még ilyen autodidakta, Excel alapfokát piszkáló mint én.
Köszönöm a segítséget. -
sajog159
aktív tag
Üdv!
Nem tudom, hogy Excel probléma e, de itt tapasztalom többször. (Nálam Excel 2013)
Nyitva van 2 fájl és pár sort átmásolnék az egyikből: kijelölés/CRRL C, átmegyek a másikba és adott sorban CTRL S). A jelenség, hogy amikor kinyitom a másik fájlt, 10-20 mp-ig mintha lefagyna: nem lehet ráklikkelni egy adott cellára vagy sorra és mást sem. Az esetek nagy részében nem így van. Nincs semmi hibaüzenet, csak kis bosszankodás.
Mintha olvastam ehhez hasonló problémáról és megoldásról, de most ne találom meg.Van valakinek tippje a megoldásra? Ebbe a topikba tartozik egyáltalán?
-
somogyib
őstag
válasz
Fferi50 #44612 üzenetére
Nem az én gépemről van szó. Ez egy több felhasználós gép, mindenki saját bejelentkezéssel, ugyanazzal a 2016-os office-al dolgozik.
A többi felhasználónál csak simán "Excel-munkafüzet"-ként jelenik meg és a makró is működik. Egyetlen felhasználónál jelenik meg "Excel-munkafüzet (.xlsx)"-ként és nála hibára fut a makró (a makrót sajnos nem tudom prezentálni). -
-
Delila_1
veterán
válasz
lrobertoc #44609 üzenetére
A Munka1 laphoz rendeld a makrót.
Írd be a nevet (ha még nincs) az A oszlopba. Mikor beírtál egy adatot valamelyik hónaphoz, adj duplaklikket rá.Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
Dim ide As Long, oszlop As Variant
If Target.Row > 1 And Target.Column > 1 Then
With Sheets("Munka2")
ide = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Cells(ide, 1) = Cells(Target.Row, 1) 'név
oszlop = Application.Match(Target.Column, .Rows(1), 0)
.Cells(ide, 2) = Cells(1, Target.Column) 'hónap neve
.Cells(ide, 3) = Target 'érték
End With
Cancel = True
End If
End Sub -
lrobertoc
tag
Sziasztok,
segítségre lenne szükségem, hogyan oldható meg excel365-ben az alábbi feladat:
- adott egy munkalap1, ahol az A oszlop sorai neveket, a B-M oszlopok sorai egy-egy hónap (január-december) adatait tartalmazza pl:Megoldható az, hogy egy másik munkalapon, a munkalap1-re beírt adatok dinamikusan töltődjenek az alábbi formában (tehát, ha veszek fel egy nevet és hozzá valalmelyik hónapra adatot, akkor egy másik munkalapon dinamikusan töltődjenek az adatok adatsorosan, kvázi, mintha egy pivot szemléletű táblából csinálnék egy adatsoros táblát...):
-
majomfej
kezdő
válasz
Delila_1 #44606 üzenetére
Ittvan amire én gondolok:
az A oszlopot meghagytam normál módon, B oszlopot 2 részre osztottam, a C-t pedig 3-ra, ezt szeretném de úgy hogy akár 20-30 részre is lehessen osztani aztán szétkelljen húzni a C fejlécet hogy látható legyen a teljes tartalma, lehetséges ezt?
-
-
majomfej
kezdő
Sziasztok, excelben szeretném azt hogy a fejlécek abc sorrendben megmaradjanak, de pld. az A fejlécet 3 oszlopra szeretném osztani, tudjátok, felülről lefelé vonal, mondjuk 5 oszlopra, ezt hogy lehetne megcsinálni?
-
kokokka
addikt
Sziasztok! Lenne egy egyszerű feladat, de valamit nem tudok, igy mégsem az. Egy cellába beírtam ezt : =D2-B37;B47
Tehát a D2-ben lévő (darabteli függvénnyel megkapott) számból szeretnék kivonni két teljesen különálló cellába lévő számot. Ha számít, ezek is darabteli függvényes cellák. A D2-ben jelen pillanatban 7-es szám szerepel, a B37-ben 2-es, a B47-ben pedig 1-es. Szóval 4-et kéne kapnom, de hibát ír ki. Ha csak azt írom be, hogy =D2-B37 akkor jó, mert megkapom az 5-öt. Mit rontok el? Köszi előre is!
Új hozzászólás Aktív témák
- Vigneau interaktív lokálblogja
- Windows 10
- Hobby rádiós topik
- Okos Otthon / Smart Home
- Üzemidőt áldoz a fényerő oltárán a Garmin Fenix 8 Pro
- Milyen belső merevlemezt vegyek?
- Bambu Lab 3D nyomtatók
- AliExpress tapasztalatok
- Autós topik
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- További aktív témák...
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- Game Pass Ultimate előfizetések 4 - 19 hónapig azonnali kézbesítéssel a LEGOLCSÓBBAN! AKCIÓ!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Vírusirtó, Antivirus, VPN kulcsok
- Antivírus szoftverek, VPN
- Samsung Galaxy Tab S8 5G 128GB, Kártyafüggetlen, 1 Év Garanciával
- BESZÁMÍTÁS! ASUS B760M i7 13700K 32GB DDR4 512GB SSD RX 6800XT 16GB Phanteks Eclipse P400 Glacier
- Extra olcsó! HP 230 Vezetéknélküli USB-s Billentyűzet
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32GB RAM RTX 3050 6GB GAMER PC termékbeszámítással
- Motorola Moto G86 8/256 Cosmic Sky 1 év gari
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest