- One mobilszolgáltatások
- Az Oppo Find X8 Ultra lett a legvékonyabb kameramobil
- Motorola Edge 40 - jó bőr
- iPhone topik
- WayteQ blog: Megérkezett az x995 androidos GPS
- Samsung Galaxy A54 - türelemjáték
- Apple AirPods Pro (2. generáció) - csiszolt almaságok
- Xiaomi 14T - nem baj, hogy nem Pro
- Okosóra és okoskiegészítő topik
- Poco X6 Pro - ötös alá
-
Mobilarena
A Microsoft Excel topic célja segítséget kérni és nyújtani Excellel kapcsolatos problémákra.
Kérdés felvetése előtt olvasd el, ha még nem tetted.
Új hozzászólás Aktív témák
-
Fferi50
Topikgazda
válasz
repvez #53866 üzenetére
Szia!
Szerintem AUTOFilter az alapadatoknál a B oszlopon, majd az eredményt átmásolod a másik munkalapra. Igaz, ez kézi munkát igényel.
De van a Google Sheetben FILTER függvény is, amivel ki tudod választani. Valószínűleg az évet és hónapot külön segédoszlopba kell kivenned az adatokból. [link] egy kis help.
A dátumokkal lehet kísérletezned kell a megfelelő egyezőség érdekében - a dátum számként van tárolva, ha szövegesnek látod, akkor viszont lehet szöveg és szám is. Ezt mindenképpen ellenőrizd.
Üdv. -
Delila_1
veterán
válasz
repvez #53414 üzenetére
EGY cellába bevitt adatot kell egy megfelelő lap megfelelő cellájába másolni a bevitt érték szerint? Ennél SOKKAL konkrétabban kellene leírnod a feladatot.
Makróval meg lehet oldani, de szerintem nem a bevitel végéhez kellene rögzíteni szortírozást, hanem pl. egy gombhoz, mert téves adat megadása esetén keresgélhetsz a lapok és cellák között a módosítás, vagy törlés miatt. -
Delila_1
veterán
válasz
repvez #53248 üzenetére
[Oszloppal]
Az Excel a térképhez kifejlesztette azt, amit küldtem.
Megoldás lehet, hogy átlátszó háttérrel ráteszel egy azonos méretű oszlopdiagramot. -
-
Mutt
senior tag
válasz
repvez #53212 üzenetére
Szia,
Powermap-et a Fejlesztő (Developers) fülön a COM Add-in alatt tudot aktiválni, de az elmúlt 2 évben az Excelben a térkép funkciók egyre rosszabbak.
Javasolnám inkább helyette az ingyenes Power BI Desktop-ot (https://www.microsoft.com/en-us/power-platform/products/power-bi/desktop).
üdv
-
Fferi50
Topikgazda
válasz
repvez #45435 üzenetére
Szia!
Talán most már sikerült teljesen megfogalmazni a feladatot. Próbáld ki ezt az eseménykezelőt:Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Variant
If Intersect(Target, Range("H2:H20")) Is Nothing Then Exit Sub
With Sheets("Munka2")
cel = Application.Match(CLng(Date), .Range("A:A"), 0)
If IsError(cel) Then
cel = .Range("A10000").End(xlUp).Row + 1
.Cells(cel, 1).Value = Date
End If
.Range(.Cells(cel, 2), .Cells(cel, 20)).Value = Application.Transpose(Target.Parent.Range("H2:H20").Value)
End With
End Sub
A H2-H20 tartományba bármit változtatsz, az egész H2:H20 tartományt átmásolja a másik munkalapra. Sőt akkor is, ha csak visszaírod ugyanazt az értéket a tartomány valamelyik cellájába.
Üdv. -
Delila_1
veterán
válasz
repvez #45424 üzenetére
Újabb változat. Eddig arról volt szó, hogy azonos dátumnál a következő oszlopba írja be az értéket, most meg hogy írja felül a B oszlopban lévőt.
FFeri makróját módosítva:Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Variant
If Target.Column = 8 Then
With Sheets("Munka2")
cel = Application.Match(CLng(Date), .Range("A:A"), 0)
If IsError(cel) Then
cel = .Range("A10000").End(xlUp).Row + 1
.Cells(cel, 1).Value = Date: .Cells(cel, 2) = Target
Else
.Cells(cel, 2) = Target
End If
End With
End If
End Sub -
m.zmrzlina
senior tag
válasz
repvez #45415 üzenetére
Tegyük fel, hogy
-H2:H7 tartományban viszel fel adatokat a Munka1 nevű munkalapon
-ENTER-re lefelé ugrik az aktív cella és nem jobbra
-ha nem is írsz minden cellába a H2:H7-be akkor is leviszed az aktív cellát H8-ig
-további ha-k >....< ide
akkor itt egy Móricka megoldás:Private Sub Worksheet_Change(ByVal Target As Range)
Dim holavege As Long
Dim cella As Range
If ActiveCell.Column = 8 And ActiveCell.Row = 8 Then
holavege = Worksheets("Munka2").Range("A" & Rows.Count).End(xlUp).Row + 1
Worksheets("Munka2").Range("A" & holavege) = Date
For Each cella In ActiveSheet.Range("H2:H7")
Worksheets("Munka2").Cells(holavege, cella.Row) = Worksheets("Munka1").Cells(cella.Row, 8)
Next
End If
End Sub
Ez azért Móricka megoldás mert csinál olyan dolgokat is amit nem szeretnél, de pontosabb megoldáshoz nekem pontosabb feladat leírás kellene. -
Fferi50
Topikgazda
válasz
repvez #45415 üzenetére
Szia!
Próbáld ki ezt az eseménykezelő makrót, a Munka1 munkalapod kódlapjára kell bemásolni.Private Sub Worksheet_Change(ByVal Target As Range)
Dim cel As Variant
If Target.Address = "$H$2" Then
With Sheets("Munka2")
cel = Application.Match(CLng(Date), .Range("A:A"), 0)
If IsError(cel) Then
cel = .Range("A1000").End(xlUp).Row + 1
.Cells(cel, 1).Value = Date: .Cells(cel, 2).Value = Target.Value
Else
.Cells(cel, 1).End(xlToRight).Offset(0, 1).Value = Target.Value
End If
End With
End If
End SubÜdv.
-
Delila_1
veterán
válasz
repvez #45411 üzenetére
Másold be az alábbi makrót a munkalapod kódlapjára (lásd a Téma összefoglalóban).
Ha nem Munka2 a neve a másik lapodnak, írd át a makróban. A fájl makróbarátként kell elmentened.Private Sub Worksheet_Change(ByVal Target As Range)
Dim ide As Long
If Target.Address = "$H$2" Then
With Sheets("Munka2")
ide = .Range("A" & Rows.Count).End(xlUp).Row + 1
.Range("A" & ide) = Date
.Range("B" & ide) = Target
End With
End If
End Sub -
repvez
addikt
válasz
repvez #36954 üzenetére
Eddig jutottam eddig :[kép]
Hiába probálom átmásolni a modositott értékekkel amit még régeben delila1 csinált nekem táblázatot nem akar müködni.
Van valami általánosan használható függvény arra ha egy egész évben a szombatot és a vasárnapot át akarom szinezni a kijelölt tartományban a cellákat plusz az ünnepnapok és a ledolgozandó szombatokkal?Addig eljutottam, hogy a feltételes formázásban a szombat vasárnapok elszineződnek, de csak a fejléc ahogy látszik a hozzá tartozó tartományon belüli oszlopok nem csak az egész tartomány.
ÉS ha tartalom kerül a cellába akkor eltünik.
A1ben van a kezdődátum 2018.01.01 a többi meg látszik a képen, hogy mi hol van. -
Mittu88
senior tag
válasz
repvez #23873 üzenetére
Szerintem egyszerűbb, ha egy másik munkalapon megvannak az adatok.
Írd be A1-be, hogy 100000. Utána menüszalagon Kezdőlap\Szerkesztés\Kitöltés\Sorozatok...
Ezen belül Számtani, Lépésköz: 100 Végérték 1000000.
Ha ezzel megvan, mellé B1-be egy képlet: =A1*0,67 C1-be meg: A1*0,74
Aztán behivatkozod diagramba.Így jó?
-
Delila_1
veterán
válasz
repvez #23873 üzenetére
Számolás nélkül szerintem nem megy, viszont gyorsan megoldhatod.
Első cellába (A1-be) 100000, másodikba (A2) 100100. Ezt lehúzod, ameddig kell. Mellette B1-be =A1*67%,
C1-be =A1*74%.A B1 és C1 cellát együtt kijelölöd, a C1 jobb alsó sarkában lévő kis fekete négyzetre duplán kattintva már kész is a teljes számításod.
-
Delila_1
veterán
válasz
repvez #16569 üzenetére
Használd a speciális rendezést más helyre. A kritérium táblában (nálam a W1:W2) add meg a feltételt a D oszlopra. Az új táblához add meg az oszlopok címsorát, amik a képletedben szerepelnek (Y1:AD1). Indítsd a speciális szűrést, ahogy a képen látod.
A következő oszlopba (AE) vidd be a képletet, és rendezd a tartományt az új oszlop szerint.
-
Mutt
senior tag
válasz
repvez #15913 üzenetére
Szia,
Ezek a képletek fognak jól műkődni:
=OFSZET($L$3;HOL.VAN($D$3;$L$4:$L$12;0);HOL.VAN($C$3;$M$3:$Q$3;0))
Az eltolás (ofszet) úgy műkődik, hogy egy referencia céllától (esetedben a keresendő táblázat origójától L3-tól) adott SOR-t és OSZLOP-ot mozog. Tehát előbb le-fel és utána balra-jobbra lehet innen mozogni. A fenti két HOL.VAN kiszámolja, hogy mennyit kell le, majd jobbra menni.
Másik megoldás a VKERES-sel:
=VKERES($C$3;$M$3:$Q$12;HOL.VAN($D$3;$L$4:$L$12;0)+1;0)
Tehát itt előbb megnézzük, hogy melyik oszlopban (pl. alacsony) kell lemenni hány sort (mivel az első sor maga a fejléc ezért +1-el kell lejjebb mennünk.
.. vagy FKERES-sel
=FKERES($D$3;$L$3:$Q$12;HOL.VAN($C$3;$M$3:$Q$3;0)+1;0)
.. vagy INDEX-el
=INDEX($M$4:$Q$12;HOL.VAN($D$3;$L$4:$L$12;0);HOL.VAN($C$3;$M$3:$Q$3;0))
Itt a logika hasonló az ELTOLÁS-hoz, csak itt egy tömbből (ez az adatsorod fejléc nélkül, vagyis M4:Q12 tartomány) az adott SOR és OSZLOP elemét választjuk ki.
Végül egy elvetemült megoldás:
=INDIREKT("S"&HOL.VAN($D$3;L4:L12;0)+CELLA("sor";$L$3)&"O"&HOL.VAN($C$3;$M$3:$Q$3;0)+CELLA("oszlop";$L$3);0)
Ez R1C1 formátumban kiszámolja a metszeti cella kordinátáit és visszaadja az ott lévő értéket.
A sok megoldás közül javasolt az FKERES/VKERES vagy INDEX-es megoldás, mivel azokban nincs volatile függvény így kicsit gyorsabbak és kevesebb erőforrást használnak. Az ELTOLÁS, INDIREKT és CELLA függvényeket a munkalap minden egyes változásakor az Excel újraszámolja (kivétel ha ez az opció ki van kapcsolva).
üdv.
-
Delila_1
veterán
válasz
repvez #15927 üzenetére
Ellenőrizd, hogy a képletben és az érvényesítésben szereplő értékek azonosak-e. Lehet, hogy ahonnan az érvényesítésbe beveszed, a végén van egy szóköz, vagy valami más, nem látható karakter. Ez elég sűrűn előforduló hiba.
Igen, lehet 2 helyre vinni az eredményt. Vagy beírod a másik helyre is az indexes függvényt, vagy csak egy hivatkozást, ami az eredeti függvény helyére mutat. Ha az eredeti az I4-ben van, a másik helyre elegendő az
=I4 hivatkozás. -
Delila_1
veterán
válasz
repvez #15906 üzenetére
Van egy nagyon egyszerű megoldás, a Szóköz, vagy másképpen Metszet operátort használd. A szerkesztőlécen láthatod a D13 cella képletét.
Az L1, L2 ... L9 cellákat nem véletlenül alakítottam át L_1, L2 ... L_9re, mert csak ezeket az értékeket úgy kezeli, mintha a névkezelőben nevet adtál volna nekik, ott pedig csak így fogadja el a számokat tartalmazó értékeket. A szóközök helyett is alsó kötjelet tettem a Nagyon... kezdetű nevekbe.
A képletben a két név közé szóközt kell tenned, ezért hívják szóköz operátornak.
-
Mutt
senior tag
válasz
repvez #15902 üzenetére
Hello,
Pont az előbbi hozzászólásomban van egy ilyen megoldás, amely a metszéspontban (M4 és N4 cellában választható) lévő eredményt adja meg. 2 megoldás is van:
1. FKERES függvény használata,úgy hogy a visszatérési oszlop értékét számolod (én HOL.VAN-t használtam)
2. ELTOLÁS függvénynél pedig a sor- és oszlop-mozgásokat számolod ki.A minta fájl letölthető innen: http://www.filedropper.com/fuggvenytabla
Az első munkalapon van a példa és megoldása.
üdv.
-
Delila_1
veterán
válasz
repvez #14785 üzenetére
Tehát előállítottad a personal.xlsm-ben a makródat.
Így rendelheted egy ikonhoz: a gyorselérési eszköztár jobb oldalán legördíted a nyilat, a "További parancsok"-at választod. A "választható parancsok helye" listából kiválasztod a Makrók-at. Az alatta lévő felsorolásban megtalálod a makródat, amit a Felvétel gombbal átmásolsz a jobb oldali listába. Ott a fel- és le nyíllal beteszed a kézre eső helyre. A makró nevén állva aktív lesz a lenti Módosítás gomb, amivel a fejlesztők által kreált rajzok között válogathatsz. Van itt pillangótól a vasmacskáig minden, csak olyan nincs természetesen, ami utalna a makród tartalmára.
-
Delila_1
veterán
-
Delila_1
veterán
válasz
repvez #14757 üzenetére
A personal-ba tedd be a lenti pár sort, és rendeld egy ikonhoz.
Sub Lap_masol()
ActiveSheet.Unprotect
Cells.Copy Sheets("Másik_lap").Range("A1")
End SubA másolandó lapon állva rákattintasz az ikonra, és már másolja is a védett lap tartalmát a lapra, aminek a nevét beírtad a Másik_lap helyére.
A personalról, és az ikonhoz rendelésről több helyen volt már szó, keress rá, ha nem ismered.
Jó munkát! -
Tyren
aktív tag
válasz
repvez #14716 üzenetére
2007 és 2010-ben először a ribbon testreszabásánál (lletve a menüben) engedélyezni kell a Fejlesztőeszközöket. Ha ez megvan, akkor azok közül a "Visual Basic" ikonnal elindul a VB (meglepő módon
).
Ha ez megvan, akkor jobb oldalt kiválasztod azt a VBAProject-et, amelyik után a szóban forgó excel neve áll. Insert - Module. Ekkor autómatikusan megnyílik a modul ablaka (ha nem, akkor katt rá). Ide másold be a kódot. Mentés. A munakfüzetben a makrók nevű ikon megnyomásával előjönnek a makrók, kiválasztod ezt (a kód alapján a neve "passwordbreaker" lesz).Ha jól látom a kódban, akkor minden kódolt munkalapon le kell futtatni, de ebben nem vagyok biztos, én is elég amatőr vagyok.
Remélem így már menni fog. -
lacipapi
csendes tag
válasz
repvez #14716 üzenetére
Megnyitod a jelszóval védett munkalapot, majd Alt+F11-el belépsz a VB szerkesztőbe.
A baloldali ablakban jobb klik, - insert, - module, majd a jobboldalon megjelenő ablakba bemásolod a makrót, F5-el elindítod makrót, majd a felugró üzenetben OK.
A megjelenő nem az igazi jelszó, de utána te olyat írsz be amit akarsz.
A fájlról csinálj előtte egy másolatot. -
lacipapi
csendes tag
válasz
repvez #14714 üzenetére
Jelszó eltávolításához futtasd le az alábbi makrót.
Sub passwordbreaker()
'a szerző: brettdj / www.experts-exchange.com
Dim i As Integer, j As Integer, k As Integer
Dim l As Integer, m As Integer, n As Integer
Dim i1 As Integer, i2 As Integer, i3 As Integer
Dim i4 As Integer, i5 As Integer, i6 As Integer
On Error Resume Next
For i = 65 To 66: For j = 65 To 66: For k = 65 To 66
For l = 65 To 66: For m = 65 To 66: For i1 = 65 To 66
For i2 = 65 To 66: For i3 = 65 To 66: For i4 = 65 To 66
For i5 = 65 To 66: For i6 = 65 To 66: For n = 32 To 126
ActiveSheet.Unprotect Chr(i) & Chr(j) & Chr(k) & _
Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & Chr(i3) & _
Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
If ActiveSheet.ProtectContents = False Then
MsgBox "One usable password is " & Chr(i) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
ActiveWorkbook.Sheets(1).Select
Range("a1").FormulaR1C1 = Chr(i) & Chr(j) & _
Chr(k) & Chr(l) & Chr(m) & Chr(i1) & Chr(i2) & _
Chr(i3) & Chr(i4) & Chr(i5) & Chr(i6) & Chr(n)
Exit Sub
End If
Next: Next: Next: Next: Next: Next
Next: Next: Next: Next: Next: Next
End SubMásold be egy VBA modulba, majd futtasd le.
-
Delila_1
veterán
válasz
repvez #10947 üzenetére
Tettem ide egy füzetet.
A jelenléti lapokra két megoldás van benne, az "Anna éves" és "Anna é" nevű lapokon (ugyanez Rékával is), nem kívánt törlendő.
Az Összesítő lapon az órák szerepelnek, míg az egyéni jelenléti lapokon minden, ami egy-egy emberhez tartozik a hónapok adatait tartalmazó lapokon.
1 füzetbe tehetsz mindent. 12 hónap, 7 ember 1-1 lapja, plusz egy összesítő nem túl sok lap egy füzetben.
-
Delila_1
veterán
válasz
repvez #10780 üzenetére
Az A2:A35 szabálya ez legyen: =DARABTELI(B2:H2;"lox")=0
A B2:H35 tartománynál töröld a
=VAGY(B2="lox";B2="pihenő";B2="szabi";B2="véradó";B2="eü";B2>0)
szabályt, helyette egyenként vidd be a listád adatait így:
=b2="lox" , adj neki színt, jön a következő: =B2="pihenő" , ennek is adsz egy másik színt, és így tovább. Végül az óraszám színezéséhez a képlet: =SZÁM(B2)A lox-hoz nem jól írtad be a képletet a feltételes formázáshoz, vagy nem a B2:H35 tartomány volt kijelölve a képlet beírásakor, azért nem lett jó.
-
Delila_1
veterán
válasz
repvez #10778 üzenetére
Célszerűbb a sok nap miatt abban a formában megadni az adatokat, ahogy AE ajánlotta.
A címsor és címoszlop bevitele után kijelölöd az A2:A35 tartományt, és a feltételes formázásnál új szabályként (A formázandó cellák kijelölése képlettel almenüben) ezt adod meg: =I2=0, és adsz hozzá egy formátumot. Én zöld kitöltést adtam azért, mert az a nap még szabad, be kell osztani oda valaki(ke)t. A képlet azt jelenti, hogy ha az I oszlopban nincs még összesített óraszám, akkor jelölje a napot a megadott formátummal.
Most kijelölöd a B2:H35 tartományt. Adatok - Érvényesítés. A Megengedve legördülőből kiválasztod a Listát, a Forráshoz pedig beírod sorban az 5 kiválasztható elemet (lox és társai), közéjük tegyél pontosvesszőt. Nem írtam szándékosan a 6. elemet, a 8-at, mert előfordulhat, hogy valaki eltérő óraszámot dolgozik. Éppen ezért, hogy a felsoroltakon kívül mást is be lehessen vinni a tartományba, a Hibajelzés fülön vedd ki a pipát az "Érvénytelen adat beírásakor hibaüzenet jelenjen meg" szöveg előtti jelölő négyzetből. OK után minden cellában benne lesz a legördülő.
Az I2 cellába írd be: =SZUM(B2:H2)+DARABTELI(B2:H2;"lox")*24, és másold le a 35. sorig.
A B36 képlete: =SZUM(B2:B35)+DARABTELI(B2:B35;"lox")*24, ezt másold jobbra a H36 celláig.
Az I36-ba az =SZUM(I2:I35) képlet kerül.
Most jön a színezés. Újra kijelölöd a B2:H35 tartományt. A feltételes formázásnál "Új szabály", ismét "A formázandó cellák kijelölése képlettel", az "Értékek formázása, ha ez a képlet igaz:" felirat alá beírod: =VAGY(B2="lox";B3="lox";B4="lox"), és adsz neki formátumként egy hátteret, ami nálam piros.
Újabb szabály ugyanerre a területre, a képlete:
=VAGY(B2="lox";B2="pihenő";B2="szabi";B2="véradó";B2="eü";B2>0)
Ez is kap egy háttérszínt, nálam sárga.Ezzel kész is a mű.
-
Delila_1
veterán
válasz
repvez #10771 üzenetére
Fukar kezekkel méred az információt, így nem várhatsz segítséget.
Gondolom, a B3:AF10 tartományba szeretnéd bevinni legördülő segítségével a lox, pihenő, stb. értékeket, de azt nem közölted, hogy a 8 órán kívül melyiket hány órával kell elszámolni, melyik után hány nap szünet következik.
Új hozzászólás Aktív témák
Hirdetés
- One mobilszolgáltatások
- Az Oppo Find X8 Ultra lett a legvékonyabb kameramobil
- PlayStation 5
- sziku69: Fűzzük össze a szavakat :)
- Motorola Edge 40 - jó bőr
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- Kerékpárosok, bringások ide!
- EAFC 25
- Milyen TV-t vegyek?
- ASZTALI GÉP / ALKATRÉSZ beárazás
- További aktív témák...
- Assassin's Creed Shadows Collector's Edition PC
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- LG 39GS95UE - 39" Ívelt OLED / QHD 2K / 240Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max
- BESZÁMÍTÁS! Gigabyte B450 R7 5700X 32GB DDR4 512GB SSD RX 6700XT 12GB Rampage SHIVA be quiet! 650W
- DELL Precision 7540 - Intel Core i9-9980HK, RTX 3000 (nagyon erős GPU-val)
- Akciós Windows 10 / 11 Pro OEM Licenc Kulcs 100% eredeti, jogtiszta!
Állásajánlatok
Cég: PC Trade Systems Kft.
Város: Szeged
Cég: CAMERA-PRO Hungary Kft
Város: Budapest