-
IT café
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
őstag
válasz kőbaltazár #25563 üzenetére
Szia!
For each sh in worksheets
sh.activate - ez akkor kell, ha a makródban az aktívsheet a kiindulási alap
ide beírod a futtatni kívánt makrót vagy meghívod
nextArra kell figyelned, hogy a makróban a hivatkozások rendben legyenek - ezt úgy érheted el, hogy az adott makróban definiálsz egy változót, amihez rendeled az összes műveletet:
pl. set ws =activesheet, vagy set ws=sh
Ezután a makróban a tartományokat mindig ws.Range, vagy ws.cells formában adod meg.Illetve a modulban definiálsz egy Public sh változót és annak értékét akkor látja a másik makró is.
Üdv.
-
Fferi50
őstag
válasz tgumis #25566 üzenetére
Szia!
Szerintem egy cseppet fordítva ülsz a lovon. Ha csak a szerződés kivonat száma egyedi, a szerződésszámok és a jir szám többször előfordulhat, akkor bizony gáz van, mert az excel jelenlegi eszközeivel a keresőfüggvények mindig csak a legelső előfordulást hozzák elő.
Én megfordítanám a dolgot és a szerződéskivonat alapján keresném a szerződés adatait, amit egy sima index - hol.van kombinációval megkapsz:
F3 képlete =index(A:A;hol.van(F5;C:C;0))
F4 képlete =index(B:B;hol.van(F5;C:C;0))
Egy másik topikban már csináltam egy olyan keresőfüggvény kombinációt (nem makrót), amelynek meg lehet mondani, hogy a keresett érték hányadik előfordulását adja vissza, igaz ez csak egy cella értéke alapján keresett, de összevont cellaértékkel megoldható ez is. Ha érdekel, utána nézek merre van.Üdv.
-
Fferi50
őstag
válasz vigyori78 #25576 üzenetére
Szia!
Ez a hibaüzenet azért van, mert az automatikus mentés foglalja valakinél a fájlt, ezért ott ahol ez az üzenet megjön, nem lehet menteni a fájlt.
Teendő: hibakezelési rutinnal el kell kapni a hibaüzenetet és "tovább kell lökni" resume next utasítással.
Ha pedig tényleges mentési procedúra közben - tehát tervezett mentéskor, vagy megnyitáskor - jelentkezik, akkor várni kell keveset és megismételni a mentést addig, amíg végre nem tudja hajtani azt.Ha a közös fájl automatikus mentése ki van kapcsolva, akkor ez a hiba csak a tervezett mentések esetén keletkezhet, amit a várakozással át lehet hidalni.
Üdv.
-
Fferi50
őstag
válasz slashing #25580 üzenetére
Szia!
Miután több változó is van, nem megy a solver (legalábbis nem voltam olyan ügyes, hogy kitaláljam azt a szitut, ahol csak egy cellát kell változtatni).
Viszont nem túl nagy a választék, ezért a csatolt fájlban láthatsz egy megoldást.
A D oszlop a lövések száma, az F oszlop a felhasznált energia, a G oszlop az elért eredmény. A D1-D2 cellákat változtatva az F3 cellában láthatod, mennyi energiád maradt még.
(Csak egy mellékes kérdés: a lövésekhez szükséges energia csak a lövések számától függ és nem függ a fegyver szintjétől?)
Üdv.
-
Fferi50
őstag
Szia!
Nem tudom, milyen exceled van. 2010-es verzióban már van olyan a feltételes formázásban, hogy legfelső - legalsó értékek alapján, itt kiválaszthatod a legelső db számot is, akár 1-re is állíthatod.
Előtte kijelölöd azt az oszlopot, amire szeretnéd, hogy vonatkozzon.
Ha nem "jött be", akkor a feltételes formázás - szabályok kezelése menüben változtathatsz rajta.Üdv.
-
Fferi50
őstag
válasz total_tobi #25593 üzenetére
Szia!
Esetleg, ha magyar exceled van, már KONVERTÁLÁS a függvény neve.
A dkg -ot megkapod, ha a kg-ban számított értéket elosztod 100-al.
Üdv.
[ Szerkesztve ]
-
Fferi50
őstag
válasz total_tobi #25596 üzenetére
Szia!
Sajnos a dkg -ot "nem veszi be a gyenge gyomra", mivel úgy tűnik, máshol nem nagyon használják, a magyar verzióban pedig nem gondoltak rá anno...
(Ezek szerint 2010-nél korábbi verziód van..., mert a 2010-esben sok korábban angol névvel megmaradt függvényt "magyarítottak" -legalábbis névileg pl. offset vs eltolás,trim vs kimetsz stb.)Üdv.
-
Fferi50
őstag
Szia!
Ha az adatok az A oszlopban, az 1 az E oszlopban, 2 a H, 3 a K oszlopban, továbbá a fejlécek a második sorban vannak - vagyis az adatok a 3. sortól kezdődnek, akkor a következő képleteket próbáld ki:
E3 cella képlete: =HAHIBA(INDEX(B:B;HAHIBA(HOL.VAN(HAHIBA(KICSI(HA($E$2=$A:$A;SOR($A:$A);"");SOR()-2);1);SOR($A:$A);0);-1);1);"")
Ez lehúzható az E,F,G oszlopban.H3 cella képlete: =HAHIBA(INDEX(B:B;HAHIBA(HOL.VAN(HAHIBA(KICSI(HA($H$2=$A:$A;SOR($A:$A);"");SOR()-2);1);SOR($A:$A);0);-1);1);"")
Amit a H,I,J oszlopban húzhatsz leK3 cella képlete: =HAHIBA(INDEX(B:B;HAHIBA(HOL.VAN(HAHIBA(KICSI(HA($K$2=$A:$A;SOR($A:$A);"");SOR()-2);1);SOR($A:$A);0);-1);1);"")
Ezt a K,L,M oszlopban húzd le.Ezek a képletek tömbképletek, tehát Ctrl+Shift+Enterrel kell befejezni a képlet beírását, nem sima Enterrel.
Ahol már nem talál adatot, oda 0-át fog kiírni. Ha ez zavar, akkor megspékelheted egy HA(képlet=0;"";képlet) kibővítéssel. A képlet helyére az eredeti képletet kell beírni - továbbra is tömbképlet.
Új adat bevitele után egy F9 segít az újraszámolásban.Üdv.
[ Szerkesztve ]
-
Fferi50
őstag
válasz Fferi50 #25654 üzenetére
Még valami:
Az egész oszlopok használata nagyon llelassítja a számolást, ezért azt javaslom, hogy egy olyan tartományt használj, ami nagy valószínűséggel elegendő lehet - (de később természetesen ez bővíthető). Viszont feltétlenül abszolut ($-os) legyen a sor címzése pl. B$1:B$300, illetve $A$1:$A$300 és minden tartomány ugyanannyi sort tartalmazzon.
Üdv.
[ Szerkesztve ]
-
Fferi50
őstag
válasz Chesterfield #25686 üzenetére
Szia!
Írd ide légy szíves a képletet, mert az fkeres a negyedik paraméter függvényében vizsgálja a keresendő értéket. Esetleg a táblázatod egy részét is megmutathatnád képben.
Üdv.
-
Fferi50
őstag
válasz DrojDtroll #25687 üzenetére
Szia!
Az a kérdés, hogy a cella időformátumú vagy szövegformátumú.
Ha időformátumú, akkor az IDŐ függvény használatával:
C1 cella képlete: =b1 + idő(0;15;0)
Ha szöveg, akkor bonyolultabb, mert a szövegkezelő függvényekkel (bal,jobb,közép) "le kell vadászni" az óra-perc-másodperc részeket a forráscellából, hogy hozzá tudd adni a perceket.Üdv.
-
Fferi50
őstag
válasz Chesterfield #25691 üzenetére
Nincs mit, szívesen.
Üdv.
-
Fferi50
őstag
válasz gaborlajos #25702 üzenetére
Szia!
Kérdésre kérdés: mit értesz munkafüzet oldalai alatt? Mert a munkafüzetben munkalapok vannak és a munkalapokat lehet oldalakra bontani (legalábbis eddig így tudtam).
Egyébként pedig ránézel a munkalapra és nem nyomtatod ki, ha hiányzik az adott cella adata.....Komolyra fordítva:
Ha az a kérdés, hogy van-e ilyen beépített lehetőség az Excelben, akkor a válasz nincs.
Makróval viszont minden (na jó, szinte minden) megoldható. Végigmehetsz az adott munkalap kinyomtatandó oldalain és megnézheted, hogy az adott cellában van-e adat. Az eredmény függvényében kinyomtatod vagy továbblépsz kinyomtatás nélkül.Üdv.
[ Szerkesztve ]
-
Fferi50
őstag
válasz gaborlajos #25704 üzenetére
Szia!
Sub nyomtat()
If Not IsEmpty(Range("A1")) Then ActiveSheet.PrintOut
End SubAz A1 helyébe annak a cellának a címét kell írni, amelynek a kitöltésétől függővé teszed a nyomtatást.
A makrót egy általános modullapra kell írni.
Üdv.
-
Fferi50
őstag
válasz Tikakukac #25715 üzenetére
Szia!
Ha arra gondolsz, hogy a diagram hátteret - a cellához hasonlóan - feltételes formázással lehessen megadni, az szerintem nem megy (én legalábbis még nem találkoztam ilyen lehetőséggel 2010-es verzióval bezárólag).
Viszont makróval meg lehet oldani. A Chart.Chartarea.Format.Fill tulajdonságot állíthatod a feltételeknek megfelelően (esetleg a SeriesChange esemény kezelésével).
Üdv.
-
Fferi50
őstag
válasz lumpy92 #25720 üzenetére
Szia!
Az adott munkalap Worksheet_change esemény kezelőjébe kell beletenned a makró indítását.
Munkalapfül - jobb egérgomb - kód megjelenítése.
Bal oldalon a lenyílóból worksheet.
Jobb oldalon a lenyílóból Change kiválasztása.
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, Range("A1")) Is Nothing Then
Application.EnableEvents = False
makronév ' az a makró, amit le szeretnél futtatni
Application.EnableEvents = True
End If
End SubAz A1 helyére írod annak a cellának a címét, amelynek a változását figyeled. Tartomány címet is meg lehet adni, ha több cellát kívánsz figyelni ugyanazon makró indításához.
Üdv.
[ Szerkesztve ]
-
Fferi50
őstag
válasz TrollBalint #25713 üzenetére
Szia!
A munkanapok megszámolására két dolgot javaslok:
I. Az ÖSSZ.MUNKANAP.INTL függvény a következőképpen:
=ÖSSZ.MUNKANAP.INTL(MA();MA()+5;11;J1:J49)
A függvény 3. paramétere határozza meg, hogy milyen napokat tekint hétvégének. A 11 azt jelenti, hogy csak a vasárnap munkaszüneti nap.
A 4. paraméterben kell megadni az ünnepnapokat. Mivel az összes szombatot munkanapnak tekinti a 3. paraméter alapján, erre a területre kell bevinni a többi szombatot.
Kicsit sok a beviendő adat, de sorozatként megoldható könnyen. Cserébe pontosan számol és excel beépített függvény.
II. Saját függvény használata:
Function munkanapszam(ByVal mettol As Date, Optional meddig As Date) As Integer
Dim unnepek As Range, munkanap As Integer, napi As Range, napok As Date
Set unnepek = Range("J1:J7")
munkanap = 0
If meddig = 0 Then meddig = mettol
For napok = mettol To meddig
Set napi = unnepek.Find(what:=napok, LookIn:=xlValues, lookat:=xlWhole)
If Not napi Is Nothing Then
If Application.Weekday(napok, vbMonday) = 6 Then
munkanap = munkanap + 1
End If
Else
If Application.Weekday(napok, vbMonday) < 6 Then
munkanap = munkanap + 1
End If
End If
Next
munkanapszam = munkanap
End FunctionItt az a megoldás lényege, hogy az ünnepek közé felveszed a "dolgozós" szombatokat is. A függvény megnézi, hogy az ott szereplő dátum szombat-e, ha igen, akkor munkanapnak számolja. Ha nem szerepel a listában, akkor munkanap, ha H-P.
Mindkét esetben az ünnep lista egy oszlop legyen.
Üdv.
-
Fferi50
őstag
válasz TrollBalint #25727 üzenetére
Szia!
Felhasználói függvény nem módosíthatja más cella tartalmát, ezért nem működik ha cellába írod be (kivétel a tömbfüggvény.) De a makród úgy is működne, ha egyszerűen csak a változókkal számolnál és nem írnád be cellába a változó értéket.
Amúgy várom a mintát.
Üdv.
-
Fferi50
őstag
válasz TrollBalint #25738 üzenetére
Szia!
Jól sejted, az lenne a neve. Szerintem nem kellene hozzá semmi kiegészítő, viszont
verzió függő, a 2010-es excelben már benne van. Nálad milyen excel verzió fut?Üdv.
-
Fferi50
őstag
válasz TrollBalint #25740 üzenetére
Akkor marad a felhasználói függvény...
Próbáld ki lsz.Üdv.
-
Fferi50
őstag
válasz KaliJoe #25742 üzenetére
Szia!
Kicsit valóban nem világos, mit is szeretnél.
Az A oszlopban van egy képlet, aminek az eredménye a Szervezet munkalap L2 cellájának értéke.
A B oszlopban levő képleted eredménye a Szervezet munkalap L2 cellájának az abszolut címe
A D oszlopban levő képleted eredménye a Szervezet munkalap L2 cellájának a soraHa az a kérdésed, hogy a többi képlet az A oszlopban levő képletben hivatkozott cella adatait adja meg, akkor az a javaslatom, hogy egy oszlopban add meg a hivatkozott cella címét:
F1 értéke Szervezet!$L$2
A1 képlete =INDIREKT(F1)
B1 képlete =KÖZÉP(F1;SZÖVEG.KERES("!";F1)+1;20)
D1 képlete =KÖZÉP(F1;SZÖVEG.KERES("$";F1;SZÖVEG.KERES("$";F1)+1)+1;10)Üdv.
[ Szerkesztve ]
-
Fferi50
őstag
válasz TrollBalint #25744 üzenetére
Szia!
A következőt javaslom:
A Settings munkalap G oszlopa alá írd még be a H oszlopban levő adatokat ís.
Ezután írd be a következő függvényt a module1-be:Function munkanapos(ByVal mettol As Date, Optional hanynap As Integer) As Date
Dim unnepek As Range, munkanap As Date, napi As Range, napok As Date
Set unnepek = Sheet1.Range("G2:G19")
munkanap = mettol
If hanynap = 0 Then hanynap = 0
For napok = mettol To mettol + hanynap
Set napi = unnepek.Find(what:=napok, LookIn:=xlValues, lookat:=xlWhole)
If Not napi Is Nothing Then
If Application.Weekday(napok, vbMonday) = 6 Then
munkanap = napok
End If
Else
If Application.Weekday(napok, vbMonday) < 6 Then
munkanap = napok
End If
End If
Next
munkanapos = munkanap
End FunctionA függvény megmondja, hogy a kezdő dátumtól (meddig) a megadott napokkal (hanynap) később melyik lesz a munkanap.
Ez működik cellában meghívva is (csak a cellaformátumot kell dátumra állítani).Üdv.
(A makróddal kapcsolatban szerintem majd írok privit, ha neked is megfelel.)
-
Fferi50
őstag
válasz KaliJoe #25754 üzenetére
Szia!
A következőt javaslom:
Az F oszlopba írd be a Szervezet munkalapról kivenni tervezett címeket:
F2 cella Szervezet!L2
A G oszlopba írd be a következő képletet:
G2 cella =CELLA("cím";INDIREKT(F2))
Ebben az esetben a B2 képletedbe a CELLA("cím";Szervezet!L2) helyett írhatod mindenhova, hogy G2,
vagyis a képlet: =JOBB(G2;HOSSZ(G2)-SZÖVEG.KERES("!";G2;1))
A D2 képlete: =SOR(INDIREKT(G2))Ezeket a képleteket (az F oszlop kivételével, ahová nyilván be kell írni tételesen minden cellába) végighúzhatod az adott oszlopon.
Üdv.[ Szerkesztve ]
-
Fferi50
őstag
válasz csferke #25756 üzenetére
Szia!
Akkor most mi is a kérdés?
Mert elsőre azt írtad, hogy az A oszlop adatait szeretnéd szétbontani a C és D oszlop szerint.
Most azt írod, a C oszlopba dátumot, a D oszlopba időt szeretnél bevinni. Utána mi vele a célod???
Egyébként pedig annyit kell tenned, hogy a C oszlopot megformázod Dátum formátumra a cellaformázásban, úgy ahogyan Te szeretnéd a dátumot látni és máris írhatod be.
Ugyanezt kell tenni a D oszloppal idő formátumra. Amilyenre formáztad, olyan módon viheted be a cellákba az értéket.Üdv.
-
Fferi50
őstag
válasz KaliJoe #25760 üzenetére
Szia!
Ezen még gondolkodni kellene, egyrészt azon, hogy hova lehet beilleszteni új elemeket, másrészt pedig miként lehet ezt makróval követni.
Jó lenne, ha mélyebben kifejtenéd a modell lényegét - akár folyamatábrával megtoldva -, mivel úgy lehet igazán programozni, ha ismerjük a folyamatot.
Üdv.
-
Fferi50
őstag
válasz TrollBalint #25744 üzenetére
Szia!
A #25749 hozzászólásomban levő függvény nem teljesen jó sajnos, mert nem a munkanapokat számolja, hanem csak a napokat. Javítottam, ezt próbáld meg légy szíves:
Function munkanapos(ByVal mettol As Date, Optional hanynap As Integer) As Date
Dim unnepek As Range, munkanap As Date, napi As Range, napok As Date, napjai As Integer
Set unnepek = Sheet1.Range("G2:G19")
napjai = 0
munkanap = mettol
Do While napjai <= hanynap
napok = mettol + napjai
Set napi = unnepek.Find(what:=napok, LookIn:=xlValues, lookat:=xlWhole)
If Not napi Is Nothing Then
If Application.Weekday(napok, vbMonday) = 6 Then
munkanap = napok
End If
Else
If Application.Weekday(napok, vbMonday) < 6 Then
munkanap = napok
End If
End If
napjai = napjai + 1
Loop
munkanapos = munkanap
End FunctionÜdv.
-
Fferi50
őstag
válasz pirit28 #25764 üzenetére
Szia!
Azt szeretném megkérdezni, mi az oka annak, hogy új Excel applikációt töltesz be a program futásához. Annak a betöltése is időt vesz igénybe, másrészt akár befolyásolhatja az időzítőt is (bár ezt nem tapasztalatból mondom).
Ha csak az értékeket szeretnéd átmásolni, akkor "be lehet rántani" egy tömbbe egyszerre az egész tartományt és egybe ki is lehet írni a másik munkalapra, nem kell hozzá ciklus.
dim uploadA()
uploadA=Fsheet.range(cells(1,1),cells(80,36)).value
Tosheet.range(cells(1,1),cells(80,36)).value=uploadAés törölni sem kell a tömb értékét.
De szerintem még annál is gyorsabb a közvetlen értékadás:
Tosheet.range(cells(1,1),cells(80,36)).value=Fsheet.range(cells(1,1),cells(80,36)).value
Hiszen egyébként a két munkafüzeted együtt nyitva van.
Üdv.
[ Szerkesztve ]
-
Fferi50
őstag
válasz KaliJoe #25770 üzenetére
Szia!
Annál inkább nem ártana egy viszonylag pontos modellt összerakni és utána folytatni a történetet. Esetleg érdemes lenne utánanézni a neten, hátha másvalakinek is eszébe jutott már ilyesmi.
Maga a feladat pedig eléggé zsetonos formát kezd ölteni (úgy tűnik, nem "kisujjból kirázós").
Üdv.
[ Szerkesztve ]
-
Fferi50
őstag
válasz pirit28 #25772 üzenetére
Szia!
Akkor nálad egyszerre van nyitva a két fájl egyazon alkalmazásban - ezt mutatja a kódod. Bár ettől még mindig nem értem, miért kell új Excel alkalmazást indítani hozzá - hiszen a makró az "anya" alkalmazásban levő munkafüzetben fut és ide hozzá lehetne nyitni a másik két munkafüzetet is. A fromBook és toBook ugyanúgy hozzárendelhető ezekhez itt is. Szerintem műxik a direkt értékadás - csak a tartományokat kell összehangolni, mert ez csak folyamatos egybefüggő tartománynál lehetséges.
Az időingadozás (de főleg a "lefagyás" tünet) oka lehet a hálózati hozzá(nem)férés időszükséglete is.
(Néha az én excelem is csinál ilyet, pedig csak egy gépen van - jól "elszórakozik" saját magával) Az automatikus mentésnek is van ilyen "fagyásosnak tűnő" hatása.Nem lenne baj, ha valahogyan szöveges formában is lehetne látni a kódokat. Ha így lehet látni a kódot, akkor nem tudod a modult exportálni vajon?
Üdv.
-
Fferi50
őstag
válasz TrollBalint #25778 üzenetére
Szia!
A javított függvényemben is sikerült egy hibát benne hagyni, ezért nem úgy számol, ahogyan kellene.
A napjai = napjai+1 sort oda kell átirni, ahol a munkanap=napok sorok vannak, az után a sorok után, mivel csak akkor szabad növelni, ha munkanapot talált.
Tehát az a rész így nézne ki:
Do While napjai <= hanynap
napok = mettol + napjai
Set napi = unnepek.Find(what:=napok, LookIn:=xlValues, lookat:=xlWhole)
If Not napi Is Nothing Then
If Application.Weekday(napok, vbMonday) = 6 Then
munkanap = napok
napjai=napjai+1
End If
Else
If Application.Weekday(napok, vbMonday) < 6 Then
munkanap = napok
napjai=napjai+1
End If
End If
LoopTermészetesen az oszlopot is elnéztem, valóban nem a H, hanem az I oszlop adatait kell átírni a G alá. Mégpedig azért, mert a függvény logikája a következő:
Az ünnepek között felsorolt hétköznap (H-P) azt jelenti, hogy az a nap nem munkanap.
Az ünnepek között felsorolt szombat viszont azt jelenti, hogy az a szombat munkanap.Elnézést kérek a hibák miatt.
Üdv.
[ Szerkesztve ]
-
Fferi50
őstag
válasz TrollBalint #25785 üzenetére
Szia!
"ettől lehalt az egész excel"
Igazad van, szégyellem magam miatta, mert ezzel belekergettem egy végtelen ciklusba a függvényt.
Ezt most kipróbáltam és működik. Magyarázatokat is fűztem hozzá:
Function munkanapos(ByVal mettol As Date, Optional hanynap As Integer) As Date
Dim unnepek As Range, munkanap As Date, napi As Range, napok As Date, napjai As Integer
Set unnepek = Sheet1.Range("G2:G19") 'itt vannak az ünnepnapok és a dolgozós szombatok
napjai = 0 'nulláról indul a munkanap számláló
munkanap = mettol
napok = mettol 'innen indulunk
Do While napjai <= hanynap 'addig kell a ciklust csinálni, amíg a munkanapok száma eléri a kívánt értéket
Set napi = unnepek.Find(what:=napok, LookIn:=xlValues, lookat:=xlWhole) ' benne van-e az ünnep listában a dátumunk
If Not napi Is Nothing Then ' ha benne van a listában a dátumunk
If Application.Weekday(napok, vbMonday) = 6 Then ' és az szombat, akkor ez munkanap
munkanap = napok ' tehát visszatérési érték lehet
napjai = napjai + 1 'növeljük a munkanap számlálót
End If
Else 'ha nincs benne a listában a dátum
If Application.Weekday(napok, vbMonday) < 6 Then ' és nem szombati nap
munkanap = napok 'akkor lehet visszatérési érték
napjai = napjai + 1 ' növeljük a munkanap számlálót
End If
End If
napok = napok + 1 ' növeljük a dátumunkat egy nappal
Loop 'és folytatjuk a ciklust
munkanapos = munkanap ' ha vége a ciklusnak, akkor a munkanap változó aktuális értékét kell visszaadni
End FunctionNem probléma a kérdés - akkor sem, ha több van. Viszont jónéhányra a VBA help-ben megtalálod a választ.
Pl. Range.Find paramétereinek a magyarázata (illetve egyáltalán a nevesített paraméterek használata).
Szerintem nem úszod meg, hogy alaposan átnézd legalább a VBA help átlalános részét.
Az unnepekben mint írtam, benne vannak a nem munkaszüneti nap szombatok is.
Ezért kell mindkét ágat használni.
If not = magyarul "ha nem" (not ugye a logikai tagadás). Tehát az adott helyen, ha nem semmi(üres) a napi változó értéke - azaz talált a keresés egy olyan napot a listában. Keresésnél ezt a formulát érdemes alkalmazni, mert így nem fogsz hibát kapni.
Ha egyből a keresés eredményével akarnál dolgozni - pl. az abban levő dátumot szeretnéd megtudni, akkor hibaüzenetet kapsz. Van még egy csomó ilyen finomság, amit kb.20 év alatt sikerült összeszednem és még mindig tanulok új dolgokat.
A Weekday a nap számát adja vissza valóban, de hogy melyik napot tekinti a hét első napjának, az a második paraméterétől (ami itt vbMonday) függ.
A növelés logikáját szerintem megérted a makróból.Üdv.
-
Fferi50
őstag
válasz Smogus #25790 üzenetére
Szia!
Nem tudom mit találtál az Excelben. 2010-ben a Fejlesztőeszközök Dokumentumpanel menüpontban elő tudod hozni a dokumentum ablakot, ahová megjegyzéseket is tudsz írni. Be lehet állítani, hogy mikor jelenjen meg. De ebben a menüpontban mindig elő tudod hozni az aktuális állapotát.
Üdv.
-
Fferi50
őstag
válasz Emil-l #25808 üzenetére
Szia!
Mit értesz függvény futtatása alatt? Ha egy képlet beírását egy cellába - és ebből szeretnél sokat, akkor kapcsold ki az automatikus számolást - képletek - számolási beállítások - manuális.
Beírod a képleteket, majd utána F9 a számolás végrehajtására (vagy visszaállítod automatikusra).Másik megoldás, hogy egy teljesen új munkafüzetet nyitsz az "elemzéshez", ide írod be a képleteket - természetesen a forrásadatokra hivatkozva (3 dimenziós hivatkozás - excel help). Ehhez első körben nyitva kell lennie a forrás fájlnak. A későbbiekben elég csak a frissítést kérni inditáskor vagy bekapcsolni, nem kell hozzá megnyitni a forrásfájlt.
Üdv.
-
Fferi50
őstag
válasz Emil-l #25810 üzenetére
Szia!
Az adathalmaz nagysága miatt ezek úgy gondolom - sajnos - nem feltétlenül irreális számok, attól függ hogyan csinálod.
Hány munkalap van a munkafüzetben? Vannak-e benne már képletek? Hány sor -oszlop? (Persze a méret az már önmagában mutat valamit, de nem mindegy a belső szerkezete sem.)
A keres-cserél funkciót milyen tartományon futtattad? Egy munkalap, egész munkafüzet?
Excel verzió?A tisztít képlet egy cellára alkalmazva fut 8 percig???
Ilyen feladatokra már ajánlatos a makrók használata - > képlettel csak új cellába tudod az adatot módosítani(kivéve cserél), makróval a meglevő cella tartalma is módosítható.
Szóval egy ici-picit több információra lenne még szükség.
Üdv.
-
Fferi50
őstag
válasz Emil-l #25819 üzenetére
Szia!
Ilyen nagy állománynál nem szabad szűrést használni a műveletk előtt, mert duplán dolgoztatja a procit.
Nem tudom, mit jelent a hibás és hogyan állapítod meg. De a keres-cserél funkciót érdemes használni:
pl. keresed: röv. cseréled:rövidítés összes cseréje.Sajnos nem ismerem a 2013-as excelt. Nem tudom, hogy a Tisztít ott hogyan műxik, de továbbra is az a gondom, hogy az eredményét csak egy másik cellába lehet betenni, ami tovább növeli az adathalmazodat.
Ehhez is felesleges a szűrés, mert legfeljebb ugyanazt az eredményt fogja adni az új cellában, mint ami a régiben volt.Leírnád, hogy hogyan alkalmaztad a Tisztít képletet?
"Eddig nem próbáltam a makrót ... előbb akartam a tisztítást"
Ezeket a feladatokat is el lehet látni makróval és sokkal gyorsabb is lesz szerintem.
Üdv.
-
Fferi50
őstag
válasz TrollBalint #25849 üzenetére
Szia!
Az idő "eltüntetésére" használhatod a Dátum(év(kiindulásicella);hónap(kiindulásicells);nap(kiindulásicella))képletet. Természetesen a saját jelöléseid figyelembe vételével.
Üdv.
Új hozzászólás Aktív témák
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- PC JÁTÉKOK (OLCSÓ STEAM, EA , UPLAY KULCSOK ÉS SOKMINDEN MÁS IS 100% GARANCIA )
- Windows 10 11 Pro Office 19 21 Pro Plus Retail kulcs 1 PC Mac AKCIÓ! LEGOLCSÓBB! Automatikus 0-24
- Autómatricák a legjobb minőségben, több ezer minta! PH tagoknak 30% kedvezmény!
- Bitdefender Total Security 3év/3eszköz! - "Tökéletes védelem most kedvező áron..."
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen
Cég: Alpha Laptopszerviz Kft.
Város: Pécs