- PlayStation 5
- eFootball
- EAFC 24
- UbiForward24 - Hosszabb bemutatón a Star Wars: Outlaws
- Empire of the Ants - Az év végétől építhetünk saját hangyabirodalmat
- iRacing.com - a legélethűbb -online- autós szimulátor bajnokság
- PlayerUnknown’s Battlegrounds
- Test Drive Unlimited Solar Crown
- EA Sports WRC '23
- ANNO 1800
-
GAMEPOD.hu
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
-
Delila_1
Topikgazda
Nem kell külön makró. Az Eszközök/Bővítménykezelőben jelöld be az Automatikus mentést, mire az az Eszközök menüben megjelenik. Ott beállíthatod a gyakoriságát, továbbá, hogy csak az aktív-, vagy minden nyitott füzetet mentsen-e, és hogy mentés előtt rákérdezzen-e a mentésre.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
-
Fehér Mancs
tag
Ha valami ciklust használsz, akkor bizonyos ciklusnál (minden 1000-dik esetben) be lehet iktatni a ActiveWorkbook.Save -et.
Másik lehetőség, ha bizonyos időközönként akasz menteni, a Timer használata (bár ehhez is folyton vissza kell térni -> cilus kell hozzá):
Start = Timer
SaveSecond= 60*60 ' óránkénti mentés
cilus kezdete
if Start > Timer+SaveSecond then
ActiveWorkbook.Save
Start = Timer
endif
cilus vége[ Szerkesztve ]
-
félisten
Hali!
Több megoldást is javasoltak már Neked, hogy teljes legyen az örömöd én a makrós megoldást választottam, beépített időzítővel.
Ez most 10 másodpercenként ment, de átírható egyszerűen.
Fire.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
Hali!
Remek kérdést tettél fel, csak attól félek, hogy a válaszommal lehet hogy nagyon összezavarlak, és még több kérdés merül fel benned....
Az OnTime az egy viszonylag egyszerű TASK, vagy "egyszerűbben" egy megszakítás(interrupt). Ez mindig fut("mindig működik"), csak a felhasználó ebből mit sem lát. Addig a pillanatig "láthatattlan", amíg valaki "fel nem programozza", azaz be nem állít a neki megfelelő paramétereket. 4 paramétere van, az első kettő ami esetünkben a lényeg(a többit most nem részletezem)
1. paraméter: MIKOR kell meghívni
2. paraméter MIT kell meghívni(subroutine SUB)Tehát a válasz a kérdésedre az, hogy valóban meghívódik újra és újra a SAVETHISWORKBOOK subroutine, de NEM ÖNREKURZIÓ által(azaz nem a függvény hívja meg saját magát), hanem egy tőle független TASK(Application.OnTime)
Hát remélem, nem zavartalak nagyon össze...
Fire.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
félisten
Hali!
Igazából a 4. paraméter Excel2003 ill. 2007 alatt "felesleges", mert az alapbeállítás(default), az TRUE. Ezt csak azért írtam oda, ha esetleg 2000 vagy 2002 officet használ valaki. A szerepe annyi, hogy ezzel a paraméterrel lehet engedélyezni ill letiltani az OnTime metódust.
Be lehet úgy is állítani, hogy egy megadott időpontba mentsen.
Application.OnTime TimeValue("13:00:00"), "SaveThisWorkBook",,TRUE
(Ebben az esetben ha a gép megállás nélkül menne egy hétig, akkor minden nap 13 órakor elmentené a excel táblát(persze ha újra értéket adsz neki))Fire.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
rtom
senior tag
Bocsi, lefagyott a böngészőm, vagy a szerver is szórakozhatott mert 2 percig nem tudtam elérni a PH!-t, véletlenül 2x nyomtam az OK-ra. Szóval a feltételes formázást bekorlátozva egy olyan számra, ami már biztosan nem fordulhat elő (azaz két érték közöttieket színezve) már működik a dolog.
-
gsc73
aktív tag
Hali!
Először is köszönöm, hogy foglalkoztál a kérdéssel! Az az helyzet, hogy a súgó olvasgatása közben éreztem, hogy valami "munkás" módszerrel meg lehet oldani, de egyrészt lusta voltam vigigcsinálni, másrészt nem akarom elhinni, hogy ha van egy ilyen "MAX" függvény, akkor nem lehetne egyszerűbben megoldani. Ha más nem lesz, akkor megcsinálom a Te módszereddel, fehér "munkaszámokkal", pár sorral leljebb...
Köszi:
g.
kedvenc szavaim: palack, flakon, kredenc, fridzsider, ibrik, trafik, szvetter, fregoli, rezsó, sparhelt, vájdling, szifon, gardrób, partvis, spejz, tégely, drót, abrosz, lavór...szocreál.
-
Cuci3
tag
Alapvetően két dologra tudok gondolni:
1. Vagy tényleg nincs ott a keresett fájl, vagy át lett nevezve.
2. Esetleg nincs jogosultságod a szerverre.Én pl egy új munkafüzetben újra megcsinánék egy ilyen hiperhivatkozást, és kipróbálnám, hogy működik-e. Aztán lehet tovább gondolkodni, ha mégis minden okés.
-
félisten
Hali!
1. Ha magyar nyelvű excelben, angol megnevezésű függvényekkel szeretnél dolgozni, akkor szúrj be egy új munkalapot(munkalapon jobb egér/beszúrás...), majd a megjelenő ablakban válaszd a Nemzetközi makrólap lehetőséget. Innentől csak az angol megnevezések jelennek meg egy függvény beszúrásakor, pl a CountIf a darabteli helyett.
2. Az excel maga is feltelepíti azt a fájlt, amiben angolul és magyarul is megvannak szépen felsorolva a függvények, azaz pl a DARABTELI függvénynek megtalálod az angol megfelelőjét. Ez a fájl FUNCS.XLS névre hallgat és ebben a könyvtárban található:
Office 2007 esetén
c:\Program Files (x86)\Microsoft Office\Office12\1038Office 2003 esetén
c:\Program Files (x86)\Microsoft Office\Office11\1038Egyszerűen csak töltsd be/nyisd meg és lőn világosság...
Máris nem lesz probléma, hogy angol megnevezésű függvénynek mi a magyar megfelelője avagy fordítva...Fire.
[ Szerkesztve ]
Mindenki tudja, hogy bizonyos dolgokat nem lehet megvalósítani, mígnem jön valaki, aki erről nem tud, és megvalósítja. (Albert Einstein)
-
Excelbarat
tag
Hi
A Ha függvényedben eredményül ne "" ezt használd hanem olyankor a HIÁNYZIK() fv-t! és valószínű megoldódik a problémád! -bár a diagrammot ebben az esetben is kitolja 500-ig de legalább nem 0-a értékkel igaz így a táblázatod kicsit "elrodnul" de esetleg olyat is formázhatsz rá hogy ne látszódjon, hogy feltételes formázásnál megadod hogyha ez az érték van akkor pl legyen a betűszín fehér és máris nem látszik[ Szerkesztve ]
-
rtom
senior tag
-
Delila_1
Topikgazda
-
poffsoft
addikt
mert a select és a pastespecial parancsok újra meghívják a makrót (miközben már fut), mindig egy újabb ciklust indítva....
Esetleg egy flaggal jelezhetnéd neki, hogy "mostnemkell":
(Ez az én favágó megoldásom):Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Range("A1") = "s" Then Exit Sub
If Range("L2") = "valami" Then
Range("A1") = "s"
Range("L2:M2").Select
Selection.Copy
Range("B2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("L2:M2").Select
Application.CutCopyMode = False
Selection.ClearContents
End If
Range("A1") = ""
End SubEz meg a korrekt megoldás:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Application.EnableEvents = False
If Range("L2") = "valami" Then
Range("L2:M2").Select
Selection.Copy
Range("B2").PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Range("L2:M2").Select
Application.CutCopyMode = False
Selection.ClearContents
End If
Application.EnableEvents = True
End Sub[ Szerkesztve ]
[ Szerkesztve ]
-
Mutt
aktív tag
Hello,
Amit érdemes lenne még módosítanod az, hogy ne a SelectionChange eseménykor fusson a makró, hanem az Change eseménykor.
A mostani megoldás akkor is lefut, ha a lapon nncs változás csak egyik cellából egy másikba mész.
A SelectionChange pl. akkor lehet hasznos, ha a cella módosítás előtti értékére van szükséged.Ha a másolandó tartományban nincs képlet, akkor a Cut metódus 1 lépésben megcsinálja neked ami kell.
pl. Range("L2:M2").Cut Destination:=Sheets("cel").Range("B2")
üdv.
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
rtom
senior tag
Újabb észrevételem, aminek nem tudom okát: külső excel táblából fkeres-sel összeszedett adat megjelenik, míg ugyanezen adatból a szumha hibát ad ...
Próbáltam úgy kikerülni a problémát, hogy makróból megnyitom és akkor updatelem a linket, de így sem megy
A kódom:
Open "DataFile_elérési_útvonala_és_neve" For Random Access Read As #1
Windows("Kimutatásfile.xls").Activate
ActiveWorkbook.UpdateLink Name:="\DataFile_elérési_útvonala_és_neve", _
Type:=xlExcelLinks
Sheets("Munka1").Select
Range("T69:X72").Select
Selection.Copy
Range("B69").Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Close #1[ Szerkesztve ]
-
Mutt
aktív tag
Hello,
...külső excel táblából fkeres-sel összeszedett adat megjelenik, míg ugyanezen adatból a szumha hibát ad...
SZUMHA mellett még ugyanígy érintettek a SZUMHATÖBB (SUMIFS), DARABTELI (COUNTIF), DARABHATÖBB (COUNTIFS), DARABÜRES (COUNTBLANK) és INDIREKT függvények is, vagyis bezárt fájlokon nem működnek. A Microsoft úgy gondolja, hogy ennek így kell lennie http://support.microsoft.com/kb/260415
Alternatív megoldások a lenti képlet helyett:
=SZUMHA([A.xlsx]Munka1!$A:$A;A2;[A.xlsx]Munka1!$B:$B)- szorzatösszeg használata
=SZORZATÖSSZEG(([A.xlsx]Munka1!$A:$A=A2)*1;[A.xlsx]Munka1!$B:$B)- CSE képletben a SZUM és HA használata
{=SZUM(HA([A.xlsx]Munka1!$A:$A=A2;[A.xlsx]Munka1!$B:$B))}üdv.
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Excelbarat
tag
Ha esetleg 2010-es excelt használsz akkor nagyon könnyen
Beszúrsz az egyikhez egy szeletelőt majd utána beállítod a kapcsolatot a kettő között.
Így tudod megtenni ezeket:
A kimutatás beállítás fülén szerepel a Szeletelő beszúrása ott bepipálod hogy melyik(ek) legyenek. (akár az összeset) Szépen elrendez.
Utána amelyiket akarod hogy a többihez is tartozzon jobb gomb rá - Kimutatáskapcsolatok és kiválaszt melyik.
ebben a hozzászólásban egy videó is van linkelve.
Esetlegesen problémát okozhat (nem kis fejtörés után jöttem rá) hogy ha régebbi fájlt (ergo nem 2010-es és az ablakban az szerepel, hogy kompatibilis üzemmód) akkor először el kell mentened 2010es fájltípusban CSAK ekkor lesz aktív a szeletelő beszúrása. (mivel ez csak 2010es verziótól érhető el)Delila_1 köszönöm a válaszod a diagrammos megoldásra. Még ez is jobb minthogy az összes érték egymásba lógjon
[ Szerkesztve ]
-
Mutt
aktív tag
Hello,
A lapvédelemnél gördítsd le a listát és engedélyezd még az alábbiakat:
- Autoszűrő használata
- Kimutatások használataHa a pivot növekszik, akkor még a sorok és oszlopok beszúrását is jelöld be.
üdv.
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
alfa20
senior tag
lehet van egyszerűbb megoldás is, de szerintem ha a "BOM" fülön beszúrsz egy oszlopot az "A" vagy "E" oszlop elé és készítesz egy egyedi azonosítót akkor egy sima FKERES függvénnyel megoldható.
pl:
1.) egyedi azonosító az "A" oszlopban:
"BOM" fülön A2 cella "=B2&C2&D2&E2"
"INPUT" fül E2 cella: "=FKERES(A2&B2&C2&D2;BOM!A:F;6;0)"2.) egyedi azonosító az "E" oszlopban:
"BOM" fülön E2 cella "=A2&B2&C2&D2"
"INPUT" fül E2 cella: "=FKERES(A2&B2&C2&D2;BOM!E:F;2;0)"Az egyedi azonosító oszlopot el is rejtheted ha zavar.
szert:
smile került a képlet be[ Szerkesztve ]
"Az agy olyan, mint az ejtőernyő: csak akkor működik, ha nyitott." (Thomas Dewar)
-
Mutt
aktív tag
Hello,
Itt az én változatom (E2-be):
1. Ha az ID minden esetben szám és a BOM-ok között nincs ismétlődés:
=SZORZATÖSSZEG(--(BOM!A:A=A2);--(BOM!B:B=B2);--(BOM!C:C=C2);--(BOM!D:D=D2);BOM!E:E)2. Ha az ID alfanumerikus és a BOM-ok között nincs ismétlődés:
=INDEX(BOM!E:E;SZORZATÖSSZEG(--(BOM!A:A=A2);--(BOM!B:B=B2);--(BOM!C:C=C2);--(BOM!D:D=D2);SOR(E:E)))üdv.
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
Mutt
aktív tag
Hello,
...miért áll meg a debug a Range("B21:B" & usor). Select sornál....
Az egyik probléma, hogy az usor-t rosszul határozod meg.
A .Range("B21:B" & Rows.Count).End(xlDown).Row + 1 azt mondja, hogy menjen el az utolsó sorba és használja a következőt, az utolsó után már nincs sor.Ha a B21 után használt utolsó cella sora kell, akkor xlDown helyett xlUp-ot használj.
A másik probléma itt, hogy a .Range("B21:B" & Rows.Count).End nem jó, mivel azt csinálod hogy B21:B1048576-os tartományt kijelölöd, a kurzor továbbra is B21-ben van, de nyomsz egy END-et vagyis elugorsz végre B1048576-re. Ez így felesleges, egy lépésben csináld: Range("B" & Rows.Count).End
A kódban a Selectek miatt nem lehet követni, hogy éppen hova akarsz dolgozni. Valójában az aktív lapod nem változik, maradsz a beolvas-on, ezért javaslom, hogy rendesen írd ki, hogy éppen hol akarsz módosítani.
pl. Range("B21:B" & usor).Select helyett
ThisWorkbook.Sheets(lapnev).Range("B21:B" & usor).SelectVégül pedig lehet pár dolgot egylépésben is csinálni.
Range("D2").Select
Selection.Copyhelyette:
Range("D2").CopyVagy a végén:
Sheets("beolvas").Select
Range("A2").Select
Selection.Clearhelyette:
Sheets("beolvas").Range("A2").ClearItt van a javított változat:
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
Dim usor As Long
Dim lapnev As String
If Range("A2") <> Empty And Range("A4") = "OK" Then
Range("D2").Copy
lapnev = Range("F2")
Sheets(lapnev).Select
usor = ThisWorkbook.Sheets(lapnev).Range("B" & Rows.Count).End(xlUp).Row + 1
ThisWorkbook.Sheets(lapnev).Range("B21:B" & usor).Select
Selection.PasteSpecial Paste:=xlPasteValues, Operation:=xlNone, SkipBlanks _
:=False, Transpose:=False
Sheets("beolvas").Range("A2").Clear
End If
End Subüdv
[ Szerkesztve ]
A tanácsaimat ingyen adom. Ha nem tetszik, akkor kérlek ne kritizáld! / https://github.com/viszi/codes/tree/master/Excel
-
hallgat
csendes tag
Szia!
Ha 2010 Excelt használsz, a következő módon meg tudod oldani:
1., A cellának alap esetben zároltnak kell lennie a cellaformázás -> védelem fülön.2., Ne legyen bekapcsolva a lapvédelem.
3., Menj a Korrektúra eszköztárra, azon belül a változások blokkhoz és válaszd a Tartományok szerkesztésének engedélyezése gombot.
4., Itt megadhatod, hogy ha védett lesz a lap, akkor mely cellák szerkeszthetők mégis, ha tudja a felhasználó a jelszót.
5., Kapcsold be a lapvédelmet
[ Szerkesztve ]
Office 2010 Attól, hogy a verebek alakzatba állnak, az még nem SAS!
-
Delila_1
Topikgazda
A makró elejére beírt ActiveSheet.Protect Password:="szupertitkosjelszó", UserInterfaceOnly:=True sor eredményeként a makróból módosíthatod a védett lap védett celláit, és a makró végén sem kell visszaállítanod a védelmet.
Programozó: hibás programok megírására és kijavítására kiképzett szakember. Többet ésszel, mint ész nélkül.
Új hozzászólás Aktív témák
- Megmaradt - Eredeti Humble, Choice - Steam kulcsok
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- 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
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
Állásajánlatok
Cég: Ozeki Kft.
Város: Debrecen