- sh4d0w: Vigyázz a háttértáradra...
- Geri Bátyó: Agglegénykonyha 1 – rizseshús másképp
- sziku69: Szólánc.
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Gurulunk, WAZE?!
- eBay-es kütyük kis pénzért
- LordAthis: AI Kérdés érkezett - 3600 soros Spagetti kód refaktorálása és budget
- Geri Bátyó: Agglegénykonyha – bevezető - igényfelmérés
- Lalikiraly: Astra kalandok @ Harmadik rész
-
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
-
C64
őstag
Sziasztok. Amatőr kérdés, de azt hogyan lehet beálllítani, hogy ne lógjon ki a táblából a szöveg, ha túl hosszú? Sehogyse jövök rá
Köszi
-
Fferi50
Topikgazda
válasz
#06658560 #41694 üzenetére
Szia!
Igazából az nem világos, hogy miből mit szeretnél elérni. A jobb oldalon van egy 4 oszlopból álló lista. A bal oldalon egy kimutatásnak látszó forma.
Nem látok 3 oszlopból álló mátrixot...
Miből kell 3+1 oszlopot csinálni és minek kell a 4. oszlopba kerülnie?
Az adatforrásodat alakítsd át táblázattá fejléceket rakva hozzá. Ezután a Kimutatás forrása legyen a táblázat (név szerint megadva). Így ha hozzáírsz adatokat a forráshoz, utána frissíted a kimutatást, akkor automatikusan beszívja az új adatokat.Üdv.
-
Delila_1
veterán
válasz
#06658560 #41694 üzenetére
Felvettem egy segédoszlopot, a P-t, ahol összefűztem az összetartozó adatokat. A képlet a szerkesztőlécen látható.
A B3 képletét a zöld-, az E3-ét a sárga hátterű tartományba másoltam. A B1-ben és az E1-ben van a két cím, cellaformázással, vízszintes igazítással középre helyezve a B1:D1, ill. az E1:G1 tartományba. -
#06658560
törölt tag
Sziasztok!
Most kezdtem pivot táblákkal foglalkozni, és azonnal jött egy automatizálásra váró probléma.
Van 200+ tételem, amelyek három értéket vehetnek fel. Minden értékhez egy gyakorisági szám lesz hozzárendelve. Például a BMX659 38-szor volt Green értékű, 5-ször Yellow és 1-szer Red.
Ez jelenleg egy 200+*3-as oszlopmátrixban van tárolva. A Pivot táblához ebből kell egy (200+*3)+1-es mátrixot gyártanom. Van rá valami automatizmus, hogy ezt ne manuálisan kelljen legenerálni, hanem függvénnyel megcsinálja, a függvényt pedig húzással, másolással jól tudjam másolni? Lehetöleg úgy, hogy az eredeti helyen átírva lehessen módosítani az értéket és az végig is menjen a teljes munkalapon.
MSO Pro Plus 2013. -
Fferi50
Topikgazda
Szia!
Az eseménykezelés nincs a helyén. Ha az elején letiltottuk, akkor máshol nem kell vele foglalkozni, csak a végén engedélyezni. Ezen kívül az ASH változót is be kell állítani.Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'Munkalap aktiválásakor mengnézzük, hogy az új munkalap a védendő-e:
If Sh Is Worksheets("Output") Then
'Ha a védendő, akkor jelszót kérünk:
Application.EnableEvents = False
Sh.Visible = xlSheetHidden 'elrejtjük
Set ASH = ActiveSheet 'az előző munkalap az aktív, ezt tesszük be a változóba
If InputBox("Jelszó:") = "MusterMaster" Then
'Ha jó a jelszó, engedjük az aktívvá tételt,
'és elmentjük új aktívként
Sh.Visible = xlSheetVisible ' láthatóvá tesszük
'Application.EnableEvents = False 'letiltjuk az eseménykezelést
Sh.Activate 'aktíváljuk
Set ASH = ActiveSheet
'Application.EnableEvents = True 'visszaállítjuk az eseménykezelést
Else
'Ha rossz, akkor:
MsgBox "Rossz jelszó!."
'Visszaállítjuk az előző munkalapot aktívnak:
Sheets("Output").Visible = xlSheetVisible 'láthatóvá tesszük, hogy kiválasztható legyen a lapfül
ThisWorkbook.ASH.Activate
End If
Application.EnableEvents = True
End If
End Sub
Üdv. -
spe88
senior tag
Az alábbi kódban, ha rossz jelszót ütök be vagy ki cancelezem a jelszókérő ablakot, nem ugrik vissza az előző worksheetre, gyakorlatilag bezárhatatlan a jelszókérő ablak. Mit tegyek?
Köszi
Public ASH As Worksheet
Private Sub Workbook_Open()
Set ThisWorkbook.ASH = ActiveSheet
Sheets("HELP_DATA").Select
Columns("E:E").Select
ActiveWorkbook.Worksheets("HELP_DATA").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("HELP_DATA").Sort.SortFields.Add Key:=Range("E1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("HELP_DATA").Sort
.SetRange Range("E2:E601")
.Header = xlNo
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
Sheets("HELP_DATA").Select
Columns("G:G").Select
ActiveWorkbook.Worksheets("HELP_DATA").Sort.SortFields.Clear
ActiveWorkbook.Worksheets("HELP_DATA").Sort.SortFields.Add Key:=Range("G1"), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets("HELP_DATA").Sort
.SetRange Range("G1:I601")
.Header = xlGuess
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
'Munkalap aktiválásakor mengnézzük, hogy az új munkalap a védendő-e:
If Sh Is Worksheets("Output") Then
'Ha a védendő, akkor jelszót kérünk:
Sh.Visible = xlSheetHidden 'elrejtjük
If InputBox("Jelszó:") = "MusterMaster" Then
'Ha jó a jelszó, engedjük az aktívvá tételt,
'és elmentjük új aktívként
Sh.Visible = xlSheetVisible ' láthatóvá tesszük
Application.EnableEvents = False 'letiltjuk az eseménykezelést
Sh.Activate 'aktíváljuk
Set ASH = ActiveSheet
Application.EnableEvents = True 'visszaállítjuk az eseménykezelést
Else
'Ha rossz, akkor:
MsgBox "Rossz jelszó!."
'Visszaállítjuk az előző munkalapot aktívnak:
ThisWorkbook.ASH.Activate
Sheets("Output").Visible = xlSheetVisible 'láthatóvá tesszük, hogy kiválasztható legyen a lapfül
End If
End If
End Sub -
MasterMark
titán
Köszi szépen mindkettőtöknek.
-
Fferi50
Topikgazda
válasz
MasterMark #41687 üzenetére
Szia!
Azon kívül, amit Delila írt, fontos még, hogy az idézőjeleket a képletben párosával kell írni, ha valóban idézőjelet szeretnél ott kapni.
A képleted helyesen:Sheets("egyéni").Range("A1").Formula ="=RIGHT(CELL(""filenév"",A1),LEN(CELL(""filenév"",A1))-SEARCH(""]"",CELL(""filenév"",A1))) & ""("" & FLOOR(SUMPRODUCT((NOT(ISBLANK(J3:J1002))*(1/COUNTIF(J3:J1002,J3:J1002 &"""")))),1) & "" darab)"""
(Sőt, még a filenév helyett is a filename az igazán helyes, de csodával határos módon ezt érti az Excel).
Van viszont egy olyan lehetőség is, hogy magyar nyelven add meg a képletet a makróban, ezt a FormulaLocal tulajdonsággal lehet megtenni. Ennek az a hátránya, hogy csak a magyar Excelben érti meg a VBA, más nyelvterületen nem, azaz a munkafüzet nem hordozható.
Természetesen az idézőjelekre ebben az esetben is oda kell figyelni.Üdv.
-
Delila_1
veterán
válasz
MasterMark #41688 üzenetére
Makróban a függvények angol nevét kell megadnod.
-
MasterMark
titán
válasz
MasterMark #41687 üzenetére
Maga a képlet jó, egy cellából másoltam ki.
-
MasterMark
titán
Sheets("egyéni").Range("A1").Formula = "=JOBB(CELLA("filenév"; A1); HOSSZ(CELLA("filenév"; A1)) - SZÖVEG.KERES("]"; CELLA("filenév"; A1))) & " (" & PADLÓ(SZORZATÖSSZEG((NEM(ÜRES(J3:J1002))*(1/DARABTELI(J3:J1002;J3:J1002&""))));1) & " darab)""
Ez így miért szintaktikus hibás?
-
Polllen
félisten
Szia!
Köszi! Igazából itt nem egy hetet kell összegezni, csak kiválasztani az utolsó értéket (ami pont hétvége) két táblából és összeadni.
De az ötleted alapján ez tökéletesen működik:
DATESBETWEEN(Dátum[Dátum];LASTDATE(Table1[Dátum]);LASTDATE(Table1[Dátum]))
Illetve megtaláltam ugyanezt a problémát az SQLBI-n egy quiz formájában.
A megoldás az, hogy minden maradhat az eredetiben, de LASTDATE() helyett a MAX() kell...
-
Fferi50
Topikgazda
Még valami:
1.Minthogy az árfolyamtábládban a HUF is szerepel 1-es szorzóval, elég az FKERES függvényt használni.=HA(INPUT!$D5="";"";HA(ÉS($B$206=INPUT!$D5;INPUT!E5<>"");FKERES(INPUT!$C5;DATA!$A$1:$B$4;2;HAMIS)*INPUT!E5))
2.Mivel a Pénznem számformátum automatikusan beírja a Ft-ot vagy a HUF-t választásod szerint a szám mögé, továbbá annyi tizedest mutat, amennyit szeretnél, nem látom értelmét saját hasonló egyedi számformátum kreálásának.
Így elkerülhetők a képletedben levő hibák is.Üdv.
-
Fferi50
Topikgazda
Szia!
Nem véletlen az a random hiba, hanem a pénznemtől függő ...
A képleted a C206 cellában ez:=HA(INPUT!$D5="";"";HA(ÉS($B$206=INPUT!$D5;INPUT!E5<>"");HA(INPUT!C5="HUF";INPUT!E5&" "&INPUT!$C5;FKERES(INPUT!$C5;DATA!$A$1:$B$4;2;HAMIS)*INPUT!E5);""))
Ebben a részben:HA(INPUT!C5="HUF";INPUT!E5&" "&INPUT!$C5;
a HUF pénznemű dolgokhoz még hozzáteszed szövegként a " HUF'" -ot, ettől szöveggé válik az egész.
A nem HUF-nál viszont szorzod az összeget az árfolyammal és nem teszed hozzá a HUF végződést, mert nem is kell.
Miután a cellaformátumban beállítottad, hogy minden HUF-ban legyen - hozzátetted a " HUF" toldalékot - ezért ezek a számok "természetesen" számok maradnak.Tehát az "& " " &INPUT!$C5 rész törlendő a képletből!
Üdv.
-
spe88
senior tag
válasz
Delila_1 #41678 üzenetére
Azt is próbáltam, de mivel olyan cellákkal van baj, amiben van eredmény, ezért ez irreleváns most.
Megpróbálnád? Most már nagyon kíváncsi vagyok mi okoz ilyen anomáliát. Sokszor találkoztam már ilyennel és nekem nagyon nem tiszta.
Feltöltöttem ide.
A CALC fülön lévő C206, C208, C210, C211 cellák csinálják ezt a random hibát.
Köszi előre is.
-
Polllen
félisten
Sziasztok!
Tudna valaki segíteni DAX-ban?
Van 1 2019-ig tartó lookup táblám (Dátum) és 2 adat táblám, amiben múlt vasárnapig van adat.
Mindkét táblában van egy érték, amit egy egyszerű measure-rel összesítek.
Total = sum(tábla1[érték])+sum(tábla2[érték])
Ez tökéletesen működik, viszont van több olyan chartom, ahol csak az utolsó hét adata kellene.
Dinamikus filterrel ezt meg tudom oldani, de szeretnék rá egy measure-t, ami nem igazán működik.
Arra gondoltam, hogy egy calculate függvénnyel leszűrök a dátum táblában arra a napra, ami a tábla1-ben az utolsó dátum.
Last value = CALCULATE([Total];FILTER('Dátum';'Dátum'[Nap] = LASTDATE(tábla1[Dátum])))
Ez így egy filter nélküli totált eredményez. Akkor is, ha a [Totál]-t kicserélem a SUM-ra és két calculate-t adok össze, uh feltételezem a filter nem jó.
-
spe88
senior tag
válasz
Delila_1 #41662 üzenetére
Igen ezt a verziót ismertem, de ez csak akkor működik tudtommal, hogy a cella ahova másolom nem egy képletet tartalmaz csupán szövegként tárolt számokat.
Viszont ahogy a videón is látszik, azok a cellák egy képlet alapján számolnak értéket és mégis szövegként vannak tárolva. Holott a formátuma ugyanaz, mint a másik celláknak, amelyek normálisan működnek.
próbáltam már
1. ezt a szorzós módszert
2. érték fv.-t írni a képlet elejére
3. cellakategóriát visszaállítani számra
4. szövegből oszlopok parancsegyszerűen semmivel nem megy. Mindegyiknél nyilvánvalóan #érték hibát mutat.
Ettől a cellakategóriás dologról (szöveg-e, szám-e stb.) nincs valami tutorial? Ezt sose tudtam megérteni, hogy miért ilyen macerás.köszönöm
-
dellfanboy
őstag
Kezdek elerni az excel hatarait, mert tul nagy file okkal dolgozok, ill limitet a sorokra vonatkozolag is mindjart elerem.
Gondolkozok, hogy az egesz excel cuccaimat atrakom Power Pivot fele adatbazisba, viszont Errol jelenleg halvany fogalmam sincs. Van otletek hol/hogy kezdjek hozza a power pivot-hoz? Esetleg egy jo tutorial?ebook?akarmi? ph-n nem talaltam hozza topic-ot letezhet hogy nincs? -
Fferi50
Topikgazda
Szia!
Ha a változások követése be van állítva, akkor az ott megjelölt napokra visszamenőleg egy munkalapra ki lehet íratni a változtatásokat. Abból pedig tudsz kimutatást csinálni.
Sajnos a megnyitás és a mentés időpontja nem látszik, de miután a közös használatnál a vátoztatások csak a mentés során kerülnek be véglegesen (ezért -is- lehetnek ütközések egy-egy cellában), aki a változtatást végrehajtotta, nyilván mentette is.
Így keresd a súgóban: Változások nyomon követése közös munkafüzetekben
Üdv. -
oke
senior tag
Sziasztok,
Egy közös használatra megosztott excelt lehet statisztikázni? Az érdekelne, ki az, aki megnyitotta, dolgozott benne, mentette. Esetleg ha az is látszik, hány cellába írt, az még jobb lenne.
Excel 2016
-
Sziasztok,
Szeretném szétbontani a bankszámlaszámokat, ehhez kérnék segítséget. Jelenleg szövegként vannak eltárolva a számlaszámok, vegyesen, hol 16, hol 24 karakterben:
123456781234567812345678
1234567812345678A fentieket szeretném átalakítani ilyenre:
12345678-12345678-12345678
12345678-12345678A szétválasztást csak valami jelölő mentén találtam, de rengeteg az adat és nem akarom egyesével pötyögni. Milyen eszközzel lehet megoldani?
Office 365
Verzió: 16.28 (19081202)
OS: macOS MojaveKöszi!
-
Samus
addikt
Sziasztok,
Segítségre lenne szükségem. Biztos nagyon bagatell lesz a kérdés, de nagy problémát okoz. Excel 2010 az alany. A probléma, hogy egy, már szöveget tartalmazó cella, ha csak ki van jelölve, és megnyomok egy karaktert, abban a pillanatban felülírja a cella tartalmát, és ha ezt nem vesszük észre, meszeltek az infónak. Tehát erre kellene egy megoldás. Nyilván ez akkor jó, ha üres cellába írok, de egyébként nem. Egy műszaknaplóról van szó, és már többször okozott komoly problémát a jelenség. -
spe88
senior tag
válasz
Fferi50 #41660 üzenetére
Megnéztem, mindenhol szám van. Ezért sem tudom hova tenni. Ez volt az első, amit csekkoltam. Valami olyanra gyanakszom, hogy amikor a képleteket lehúztam, akkor már rossz volt, de kérdem én miért nem tudom utólag átállítani? Ugyanaz a formátuma mint a felette lévő cellanak, ez mégis szövegként jelenik meg.
-
spe88
senior tag
Sziasztok!
Ismét az egyik legidegesítőbb Excel-tulajdonság fog ki rajtam. Valamilyen oknál fogva egy cellát nem számként kezel, ráadásul olyat, ami egy képletet tartalmaz, tehát nem copy paste adatok valahonnan. Hiszen akkor elő szokott fordulni.
1. 4 megoldást ismerek, hogy lehet ezt számmá alakítani, de jelen esetemben egyik sem működik. Meg tudnátok mondani mit tegyek?
2. Meg tudnátok mondani ez miért van? Elég veszélyes szitu, hiszen csak a szerencsén múlt, hogy észrevettem és alul a szummánál már bele sem számolta, hisz ez egy szöveg. Ha nincs balra zárva a cella sose jövök rá.Itt a vidi.
Köszönöm
-
dunorg
csendes tag
Hogyan lehet megoldani az excelben, hogy a cellában a ctrl+shift+. ne csak az egész percre kerekített statikus óra-percet adja (pl: 16:32:00), hanem a percen belüli értéket másodpercben vagy századpercben, azaz a percen belüli értéket (16:32:23, vagy 16:32,38) ?
Hogyan lehet 0 percről induló stoppert generálni az excelben úgy, hogy az indítás (0:00,00) óta eltelt időt adja az aktuális cellákban (percben két tizedesig, vagy/és másodpercben), amibe behívom? -
Mexbacsi
tag
Sziasztok!
Milyen függvénnyel tudom megoldani azt, hogy számolja meg a nem üres cellák számait, ami 0 vagy nagyobb mint 0 értéket tartalmaz?
-
Fferi50
Topikgazda
Szia!
Nos kicsit nyugodtabban végigpróbálva a lépéseket, az alábbi eredményre jutottam:
A gombok "eltüntetése/mutatása", azaz a Visible tulajdonság állítása nem befolyásolja a másolás módban maradást! Viszont az Enabled tulajdonság módosítása igen. Tehát ezt nem szabad használni - ami egyébként felesleges is, hiszen ha nem látható a gomb, akkor nem is lehet "megnyomni".Szerintem ezzel már tudsz kezdeni valamit.
Üdv.
Ps. Azt, hogy miért így viselkedik az Excel, azt ne tőlem kérdezd lsz. -
bsh
addikt
válasz
Fferi50 #41646 üzenetére
tudom, hogy mik a cutcopymode értékei (természetesen már azokat is próbáltam), de ez mégis működik így mert ha a cutcopymode se nem xlcut, se nem xlcopy (azaz nincs copypaste éppen), akkor a cutcopymode értéke 0 (azaz false), egyéb bármilyen esetben meg ugye az else-re ugrik is tovább.
ez most így ebben a formában van használva és működik a copypaste rendesen, csak szeretném olyankor eltüntetni a gombokat (csak a "szépség" kedvéért), de mint írtad, az úgy már viszont nem működik.
ha esetleg megtalálod mi az oka és hogy lehet ellen tenni, annak örülnék, mert nekem nem sikerült semmit találnom (csak pár ugyanezzel a problémával foglalkozó topikot, amik mind megválaszolatlanok) -
Fferi50
Topikgazda
válasz
Fferi50 #41645 üzenetére
Sajnos nem voltam elég körültekintő. Addig minden áll, hogy milyen értékeket vehet fel ez a tulajdonság. Viszont amikor a gombok tulajdonságait akarom megváltoztatni, automatikusan elveszti a másolás/kivágás értékét - azt hiszem amiatt, mert nem cellákkal dolgozunk. Ez sajnos úgy néz ki, rendszerszintű dolog.
Tovább kell vizsgálódnom.
Eredmény:
Az Enabled és a Visible tulajdonságok változtatása hatástalanítja a másolás kapcsolót. A gombok méretét és elhelyezkedését lehet változtatni akkor is, ha másolás módban vagyunk. -
Fferi50
Topikgazda
Szia!
Azt hiszem, azzal van gond, hogy az Application.CutCopyMode tulajdonságot logikai tulajdonságnak kezeled, pedig nem az! Ha megnézzük a Help-jét, akkor azt látjuk, hogy kétféle értéket vehet fel: 1 = xlCopy és 2 = xlCut. Ha pedig nincs bekapcsolva a másolás/kivágás mód, akkor az értéke 0 --> ami a False logikai érték számérték megfelelője.
(Azt hiszem, a makrórögzítő vezet félre bennünket és képzelteti velünk el, hogy logikai érték ez a tulajdonság, mivel ott mindig csak azt látjuk, hogy Application.CutCopyMode = False. Szomorú.)
Az xlCopy vagy xlCut értéket pedig a Ctrl+C ill. Ctrl+X billentyűk, illetve a Copy és a Cut parancsok adják a tulajdonságnak.
Az Application.CutCopyMode=True ebben a formában hatástalan, mivel kívül esik a tulajdonság lehetséges értékein (a True számértéke VBA-ban -1)
"ha viszont még extrába beleírom, hogy ha mégis cutcopymode=true"
ez a fentiek alapján soha nem fog bekövetkezni!
Másrészt a makród szerkezete alapján a feltétel vizsgálat vagy a False vagy az xlCopy/xlCut ágra fog futni.
Makróból nem tudod ezt a tulajdonságot állítani, csak a Copy vagy Cut parancssorral.
Remélem érthető, amit írtam.
Normál esetben ennek a tulajdonságnak a vizsgálata nem szükséges a gombok megváltoztatásához.Üdv.
-
bsh
addikt
válasz
Fferi50 #41641 üzenetére
Private Sub Worksheet_SelectionChange(ByVal Target As Range)
If Application.CutCopyMode = False Then
Button_X.Width = 150
Button_X.Height = 20
Button_X.Enabled = True
Button_X.Visible = True
If (Target.Cells.CountLarge > 1) And (Target.Width < Application.Width) Then
Button_Y.Width = 250
Button_Y.Height = 20
............satöbbi
End If
Else
'Exit Sub
'ezekkel próbálkoztam, de ha ebben a szakaszban BÁRMIT csinálok, onnantól nem működik a copy/paste: eltűnik a kijelölés is (akár másik lapról is) és a vágólap is törlődik(!)
'Application.EnableEvents = False
'Button_X.Visible = False
'Button_X.Enabled = False
'Button_Y.Visible = False
'Button_Y.Enabled = False
'Application.EnableEvents = True
End If
End Sub -
bsh
addikt
sziasztok.
selectionchnage eventet használok (különböző gombokat kapcsolok ki/be és helyezek át a kijelölt cellák mellé) és így nem működik a copy/paste. guglival nem találtam választ rá, hogy miért nem. nem tudja valaki?
a másik, hogy ha a selectionchange eventbe beleírom, hogy ha application.cutcopymode=false esetén csinálja csak a gombpakolászásokat, más esetben ne csináljon semmit, akkor működik a copy paste. ha viszont még extrába beleírom, hogy ha mégis cutcopymode=true, akkor tüntesse el a gombokat - akkor már megint nem működik a copypaste.
hogyan kellene ezt korrektül megoldani? -
Delila_1
veterán
válasz
MasterMark #41637 üzenetére
Az eredeti kérdésedből nem feltételeztem az ilyen irányú ismereteidet, mert nem akartad megadni, melyik oszlop szerint kell a szűrést végrehajtani, holott ezt alapvető ebben az esetben. Ha tudom, hogy értesz hozzá, másképp segítettem volna.
-
MasterMark
titán
-
Delila_1
veterán
válasz
MasterMark #41633 üzenetére
Félreértettem. Azt hittem, cellán belül nem jó helyről tüntettem el a szóközöket.
Így legalább "megszakértetted", és javítani is tudtad.Sok sikert a további makrózáshoz!
-
MasterMark
titán
válasz
MasterMark #41634 üzenetére
Ja megvan a tied mintajara. Koszi.
-
Delila_1
veterán
válasz
MasterMark #41630 üzenetére
"a sortolást nem jó helyről kezdte", mert nem adtad meg.
Autoszűrő, sorszámozás, és formátum a lapokra:
Sub AutSzuro_Sorszam_Formatum()
Dim lap As Integer
For lap = 1 To Sheets.Count
Sheets(1).Range("A:J").Copy
Sheets(lap).Range("A:J").PasteSpecial xlPasteFormats
Sheets(lap).Range("A2").AutoFilter
Sheets(lap).Range("A3" & ":A" & Range("A3").End(xlDown).Row) = "=row()-2"
Next
End Sub -
MasterMark
titán
válasz
Delila_1 #41626 üzenetére
Köszi szépen, kicsit belekontárkodtam sikerült megcsinálni amit akartam. (a sortolást nem jó helyről kezdte.)
Scripttel tudok formázást átvinni? Illetve még egy olyat szeretnék, hogy első oszlopban a számokat lecserélni 1-től számolóra az összes lapon a harmadik sortól. (1,2,3,4,stb.)
Az autoszűrőt be lehet kapcsolni az összes lap második sorára scripttel?
Köszi szépen előre is.
-
-
sinick
senior tag
Sziasztok! MS Excel 2016. Van olyan függvény, ami egy adott cella értékét képletnek használja fel:
Példa
Azaz, Cx kerüljön kiszámításra Ax és Bx bemenő értékekkel a D1 képlet alapján.
VBA kizárva. A képlet gyakran változik. Tudom, hogy képlet mehetne C1-be összes C-re kérhetnék egy másolást, csak ezt néha elfelejtem, na meg kíváncsi vagyok, hogy van-e erre megoldás.
Köszi: sinick
-
Delila_1
veterán
válasz
MasterMark #41625 üzenetére
Sub Szortirozas()
Dim usor As Long, sor As Long, lapnev As String
Dim innen As Long, eddig As Long, ide As Long, ujnev As String
'Rendezés album szerint
Sheets("Munka1").Select
usor = Range("A" & Rows.Count).End(xlUp).Row
ActiveWorkbook.Worksheets(1).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(1).Sort.SortFields.Add2 Key:=Range("J3:J" & usor), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(1).Sort
.SetRange Range("A1:J" & usor)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'Másolás új lapokra
sor = 3
Do While Cells(sor, 10) <> ""
lapnev = Cells(sor, 10)
If Application.WorksheetFunction.CountIf(Columns(10), lapnev) > 1 Then
ujnev = Application.WorksheetFunction.Substitute(lapnev, " ", "")
ujnev = Left(ujnev, 30)
Sheets.Add.Name = ujnev
Sheets("Munka1").Select
Rows("1:2").Copy Sheets(ujnev).Range("A1")
innen = sor
eddig = Application.WorksheetFunction.Match(lapnev, Columns(10), 1)
ide = Sheets(ujnev).Range("A" & Rows.Count).End(xlUp).Row + 1
Range("A" & innen & ":J" & eddig).Copy Sheets(ujnev).Range("A" & ide)
Sheets(ujnev).Range("A1") = ujnev
sor = eddig + 1
Else
sor = sor + 1
End If
Loop
Sheets("Munka1").Move Before:=Sheets(1)
MsgBox "Kész van az albumonkénti szortírozás", vbInformation, "Információ"
End Sub -
Delila_1
veterán
válasz
MasterMark #41623 üzenetére
Modulba másold a lenti makrót (lásd a Téma összefoglalóban). A makróban a Munka1 nevet mindenhol írd át a saját lapod nevére.
Sub Szortirozas()
Dim usor As Long, sor As Long, lapnev As String
Dim innen As Long, eddig As Long, ide As Long
'Rendezés album szerint
Sheets("Munka1").Select
usor = Range("A" & Rows.Count).End(xlUp).Row
ActiveWorkbook.Worksheets(1).Sort.SortFields.Clear
ActiveWorkbook.Worksheets(1).Sort.SortFields.Add2 Key:=Range("J3:J" & usor), _
SortOn:=xlSortOnValues, Order:=xlAscending, DataOption:=xlSortNormal
With ActiveWorkbook.Worksheets(1).Sort
.SetRange Range("A1:J" & usor)
.Header = xlYes
.MatchCase = False
.Orientation = xlTopToBottom
.SortMethod = xlPinYin
.Apply
End With
'Másolás új lapokra
sor = 3
Do While Cells(sor, 10) <> ""
lapnev = Cells(sor, 10)
If Application.WorksheetFunction.CountIf(Columns(10), lapnev) > 1 Then
Sheets.Add.Name = lapnev
Sheets("Munka1").Select
Rows("1:2").Copy Sheets(lapnev).Range("A1")
innen = sor
eddig = Application.WorksheetFunction.Match(lapnev, Columns(10), 1)
ide = Sheets(lapnev).Range("A" & Rows.Count).End(xlUp).Row + 1
Range("A" & innen & ":J" & eddig).Copy Sheets(lapnev).Range("A" & ide)
Sheets(lapnev).Range("A1") = lapnev
sor = eddig + 1
Else
sor = sor + 1
End If
Loop
Sheets("Munka1").Move Before:=Sheets(1)
MsgBox "Kész van az albumonkénti szortírozás", vbInformation, "Információ"
End Sub -
MasterMark
titán
válasz
Delila_1 #41622 üzenetére
Ja látom már az a szokás, hogy te írod meg, nekem iránymutatás is elég lett volna, abból talán kitalálom.
De akkor pontosan:
1. sor összevonva A-J között. Ide kerülne az "album címe", ami egyenlő a lap címével is. Ez van benne:
=JOBB(CELLA("filenév";A1);HOSSZ(CELLA("filenév";A1))-SZÖVEG.KERES("]";CELLA("filenév";A1)))
2. sor A-J a táblázat első sora itt vannak az oszlopok nevei.
3. - 363. sor A-J között maguk az adatok.
A "J" oszlopban vannak ami alapján szét kellene válogatni őket. Az "album címe".
-
Delila_1
veterán
válasz
MasterMark #41621 üzenetére
Az titok, hogy melyik oszlopod tartalmazza a nevet? Az is kell, hogy összesen hány oszlopod van, pl. A-tól
G-ig. -
MasterMark
titán
válasz
Delila_1 #41619 üzenetére
Egyszer kell.
Úgy 400 összesen, 70 különböző adattal az oszlopban.
Igen, a szűrést és másolást szeretném automatizálni, mert nincs kedvem kézzel másolgatni egy különböző lapra.
Hogy érted, hogy melyik oszlop szerint? Nem mindegy?
Példa: Zeneszámok vannak, az egyik oszlopban az album címével. Amelyik albumban több szám is van, azt külön szeretném tenni egy külön lapra az album címe szerint.
-
Delila_1
veterán
válasz
MasterMark #41618 üzenetére
Ennél azért egy kicsit többet kellene tudnunk.
Egyszer, vagy ritkán kell szétbontani az adatokat, esetleg rendszeresen? Mekkora mennyiségről van szó? Hány féle adat van a szűrendő oszlopban?Első esetben szűröd az oszlopot 1-1 tételre, majd a szűrt állományt másolod (áthelyezed) az új lapra.
A második esetben érdemes makrót írni rá, de ahhoz is legalább annyit kell ismernünk, hogy melyik oszlop szerint kell szűrni, másolni vagy áthelyezni kell az adatokat.
-
MasterMark
titán
Üdv, egy kis segítséget kérnék.
Van egy rakás adat, azokat szeretném lapokra szétbontani úgy, hogy az egyik oszlopban lévő érték legyen a lap címe, illetve csak azok kerüljenek külön lapra, amiből több is van ezen értékből.
-
jpisti
senior tag
válasz
Temerti #41609 üzenetére
Köszönöm!
...de akkor lenne még egy kérdésem: Jelen lapon soronként vannak feltüntetve egy bizonyos eseményre vonatkozó adatok. Jelesen ez egy időmérő napló amiben a repülőképzésem felszállásait összegzem. Most már tudom, hogy összesen mennyi egyedül repülésem volt, mert megszámolja a képlet, hogy az oktatók nevét jelző oszlopban hányszor szerepel a "-" jel.
Viszont azt is jó lenne valahogy kimutatni egy cellában, hogy összesen mennyi időt repültem egyedül.
Minden sorban egy-egy repülés adatai szerepelnek, az "E" cellákban az oktatók nevei, az "F" cellákban meg az adott repülés időtartama. Tehát egy olyan képlet kellene ami összegzi az "F" cellákban szereplő időket ha az adott sor "E" cellájában "-" az érték.Ez megoldható excelben?
-
bozsozso
őstag
Sziasztok,
Most nem számítási problémám lenne hanem kezelés.
Az egyik munkalapon vannak A oszlopban adatok. Ugyanezen adatokat szeretném egy másik munkalap első sorába. Ezt úgy adtam meg, hogy a B1 cellába ezt írtam =Munka1!A2 Ez így rendben is van csak azt szeretném ha ezt a B1 cellát áthúzom az C1 D1 E1 stb cellákba akkor az A megmaradjon a sor száma mindig növekedjen eggyel. Próbáltam, hogy rögzítettem az A-t és így írtam be: =Munka1!$A2, de ezzel sem értem el a kívánt hatást. Van erre esetleg valami megoldás vagy ebben az esetben szépen sorban minden cellában meg kell adni a megfelelő cellát?
-
jpisti
senior tag
Üdv kedves Excel Guruk!
A problémám: MS Excel 2016-ban: egy egyszerű munkafüzetben egy tartományban mondjuk egy oszlop celláiban szereplő azonos szöveg (mondjuk : "alma") számát szeretném megjeleníteni.
Tehát mondjuk ha az E oszlopban 55 cellában szerepel az "alma" szöveg, akkor azt szeretném, hogy az M oszlop 1-es cellájának értéke 55 legyen. ...és természetesen ha az E oszlopban gyarapodnak az almák akkor az M oszlop 1-es cellájában mindig az aktuális almák száma legyen.(bocs ha kicsit túl szájbarágósra sikerült, de szerettem volna nagyon egyértelmű lenni.)
Előre is köszönöm a segítséget!
Üdv.: jpisti
-
hhheni
tag
találtam néhány régi *.wkq fájlt
van valami ügyes módszer, hogy tudom ezeket megnyitni? -
Mutt
senior tag
Szia,
Ha Excel 2016 vagy jobbad van, akkor a MAXHA függvény tud segíteni, ha régebbi akkor egy tömb-függvény.
Lépések:
1. A J-oszlop nálam egy Kimutatás a bal oldali adatsorból. Csak a vezetők neveit húztam be a kimutatásba, ami automatikus frissítésre van téve. A másik megoldás, hogy egyszerűen felsorolod a vezetőket (ekkor ha van változás azt kézzel kell megadni).
2. A telephelyeket megadhatod kézzel, mert ez talán statikus lesz.
3. K3-ban az alábbi képlet van Excel 2016-esetén:=MAXHA($C:$C;$B:$B;$J3;D:D;1)
Régebbi Excel-nél pedig ez a tömb képlet:=MAX(HA(($B$3:$B$10000=$J3)*NEM(ÜRES(D3:D10000));$C$3:$C$10000;0))
Írtad, hogy az asszisztens vagy 1-et vagy x-et ír a rubrikába, a fenti képlet csak akkor ad helyes eredményt, ha 1-est ír be. Ha az x-re is figyelni kell, akkor ez a képlet:
=MAX(MAXHA($C:$C;$B:$B;$J3;D:D;">0");MAXHA($C:$C;$B:$B;$J3;D:D;"x"))
4. A fenti képlet vagy egy dátumot, vagy 0-át (amit 1900. jan 1-nek fog mutatni) fog kiírni. Ha a 0 helyére a "nem volt" szöveg kell, akkor azt egy saját számformátummal tudod elérni. Ctrl-1 -et nyomj a cellán és egyéni formátumnak ezt add meg: éééé.hh.nn;;"nem volt"
5. A kiemelt telephely látogatások számait a DARABHATÖBB függvény tudja megadni. Az én példámban a telephely választható (P1 cellában) és mindig az utolsó 30 napot nézi. A képlet P3-ban így:=DARABHATÖBB(C:C;">="&MA()-30;C:C;"<"&MA();B:B;J3;INDEX(D:H;0;HOL.VAN($P$1;$D$2:$H$2;0));">0")
Ez a képlet az x-el jelölt dátumokat kihagyja, ha x-re is kell figyelni akkor jó hosszú lesz a képlet:
=DARABHATÖBB(C:C;">="&MA()-30;C:C;"<"&MA();B:B;J3;INDEX(D:H;0;HOL.VAN($P$1;$D$2:$H$2;0));">0")+DARABHATÖBB(C:C;">="&MA()-30;C:C;"<"&MA();B:B;J3;INDEX(D:H;0;HOL.VAN($P$1;$D$2:$H$2;0));"x")
üdv
-
VS461
tag
Sziasztok!
Szeretnék segítséget kérni egy probléma megoldásában. Adott egy „cég”, ahol a „főnökök” rendszeresen járnak a cég „telephelyeire” ellenőrzést végrehajtani, egy nap akár több helyre is, illetve egy-egy telephelyre akár naponta, pár naponta. A napok végén az „asszisztens” beírja egy táblázatba az adott főnök nevét, a dátumot, és pipát (1-est, x-et stb.) tesz azokba a cellákba, ahol az illető aznap ellenőrzött.
Amire szükség lenne, az egy külön, megnyitáskor automatikusan frissülő táblázat, amely megmutatja, hogy az egyes főnökök mikor jártak utoljára az egyes telephelyeken. Továbbá szükséges lenne, hogy az egyik, „kiemelt” telephely kapcsán számon lehessen tartani, hogy az egyes főnökök bármely elmúlt 30 napban legalább kétszer jártak ott.
Feltöltök egy skiccet az adatkérő és a nyilvántartó táblázatról.
Gondolom, adatbázis-kezelővel egyszerűbb lenne, de a cégnél csak az Excelhez értenek.
Köszönöm, hogy időt szakítotok rá.
Új hozzászólás Aktív témák
Hirdetés
- ROBUX ÁRON ALUL - VÁSÁROLJ ROBLOX ROBUXOT MÉG MA, ELKÉPESZTŐ KEDVEZMÉNNYEL (Bármilyen platformra)
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap
- Játékkulcsok olcsón: Steam, Uplay, GoG, Origin, Xbox, PS stb.
- Windows, Office licencek kedvező áron, egyenesen a Microsoft-tól - Automata kézbesítés utalással is!
- Path of Exile 2 early access kulcs
- 35" ASUS ROG Swift PG35VQ curved GAMER monitor
- DELL PowerEdge R630 rack szerver - 2xE5-2680v4 (28c/ 56t, 2.4/3.3GHz), 128GB RAM, 10G, áfás szla
- BESZÁMÍTÁS! HTC VIVE Pro 2 virtuális valóság szemüveg garanciával hibátlan működéssel
- Apple iPhone 12 128GB, Kártyafüggetlen, 1 Év Garanciával
- Telefon felvásárlás!! Samsung Galaxy Note 10+/Samsung Galaxy Note 20/Samsung Galaxy Note 20 Ultra
Állásajánlatok
Cég: FOTC
Város: Budapest