Hirdetés
- Luck Dragon: Asszociációs játék. :)
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Brogyi: CTEK akkumulátor töltő és másolatai
- Krumple: [Xpenology] DSM 7.3 telepítése proxmox 9 alatt - GUIval
- eBay-es kütyük kis pénzért
- Kalandor: „Ha engedtem volna a lelkiismeretemnek, az üzlet kevésbé lett volna jövedelmező”
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- D1Rect: Nagy "hülyétkapokazapróktól" topik
-
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
modflow
#54825
üzenetére
Szia!
Ahogyan Föccer írja, leginkább makró kell hozzá.
Ha feltételes formázással megy a színezés, akkor a feltételnek megfelelő cellákat lehet megszámoltatni képlettel. Pl. számok esetén DARABHA(A:A;">3") régebbi Excelben DARABTELI a függvény neve.
Szöveges formázás esetén is a szöveges feltételt kell a képletben alkalmazni.
Üdv. -
Fferi50
Topikgazda
válasz
CsonkaImo
#54820
üzenetére
Szia!
A kék színű Series1 nevű adatsorod töröld ki lsz. Utána jelöld ki x tengelynek az első oszlopod. Az x tengely formázásánál állítsd be a fő léptéket 0,5 - re.
Lépések:
A diagramon jobb klikk - Adatok kijelölése
Itt elvégezheted a szükséges módosításokat.
Vedd figyelembe, hogy a kijelölésnél igazából az első oszlop mindig az x tengely (elfordításnál az y tengely) értékeit adja.
Tehát neked egy adatsorod van - vízszintes tengelyen az x és hozzá tartozik a bending moments.
Az x tengelyt kiválasztod, jobb egérgomb és tengely formázása. Itt beállítod a fo léptéket 0,5-re
Üdv. -
Fferi50
Topikgazda
válasz
Geryson
#54817
üzenetére
Szia!
Ha a beszerzési árra tetted rá a 15 % árrést, akkor a képlet az A3 cellába:A2/A1-1
Két tizedes pontossággal 0,15 -> százalékos formában 15%
Ha a mínusz egyet elhagyod, akkor pedig 1,15 -> 115%
Üdv.
Ps: nem tudom, neked miből lett az A2/A1 111,98, ott valamit elírtál a képletben. -
Fferi50
Topikgazda
válasz
repvez
#54793
üzenetére
Szia!
Az újabb Excel verziókban a DARABTELI függvény DARABHA néven szerepel.
A DARAB függvény teljesen másként működik, a számokat tartalmazó cellákat számolja össze. Mivel a képlet végére tettél egy pontosvesszőt, ezért azt 0 -ként értékeli, ezért a DARAB függvényed értéke 1 lesz. Ha lehagyod a pontosvesszőt, akkor 0 értéket kapsz vissza.
A DARABTELI/DARABHA függvénynél lehet olyan probléma esetleg, hogy a szöveg nem pontosan egyformán van beírva a cellákba (bár, ha lenyílós érvényesítés van, akkor ez nem valószínű).
Ezért lenne fontos, hogy lássuk a képletedet.
Üdv. -
Fferi50
Topikgazda
válasz
repvez
#54791
üzenetére
Szia!
Tudnál egy képet mutatni, ahol látszik a képlet is?
Mi történik, ha az F3 cellában először csak az összeget hagyod meg? Ha az helyes, akkor nézd meg, mi a Darabteli függvény értéke. Valamelyik biztosan "helytelen" lehet.
Megvizsgálhatod az eredményt úgy is, hogy a cellát kijelölve, de nem belekattintva, a képletek menücsoportból a képletkiértékelést választod. Így lépésenként láthatod a műveletek eredményét. Ebből valószínűleg rájössz a hiba okára is.
Üdv. -
Fferi50
Topikgazda
Szia!
Ha csak egy cellát jelölsz ki, akkor mit ír ki összegnek?
Próbáld ki, F2 majd a szerkesztőlécen nézd meg, mit látsz. Ha ugyanezt látod - vagyis a két nullát és a tizedest vesszőt is - akkor szöveg van a cellában.
A cella számformátummá alakítása után kell még egy F2 és egy Enter. Így szokott "helyrejönni" a szám, nem elég a cellaformátum változtatása.
Számmá alakíthatod még az Adatok - Szövegből oszlopok varázslóval is.
Üdv. -
Fferi50
Topikgazda
válasz
lanszelot
#54757
üzenetére
Szia!
"egy példát pl 2020 április elejetól végéig G (money per month) és H (kWh per month) oszlopban mi lenne a képlet?"
Ezt a képletet próbáld ki (az A-C oszlopokból kiindulva), mondjuk az E2 cellába:=SUMIFS(B:B ; A:A; ">=01.04.2020";A:A; ">=30.04.2020")
F2 cellába pedig:
=SUMIFS(C:C ; A:A; ">=01.04.2020";A:A; ">=30.04.2020")
Így nem kell semmilyen plusz információ hozzá.
Ezért indultam ki az eredeti adatokból.
Üdv. -
Fferi50
Topikgazda
válasz
lanszelot
#54754
üzenetére
Szia!
Ha nincs hó eleji és hó végi adatod - miért is lenne - akkor viszont a SUMIFS függvény kell. Egyik feltétel dátum >=hó eleje, másik feltétel dátum <=hó vége. Ezt két külön feltételként kell megadni, ezért SUMIFS
Ha ki tudod írni az év - hónapot külön, akkor elég a SUMIF.
Mit írtál az F oszlopba, amit átírt?
Üdv. -
Fferi50
Topikgazda
válasz
Dragon27
#54753
üzenetére
Szia!
A feltételes formázás érvényességi tartományára állítsd be az egész $A$7:$K$98 tartományt egyben.
A képletben pedig legyen =$G7="Nyert".
A formázás beállításakor pedig jelöld ki a teljes tartományt (akkor az első mondatban írtak nem is kellenek)...
Tehát én törölném a mostani feltételes formázást, utána kijelölném a teljes tartományt a 7 sortól. Beírnám a képletet és megadnám a formázást mindkét feltételre külön-külön.
Üdv. -
Fferi50
Topikgazda
válasz
lanszelot
#54750
üzenetére
Szia!
Ami ezen a képen van, az szerintem jó kiindulási alapnak. A másik az nekem nem szimpi.
A SUMIFS képletet egy másik munkalapon - illetve a munkalap másik részén lehet használni.
Ehhez kellene még egy oszlop, ahol az év/hó szerepel a dátumból. Ezután ezt az oszlopot átmásolni arra helyre, ahová az összesítő értékeket szeretnéd - Erre jó az EGYEDI (UNIQUE) függvény. Ezután lehet a SUMIFS vagy lehet elég a SUMIF függvényt használni a hónapok összesítésére mindkét kívánt értékre.
Így érintettem a másik hsz-t is.
MS Office-ben (Excel) egy kimutatás megoldja a problémádat.
Üdv. -
Fferi50
Topikgazda
válasz
lanszelot
#54745
üzenetére
Szia!
Szerintem először egy kis rendet kellene csinálni, pl. Dátum mindig ugyanabban az oszlopban, nem kell sorrendben lenni. A pénzmozgás is egy oszlopba legyen rendezve.
Fogyasztás - leolvasás külön oszlopban.
SZUMHATÖBB függvénnyel számolhatsz fogyasztást és pénzmozgást havi szintre.
Készíthetsz kimutatást is, lehet én azzal kezdeném. Makró nem kell ehhez sem.
Ha mintát teszel fel, akkor még többet tudnánk segíteni.
Hasonló függvények (SUMIFS) a GoogleSheet-ben is vannak. Kimutatásra nem emlékszem.
Üdv. -
Fferi50
Topikgazda
válasz
Dragon27
#54741
üzenetére
Szia!
Az Excel frissebb verzióiban már DARABHA függvényre "magyarították" a korábbi DARABTELI elnevezést, ezért van a #NÉV? hiba.
E2 cellára megpróbálhatod:= DARABHA($G$7:$G$98;"Nyert")/DARAB2($G$7:$G$98)*100
(a nyert bejegyzések darabszámát viszonyítja az összes bejegyzés darabszámához a tartományban).
Úgy látom, a B4 cellád helyesen tartalmazza a profit összegét.
Így az E3 cella képlete lehetne:=$B$4/SZUM($E$7:$E$98)*100
A képleteknél fontos a $ jel, mert ezzel rögzítjük a tartományt.
Üdv. -
Fferi50
Topikgazda
válasz
Lasersailing
#54730
üzenetére
Szia!
Pl.:ktext=Range("A1").Comment.TextRange("A1").Comment.Text Text:=chr(10) & "Új comment", Start:=len(ktext)+1, Overwrite:=False
A := kombinációval a paramétereknek tudunk értéket adni.
Üdv. -
Fferi50
Topikgazda
válasz
Lasersailing
#54728
üzenetére
Szia!
A"Sheets(sob).Cells(3, sob_om).Comment.Text"sorba nem kell egyenlőségjel, szóköz után írhatod a szöveget, amit bele szeretnél tenni, mert az paraméter.
Comment.Text method (Excel) | Microsoft Learn
Üdv. -
-
Fferi50
Topikgazda
Szia!
Borzasztóan egyszerű??? az oka:
A Thisworkbook mindig azt a munkafüzetet jelenti, amiből a makró elindult. Ha a Personalból indítod az ikonnal, akkor azt. Ha a munkalapra/munkafüzetbe másolod és onnan indítod, akkor pedig az a munkafüzet.
Így aztán - mivel a Personal aktív munkalapján nyilvánvalóan nincsenek adatok, ezért nem is talál semmit.
Megoldás szerintem, hogy a Thisworkbook helyett ActiveWorkbook legyen a hivatkozás.
Üdv. -
-
Fferi50
Topikgazda
válasz
PeLa87
#54702
üzenetére
Szia!
Az Fkeres, Xkeres esetében a keresendő értéknek olyan formátumban kell lenni, mint ami a keresési oszlopban van.
A kép alapján az OVTJ2025 kód oszlopban szövegként tárolt szám van. Így a Keresőfüggvényben a keresendő paraméterként szövegként kell beírnod az értéket. Másik megoldás, hogy a kód oszlopban levő értékeket átalakítod számmá - erre több módszer is van, a hibaüzenetre kattintva is megteheted, kiválasztva ezt az opciót - és akkor számként írhatod be az EV fülre a keresett értéket.
Üdv. -
Fferi50
Topikgazda
Szia!
Szerintem szöveges cellára sajnos nem lehet ilyen formátumot. Makróval megoldható:Sub idezojelo()Dim cl As RangeFor Each cl In SelectionIf TypeName(cl.Value) = "String" ThenIf Left(cl.Value, 1) <> Chr(34) Thencl.Value = Chr(34) & cl.Value & Chr(34)End IfEnd IfNextEnd Sub
Kijelölöd a cellákat és elindítod a makrót. A szöveg tartalmú cellákba elhelyezi az idézőjeleket, ha már van benne, akkor nem változtatja.
A makrót elhelyezheted egyéni makró füzetben (Personal.xlsb), így minden munkafüzetben használható. Rendelhetsz hozzá gyorsbillentyű kombinációt is.
Ha csak ebben a munkafüzetben használod, a munkafüzetet makróbarátként kell elmentened.
Üdv. -
Fferi50
Topikgazda
válasz
szricsi_0917
#54685
üzenetére
Szia!
Más, Mutt hozzászólása alapján jutott eszembe a következő:
Mi lenne, ha használnád a BackgroundQuery tulajdonságot False -ra állítva. Ekkor minden lekérdezésnél megvárja a VBA a teljes lefutást, ezután megy tovább a következő műveletekre.
Üdv. -
Fferi50
Topikgazda
válasz
szricsi_0917
#54685
üzenetére
Szia!
Én kiíratnám debugba az időpontot, a lekérdezés nevét, állapotát és a stableCount változó értékét minden ciklusban.
Talán kevés neki a 2 mp késleltetés?
Üdv. -
Fferi50
Topikgazda
válasz
makoss
#54678
üzenetére
Szia!
Az első sorba - ahova a napok kerülnek - dátumot írsz. A példádban C1-be 2025.10.01. Ezután cellaformázás, egyéni - magyarban nnn, angolban ddd - a napok egyértelmű kezdőbetűit látod a cellában. Ezután jobbra húzod és a húzással kitöltődik a növekvő dátumokkal.
A cellák értéke dátum marad, de látni a napokat fogod. Kitöltés után beállítod az automatikus oszlopszélességet.
Üdv. -
Fferi50
Topikgazda
-
Fferi50
Topikgazda
Szia!
Új ikont csak a menüszalag szerkesztővel tudsz felvenni... (pl Office RibbonX Editor).
A personal munkafüzetben levő makrót így tudod az egyéni menüszalagra tenni:
A VBA ablakban láthatóvá teszed a Personal.xlsb munkafüzetet: Immediate ablakban Workbooks("Personal.xlsb").Windows(1).Visible=True
Ezután átváltasz a Munkalap ablakra (maradsz a Personal munkafüzetben!) - majd Fájl - Beállítások - Menüszalag testreszabása - A választható parancsok helye lenyílóban kiválasztod a Makrók tételt. Itt megjelennek az egyéni makrók is. Kiválasztod a szükségese(ke)t és felveszed a saját menüszalagodra.
Ezután vissza a VBA ablakra és elrejted a Personal.xlsb-t.
Workbooks("Personal.xlsb").Windows(1).Visible=False
Mented az eredeti fájlodat.
Ezután eléred az így átvitt makrokat az egyéni menüszalagodról.
Megjegyzés: Az így átvitt makrok megjelennek az Excelben megnyitáskor a menüszalagon. Működésük pedig függ az adott fájl szerkezetétől.
Üdv. -
Fferi50
Topikgazda
válasz
makoss
#54659
üzenetére
Szia!
Szerintem ezt egy A4 oldalra tisztességes láthatósággal nagyon nehezen lehet - ha egyáltalán - kinyomtatni.
Az oldalbeállítás paraméterezésben kísérletezhetsz részben a legyen 1 oldal széles 1 oldal magas beállítással, illetve a legyen az eredeti méret x %-a. A nyomtatási képen láthatod az eredményt kinyomtatás nélkül.
Üdv. -
Fferi50
Topikgazda
Szia!
Próbáld ki ezt a képletet:=SZUMHATÖBB($B$2:$B$16;$A$2:$A$16;">="& A6;$A$2:$A$16;"<=" & A10)
De az A6 és A10 cellák helyett másik cellákba is írhatod a határokat, akkor azt kell megadnod helyettük.
Üdv.
PS. Ha konkrét célösszeget szeretnél megkapni adott dátumok között, akkor viszont az Excel Solver bővítményét kell használnod a kalkulációhoz. A SZUMHATÖBB függvény kalkulációra nem alkalmas, nem tudsz vele "válogatni" a számok között, hogy egy megadott érték legyen az eredmény, csak az összes feltételnek megfelelő értékeket adja össze.
(Ezt a megjegyzést a pl. 20 legyen kitétel miatt fűztem hozzá.) -
Fferi50
Topikgazda
válasz
föccer
#54633
üzenetére
Szia!
" a laphoz rendelve Sub Worksheet_SelectionChange(ByVal Target As Range) eljárást használom, ellenben nem indul el a makró "
Szerintem Selection_Change eseménynek el kell indulnia. Kivéve, ha az eseménykezelés le van tiltva.
Megjegyzés (bár gondolom tudod): Az eseménykezelő eljárás elején le kell tiltani az eseménykezelést, a végén pedig vissza kell kapcsolni, különben akár végtelen ciklusba is eshet a folyamat.
Üdv. -
Fferi50
Topikgazda
válasz
föccer
#54633
üzenetére
Szia!
"ez utóbbit kipróbáltam csak akkor fog tovább menni a makró, ha eltüntetem az userformot"
A userform megjelenítését megoldhatod úgy is, hogy a makró továbbfut a láthatóság alatt, majd a folyamat végén eltünteted.
A Show metodnak van egy paramétere - modal - ami alapértelmezésben (vagyis amikor paraméter nélkül jelenítjük meg a formot) érvényes, addig "nem tűnik el" a form, amíg a user nem kattint rá.
Ha tovább szeretnénk futtatni a form láthatósága idején a makrót, akkor meg kell adni a modal paraméternek a vbModeless (0) értéket, vagyis userform.show vbModeless formában kell láthatóvá tenni a formot.
[link] itt a help hozzá.
Üdv. -
Fferi50
Topikgazda
válasz
underdark
#54617
üzenetére
Szia!
Még egy lehetőség: Kimutatást készítesz, ahol a name lesz a sorcimke, a year az oszlopcimke és az asc oszlop összege lesz az értékek mezőben. Mivel minden név és év egy számot tartalmaz, így a kimutatás névsorosan fogja az éves értékeket mutatni.
Az összegző sorokat megjelenítését ki kell venned a kimutatásból (kimutatáson állva - Tervezés - Végösszegek - kikapcsolva sorokban és oszlopokban).
Ha új sort vittél be a táblázatba, akkor a kimutatást is frissítened kell, ennyi a hátránya.
Üdv. -
Fferi50
Topikgazda
válasz
underdark
#54617
üzenetére
Szia!
Ettől tartottam... (nem a kuszábbá válástól, hanem az adatok ilyen struktúrájától).
Ebben az esetben nem használható gazdaságosan az XKERES függvény, mivel mindig csak egy találatot ad vissza.
Mivel legalább 2021-es Exceled van, ezért használni tudod az EGYEDI és a SZŰRŐ függvényeket.
Az A1 : C5 tartományt átalakítottam táblázattá, hogy a táblázatos címzést tudjam használni.
Az éveket az I1 cellától a következő képlettel kaphatod meg:=TRANSZPONÁLÁS(EGYEDI(Táblázat1[year]))
Az E1 cellába írtam be a kívánt nevet.
Ezután az I2 cellában a képlet (ezt látod a képen is):=SZŰRŐ(Táblázat1[[#Mind];[asc]];(Táblázat1[[#Mind];[name]]=$E$1)*(Táblázat1[[#Mind];[year]]=I$1);0)
Ezt a képletet másolni és beilleszteni kell a mellette levő cellákba (nem pedig egérrel húzni!) és akkor megfelelően működik.
Figyelned kell a $ jelekre a cella címzésekben!
Remélem, tudod alkalmazni a saját táblázatodra. Ha nem sikerülne, küldd el privát üziben.
Kiegészítés: Ha a neveket is egy listában szeretnéd látni, akkor a képlet a képen a H2 cellába:=EGYEDI(Táblázat1[name])
Az I2 cella képlete pedig a következő:=SZŰRŐ(Táblázat1[[#Mind];[asc]];(Táblázat1[[#Mind];[name]]=$H2)*(Táblázat1[[#Mind];[year]]=I$1);0)
A nevek helyzetének figyelembe vételével változott.
A képlet az I2 cella mellett levő cellákba másolás - beillesztés továbbra is a megfelelő mód, utána lefelé mindhárom oszlop egyszerre húzható.Üdv.
-
Fferi50
Topikgazda
válasz
underdark
#54615
üzenetére
Szia!
Az XKERES függvény jelen esetben a találat sorában levő értékeket tud visszaadni, az FKERES függvényhez hasonlóan, vagyis az A3 cellában levő név sorát veszi alapul.
A "belső" XKERES függvényed ugyanazon táblázat másik oszlopából fog eredményt keresni, ami nem feltétlenül azonos a külső XKERES által megadott sorral!
Ha sor és oszlop találkozásra vagy kíváncsi (ha az évek oszloponként vannak), akkor a belső XKERES függvény keresési tömbjénél a táblázat FEJLÉC-ét kell megadnod, nem az egész táblázatot (ha egérrel csinálod a tartomány kijelölését, akkor mutatni fogja a helyes szintaxist a fejlécre).
Amit a képen mutatsz, az a belső XKERES függvény eredménye - ezt nem tudja a külső függvény értelmezni. Az ablak alsó sorában egy üres = sort látsz, ott lenne a teljes képlet eredménye.
Remélem, jól értelmeztem a kérdést, ha mégsem így lenne, kérlek mutasd meg képen a Táblázat7 egy részletét a "bal felső" sarkából kiindulva (természetesen fals adatokkal).
Üdv. -
Fferi50
Topikgazda
válasz
Silious
#54580
üzenetére
Szia!
Csak makróval lehet megoldani, mert egy cella nem tartalmazhat képletet és számot is.
Én azt javaslom, hogy ne gombot tegyél a cellába, hanem csak egy plusz ill. mínusz jelet. A cellát akár színezheted is.
A cellára dupla kattintással kiváltod a növelést ill. csökkentést. Ehhez az alábbi makrót kell a munkalap kódlapjára bemásolnod:Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)If Target.Column = 1 ThenTarget.Offset(0, 1).Value = Target.Offset(0, 1).Value + 1End IfIf Target.Column = 3 ThenTarget.Offset(0, -1).Value = Target.Offset(0, -1).Value - 1End IfCancel = TrueEnd Sub
Az első oszlop bármelyik cellájába írhatod a + jelet ill. a harmadik oszlopba a - jelet. Mindegyikre működik a makró.
Figyelj rá, hogy hibakezelés és védelem nincs a makróban, tehát megváltoztathatók az értékek (a + és - jel is)!
Nálam így néz ki (az első sorba tettem, de bármelyik sorba teheted, a lényeg az A és C oszlop):
Üdv. -
Fferi50
Topikgazda
válasz
Sziszifeca
#54576
üzenetére
Szia!
Solver használatával tudod megoldani. A Solvert először aktíválnod kell, a következőképpen:
Fejlesztőeszközök (ha nincs ilyen menücsoportod, akkor a Fájl - Beállítások - Menüszalag testreszabása - Fő lapok csoportnál be kell jelölnöd a Fejlesztőeszközök menüpont előtti négyzetet) menücsoportban az Excel bővítményeket megnyitod és bejelölöd a Solver bővítményt.
Ezután az Adatok menücsoport végén fogod megtalálni a Solvert.
Használatához elő kell készülni.
A B10 cellába beírod ezt a képletet:=SZORZATÖSSZEG($A$4:$A$9;B4:B9)-B3
amit áthúzol a C10 cellába is.
Ezután a két oszlopra külön-külön kell elvégezni az optimalizálást a Solverrel.
B oszlopra:
Célérték beállítása: $B$10 cella - értéke 0
Változó cellák módosításával: $B$4:$B$9
Vonatkozó korlátozások - hozzáadás
$B$4:$B$9 - bináris (ezt kell kiválasztanod).
Ezután rákattintasz a megoldásra és ahol 1 az érték, azok a számlák vannak benne az összegben.
Majd megcsinálod ugyanezt a C oszlopra értelemszerűen.
Megcsinálni gyorsabb, mint leírni. 
Persze, előfordulhat, hogy nem talál megoldást... akkor nem jók a számláid.
Üdv. -
Fferi50
Topikgazda
válasz
andreas49
#54336
üzenetére
Privátban megoldódott!
Ha valaki kíváncsi lenne rá:
Nem megjegyzés/jegyzet volt a cellában, hanem hivatkozás (hyperlink).
Az egérmutató rávitele pedig a HIVATKOZÁS munkalapfüggvény megjelenő szöveg paraméterbe kerülő szöveget mutatja meg.
Ezt VBA-val a Range.Hyperlink ScreenTip paraméterével lehet kinyerni. Mivel egy cellához több hyperlink is csatolható, ezért az egyikek (akár az egyetlent is!) a Hyperlinks(index) formában lehet kinyerni. Vagyis a B2 cellához kapcsolódó érték kinyerése:Range("B2").Hyperlinks(1).ScreenTip
Üdv. -
Fferi50
Topikgazda
válasz
andreas49
#54336
üzenetére
Szia!
Az egérmutató rávitele a cellára sajnos nem kezelhető eseményként, így nem lehet hozzá eseménykezelőt sem írni.
Két egéresemény van, a BeforeDoubleClick és a BeforeRightClick. Kényelmi szempontból a jobb egérkattintást látom használhatónak, erre írtam is egy makrót, amit a munkalap kódlapjára kell beírni:Private Sub Worksheet_BeforeRightClick(ByVal Target As Range, Cancel As Boolean)Dim cmts As CommentsThreaded, cmt As CommentThreaded, cmtas As Comments, cmta As Comment, cmtjel As BooleanIf Me.CommentsThreaded.Count > 0 ThenSet cmts = Munka1.CommentsThreadedFor Each cmt In cmtsIf Target.Address = cmt.Parent.Address ThenApplication.EnableEvents = FalseTarget.Offset(0, 1).Value = cmt.Textcmtjel = TrueExit ForEnd IfNextEnd IfIf Not cmtjel ThenIf Me.Comments.Count = 0 ThenCancel = FalseExit SubElseSet cmtas = Me.CommentsFor Each cmta In cmtasIf Target.Address = cmta.Parent.Address ThenApplication.EnableEvents = FalseTarget.Offset(0, 1).Value = cmta.Textcmtjel = TrueExit ForEnd IfNextEnd IfEnd IfApplication.EnableEvents = TrueEnd Sub
A makró jobb egérkattintásra indul, mind a megjegyzést, mind a jegyzetet figyeli és amennyiben a cellához kapcsolódik, akkor a mellette levő cellába kiírja az értékét.
Ezután láthatóvá válik a jobb egérkattintás menüje. (Erre azért van szüksége, mert másként nem tudnád törölni a cella megjegyzését/jegyzetét.)
Ha nincs sem megjegyzés, sem jegyzet, akkor csak a menü jelenik meg.
Amire figyelned kell: Az adott cellára akárhányszor megcsinálhatod a jobb egérkattintást, mindannyiszor újra felülírja a megjegyzés/jegyzet értékét. Ha közben változtattál a szövegen, akkor egy plusz jobb egérkatt kell ahhoz, hogy a mellett levő cellában megjelenjen az új szöveg.
Ha bármilyen más értékek lennének az adott cella mellett, azok is felülíródnak a megjegyzés/jegyzet szövegével!!!
Mindig csak azt a cellát vizsgálja, amin kattintottál - egyértemű működés érdekében csak egy db cellát jelölj ki a kattintásra!
A munkafüzetet makróbarátként kell elmentened!
Üdv. -
Fferi50
Topikgazda
válasz
Dr. Mózes
#54324
üzenetére
Szia!
Bocsi, úgy látom 2 malomban őrölünk. A Power Qery nem azonos a Power Pivottal. Te a hibaüzenet szerint ez utóbbival dolgozol. Ebben valószínűleg nincs DateDiff függvény. Nem igazán ismerem, gondolom más szintaktikát használ ez is.
Egyébként mit szerettél volna a DateDiff függvénnyel kiszámítani?
Üdv. -
Fferi50
Topikgazda
válasz
csferke
#54317
üzenetére
Szia!
Akkor próbáld ki légy szíves ezt:
Nézet - Új ablak majd az egyik ablakban Nézet - Ablak - Mozaik - a megjelenő párbeszéd ablakban bejelölöd Egymás mellett.
Így a két ablakod egymástól függetlenül fog mozogni, viszont a változtatás mindkét ablakban megjelenik. Amikor elhagyod az excelt, majd ismét visszatérsz, akkor a Nézet menüben a Ablakváltással tudod mindkét ablakot ismét megjeleníteni.
Üdv. -
Fferi50
Topikgazda
válasz
szbjns
#54311
üzenetére
Szia!
A PQ szerkesztés lépései (az előző leírásnak megfelelően):
3. Pont: Kijelölöd a Tervezett oszlopot majd Ctrl nyomva a Bevétel oszlopot. Ezután Átalakítás fülön Oszlopok egyesítése - a párbeszéd panelen elválasztó nincs és beírod az új oszlop nevét (nálam Adatok).
Ezután: Az új oszlop kijelölve - Kezdőlapon - Adattípus - egész szám
4. pont
Nem a Rendelés mezőbe, hanem a Típus_terv oszlopba fogunk helyettesítőt írni:
Kijelöljük a Típus_terv oszlopot. Ezután Átalakítás fülön Értékek lecserélése:
Null helyett Bevétel lesz az oszlopban.
Ezután Kezdőlapon Bezárás és betöltés.
Innen már jöhet a kimutatás.
Még annyi turpisság, hogy a Típus_terv mezőnél a részletezést kikapcsoljuk, de az összesítést meghagyjuk Automatikus opción.
A Típus mezőnél kikapcsoljuk az összesítést, a Rendelés mezőné pedig meghagyjuk az Automatikus opciót.
A kimutás akkor változik meg, ha rajta állva a Kimutatás_tervezés menüben a Frissítésre kattintunk.
Üdv. -
Fferi50
Topikgazda
válasz
szbjns
#54305
üzenetére
Szia!
Power Queryvel (PQ) egy kis munkával össze lehet fésülni a két fájlt úgy, hogy utána a kívánt formában jelenjen meg a kimutatásod.
1. Először a két fájlt olvastam be PQ-ba. Adatok – Adatok beolvasás – Más forrásokból – Táblázatból vagy tartományból menüpontban. (Van erre egy külön kis ikon is a menücsoportban.)
2. Az Adatok – Adatok beolvasása – Lekérdezések kombinálása – Összefűzés menüpontban kiválasztottam a két előző táblázatot és beolvastam.
3. Ezután egy új oszlopba egyesítettem a Tervezett és a Bevétel oszlop adatait – határoló jel nélkül, majd megváltoztattam a típusát egész számra.
4. A következő lépésben a Rendelés oszlop üres (null értékű) celláiba beírtam a Terv szót.
5. Mentettem az egészet, a továbbiakban nincs szükség a PQ használatára.
6. Az így kapott táblázatra elkészítettem a kimutatást a képen látható mező elrendezésekkel. A terv sorokat felvittem a Típus alá elsőnek és félkövér betűket adtam neki. (Kijelölöd a cellát és addig mozgatod az egeret, amíg a szálkereszt meg nem jelenik, amivel mozgatható.)
7. Így változáskor csak frissíteni kell a lekérdezéseket és a kimutatást.
(A PQ „makrója” az alábbi --- a szerkesztés, kezdőlap – speciális szerkesztő menüpontjában érhető el:letForrás = Table.Combine({Táblázat1, Táblázat3}),#"Oszlopok eltávolítva" = Table.RemoveColumns(Forrás,{"Dátum"}),#"Egyesített oszlop beszúrva" = Table.AddColumn(#"Oszlopok eltávolítva", "Adatok", each Text.Combine({Text.From([Tervezett], "hu-HU"), Text.From([Bevétel], "hu-HU")}, ""), type text),#"Típus módosítva" = Table.TransformColumnTypes(#"Egyesített oszlop beszúrva",{{"Adatok", Int64.Type}}),#"Érték felülírva" = Table.ReplaceValue(#"Típus módosítva",null,"Terv",Replacer.ReplaceValue,{"Rendelés"})in#"Érték felülírva")
A képek:
1.Részle az összefűzött fájlból:
2.
A kimutatás mező elrendezése:
3. A kimutatás maga:
Ha bármilyen kérdésed lenne, keress bátran.
Üdv. -
Fferi50
Topikgazda
válasz
flash-
#54298
üzenetére
Szia!
Egyéni ormázással megoldható, hogy a számok az általad kívánt formátumban jelenjenek meg. A formátum az alábbi:[<=3619999999]"+"##_ #_ ###_ ####;[<=3699999999]"+"##_ ##_ ###_ ###;"+"##_ ##_ ###_ ##_ ##
Ezt kell bemásolnod a formátumkód mezőbe.
Ráállsz egy cellára, azon jobb egérgomb, cellaformázás - egyéni majd a formátumkód mezőbe bemásolod a fentieket nagyon pontosan.
Ha egy cellát megformáztál, utána a formátum másolható.
Ez a kód csak a magyarországi telefonszámokat formázza az általad kívánt formába (nem csak a mobil számokat).
A telefonszámot + nélkül, mindig 36-tal kezdve számként! kell a cellába beírni, akkor hatásos a formázás. Ha a celláidban benne van a + is a számok előtt, azt le kell vágni. ha szöveg maradna azt számmá kell alakítanod formázás előtt.
Üdv. -
Fferi50
Topikgazda
válasz
Zola007
#54272
üzenetére
Szia!
Próbáld a következő szerint:
A feltételes formázáshoz kiválasztod a név mezőben a Táblázatod. Megadod hozzá a szabályt.
Amikor beszúrsz, akkor kiválasztod az adott sor első celláját, jobb egérgomb beszúrás - táblázatsorok felülre (gondolom nem probléma egy sorral lejjebb menni, ha alá szeretnél sort beszúrni).
Nekem ebben az esetben automatikusan bővítette a szabályokban az érvényességi tartományt és nem tett be új szabályt.
Üdv. -
Fferi50
Topikgazda
válasz
Geryson
#54267
üzenetére
Szia!
Például feltételes formázás az adott oszlopra (vagy a mellette levőre). Szabály alkalmazásával, a szabály pedig, ha a C oszlopot figyelnéd, akkor:
=C1=C2
Kijelölsz hozzá és nem piros és nem zöld hátteret a cellához. Az érvényességi tartomány pedig az adott oszlop. Ha a C-t figyeled, de a D-be tennéd a megjelölést, akkor az érvényességi tartományként a D oszlopot add meg. A képlet marad ugyanaz!!!
Üdv. -
Fferi50
Topikgazda
válasz
Derron
#54216
üzenetére
Szia!
Milyen módon olvasod be a vonalkódot és a QR kódot (milyen szoftverrel), hogyan kerül be a cellákba az értékük?
Eseménykezelő makróval lehet figyelni a cellák tartalmának változását.
Ha táblázattá alakítod, akkor a C oszlop képletezése automatikusan megy tovább, amikor beírsz egy új értéket az A-B oszlopba. (Ezt a beállításoknál tudod elérni.)
Az alábbi makró figyeli az A és B oszlop változását: A oszlop esetén továbblép a B oszlopra, B oszlop esetén továbblép az A oszlop következő cellájára.
A makrót a munkalap kódlapjára kell bemásolni:Private Sub Worksheet_Change(ByVal Target As Range)If Target.Column = 1 Then Target.Offset(0, 1).SelectIf Target.Column = 2 ThenIf Target.Offset(0, -1) <> "" ThenApplication.EnableEvents = FalseTarget.Offset(1, -1).SelectApplication.EnableEvents = TrueEnd IfEnd IfEnd Sub
Így nézne ki a táblázat:
Viszont fontos tudni, hogyan kerül az A B oszlopba a beolvasott érték.
Üdv. -
Fferi50
Topikgazda
válasz
Pakliman
#54208
üzenetére
Szia!
"Esetleg lehetne úgy is, hogy dinamikusan létrehozom a vezérlőt és vele együtt VBE-be a megfelelő kódo(ka)t..."
Valóban ez lehet egy megoldás az "osztályosdi" elkerülésére, a UserForm kódlapjára beírni a létrehozott új vezérlőkhöz kapcsolódó kódokat. Erre megvannak az eszközök (VbProject, VbComponents(x), CodeModule eszközei)
Más kérdés, hogy enged-e kódot írni makróból, futás közben - nem veszi-e víruskísérletnek? Ezt ki kell próbálni.
Üdv. -
Fferi50
Topikgazda
válasz
Pakliman
#54205
üzenetére
Szia!
Még mindig nem egészen értem. Nem azért teszed ki a választógombot, hogy a user válassza ki a megfelelő opciót?
Azt, hogy a listát megváltoztató parancsgombra ne tudjon kattintani, elérhető azzal, ha az arra vonatkozó Click esemény végén inaktíválod a gombot.
A választógombok eseménykezelését pedig a saját osztályában tudod megoldani.
Én úgy látom eddig, hogy a dinamikusan létrehozott vezérlők eseménykezelőit nem lehet beindítani makróból, viszont az eseménykezelőket megírhatod az osztályhoz tetszésed szerint.
Ahogy Pá fórumtársnak írtam, esetleg megoldható lenne az esetek számának megfelelő vezérlő létrehozása előre és a helyzetnek megfelelő kezelése.
Üdv. -
Fferi50
Topikgazda
Szia!
Épp Pakliman fórumtárs is hasonló problémát vetett fel, dinamikusan létrehozott vezérlőkhöz külön osztállyal lehet eseményeket rendelni. Ez viszont úgy látom, makróból nem indíthatóak valami miatt. (Nem volt időm még, hogy teljesen utánajárjak a természetének.
)
Viszont, amennyiben meghatározható, hány darab textboxod lehet maximálisan, akkor megoldható úgy, hogy a userformon létrehozod az ennek megfelelő számú textboxot, majd csak annyit teszel láthatóvá, ahányra szükséged van. Makróból a userform mérete és a vezérlők elhelyezkedése és láthatósága szabályozható.
A validáláshoz létrehozott szabályokat egy "külön" eljárásba teszed és minden textbox BeforeUpdate eseményét ide irányítod. A validáló makrót pedig csináld paraméteresen, amit úgy hívsz meg, hogy átadod az adott textbox nevét: pl. validal activecontrol.name.
Üdv. -
Fferi50
Topikgazda
válasz
Pakliman
#54199
üzenetére
Szia!
Nem egészen értem, hogy miért szeretnél makróval eseményt indítani egy újonnan felvett vezérlőre. Ezeket pont a userrel való kommunikációra használjuk. Pláne úgy, hogy egy aktív userformon van. Ha végig fut a makró, a userform fennmarad, akkor kattintgathat a user, vezérelheti a folyamatokat.
Persze értem én, hogy tanulni szeretnél, csak nem logikus szerintem.
Üdv. -
Fferi50
Topikgazda
válasz
föccer
#54196
üzenetére
Szia!
Nem tudom, milyen biztonsági verzió van nálatok, de ezeket találtam:
Microsoft Purview információvédelem | Microsoft Biztonság
Minimum versions for sensitivity labels in Microsoft 365 Apps | Microsoft Learn
Továbbra is azt gondolom, kell legyen userre vagy más egységre szabott beállítási lehetőség, ezért az IT rendszergazdákat érdemes megszorongatni miatta. Addig marad a PrintPreview - plusz 2 enterrel
Tudom, neked sem feladatod a rendszerbeálítási lehetőségek felderítése és én sem vagyok abban a helyzetben, hogy "segíthessek" a "szakembereknek", hiszen ők azért vannak alkalmazva. (Csak információként raktam be a linkeket.)
Remélem, mielőbb megtalálják a normális megoldást.
További jó munkát!
Üdv. -
Fferi50
Topikgazda
válasz
föccer
#54194
üzenetére
Szia!
Én megpróbálkoznék a nyomtatás utáni sorban egy stop-pal a makróban, ha így megkapod ezt a képernyőt, akkor el tudod küldeni a nyomtatóra.
Esetleg PrintPreview és utána a nyomtatás gombra kattintani.
Persze így nem fut le automatikusan, de legalább működhet.
Az automatizmushoz megpróbálhatnád a Sendkeys Entert is a Print v. Export után.
(Én sem szeretem, de ha nincs más mód...)
Egyébként úgy látom, hogy ez egy MS eszköz, amiben szerintem lehet (kellene, hogy legyen) felhasználó szintű beállítási lehetőség is.
Üdv. -
Fferi50
Topikgazda
válasz
föccer
#54191
üzenetére
Szia!
Ha "direktben" nyomtatsz PDF-et, akkor látod a felugró ablakot gondolom. Ezt le tudod képernyőfotózni tanulmányozás céljából. Makróban szerintem be kellene tenni egy várakozó ciklust a nyomtatás utánra, majd - bármennyire is utálom én is... - egy Sendkey utasítással megpróbálkozhatnál, figyelembe véve az elózőekben írtakat és tapasztaltakat.
Üdv. -
Fferi50
Topikgazda
válasz
Fire/SOUL/CD
#54175
üzenetére
Szia!
Köszi a példát. Most nem mennék mélyebben bele, ha valakinek másra lenne szüksége, úgyis megkeresi a fórumokat.
Üdv. -
Fferi50
Topikgazda
válasz
Fire/SOUL/CD
#54167
üzenetére
Szia!
Ok, értem és valóban jó. Azért az kérdés, hogy a fájlon belüli különböző jogosultságokat hogyan lehet kezelni (és ezt nem kötözködésből kérdezem), ha nem elég rá az Excel által adott lehetőség.
Üdv. -
Fferi50
Topikgazda
válasz
Fire/SOUL/CD
#54164
üzenetére
Szia!
"a jelszó vizsgálat nélkül megnyitni a táblázatot. Ha megnyílik, akkor jó jelszót adott meg, ha meg nem, akkor nem jó jelszót"
Megmutatnád, honnan lehet akkor megtudni, hogy megfelelő jelszót adtak meg?
Üdv. -
Fferi50
Topikgazda
válasz
föccer
#54159
üzenetére
Szia!
A PDF exportnál van olyan lehetőség, amikor csak a kijelölt területet nyomtatja:
Azt nem tudom, nem néztem, hogy makróból állítható-e. A területet biztosan ki tudod jelölni makróból.
Ilyen lett a felvett makró, amivel csak a kijelölt területet teszi ki PDF-be.Selection.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _"xxxx.pdf", Quality:= _xlQualityStandard, IncludeDocProperties:=True, IgnorePrintAreas:=False, _OpenAfterPublish:=False
Üdv. -
Fferi50
Topikgazda
válasz
aviator
#54133
üzenetére
Szia!
Értem én amit írsz, de akkor mégsem azonos a munkafüzet, hiszen nem egyforma a benne levő userform.
Az adatokat stb. tartalmazó részek ugyanolyanok (de a különböző userformok miatt talán itt is van némi különbség).
Ez esetben talán a "front-end" munkafüzet lehetne az, amiben nincs más, csak a verziónak megfelelő userform a hozzá tartozó kódokkal. A többi művelethez pedig a háttérben megnyitja tényleges adatokat tartalmazó munkafüzetet.
Üdv.
Új hozzászólás Aktív témák
- NVIDIA GeForce RTX 5080 / 5090 (GB203 / 202)
- Okos Otthon / Smart Home
- Gitáros topic
- Diablo IV
- Redmi Note 12 Pro - nem tolták túl
- Megyünk a CES-re! Mi várható?
- Cseresznyepiros és mokka barna Redmi Note 15-ök az újévre
- Házi barkács, gányolás, tákolás, megdöbbentő gépek!
- Luck Dragon: Asszociációs játék. :)
- Gyúrósok ide!
- További aktív témák...
- Humble szökevények 500-2500Ft
- Kaspersky, BitDefender, Avast és egyéb vírusírtó licencek a legolcsóbban, egyenesen a gyártóktól!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- MEGA AKCIÓ! - Jogtiszta Windows - Office & Vírusirtó licencek- Azonnal - Számlával - Garanciával
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- HP EliteOne 800 G5 All-in-One i5-8500 16GB 512GB 23.8" Érintőkijelző!! 1 év garancia
- Keresünk Galaxy S23/S23+/S23 Ultra/S23 FE
- GYÖNYÖRŰ iPhone 13 Pro 256GB Sierra Blue -1 ÉV GARANCIA - Kártyafüggetlen, MS3360
- BESZÁMÍTÁS! ASUS H510M i5 10400F 16GB DDR4 512GB SSD RX 9060 XT 16GB Zalman S2 TG FSP 700W
- HIBÁTLAN iPhone 14 Pro 128GB Gold-1 ÉV GARANCIA - Kártyafüggetlen, MS4096
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopszaki Kft.
Város: Budapest

Az x tengelyt kiválasztod, jobb egérgomb és tengely formázása. Itt beállítod a fo léptéket 0,5-re

Üdv.
Üdv.
Üdv.
Remélem, tudod alkalmazni a saját táblázatodra. Ha nem sikerülne, küldd el privát üziben.
Megcsinálni gyorsabb, mint leírni.
Így a két ablakod egymástól függetlenül fog mozogni, viszont a változtatás mindkét ablakban megjelenik. Amikor elhagyod az excelt, majd ismét visszatérsz, akkor a Nézet menüben a Ablakváltással tudod mindkét ablakot ismét megjeleníteni.
Ezután: Az új oszlop kijelölve - Kezdőlapon - Adattípus - egész szám
Null helyett Bevétel lesz az oszlopban.



Azt nem tudom, nem néztem, hogy makróból állítható-e. A területet biztosan ki tudod jelölni makróból.

