- kemotox: Ki érti ezt?
- Magga: PLEX: multimédia az egész lakásban
- Luck Dragon: Asszociációs játék. :)
- sziku69: Fűzzük össze a szavakat :)
- Oldman2: A KOReader ebook olvasó program
- gban: Ingyen kellene, de tegnapra
- Elektromos rásegítésű kerékpárok
- sziku69: Szólánc.
- ubyegon2: Airfryer XL XXL forrólevegős sütő gyakorlati tanácsok, ötletek, receptek
- Gurulunk, WAZE?!
-
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
-
lanszelot
addikt
Hello
MS365 Excel Freeze Panes nem működik, de miért
[link] -
DasBoot
aktív tag
Jó szerencsét!
Tudnának ajánlani valamilyen magyarnyelvű, VBA-val foglalkozó könyv címét? Akár teljesen kezdőknek valót, akár kicsit haladóbbat, akár, amiben példákon keresztül mutatja be. Minél több van, annál jobb!
Köszönettel: Joe -
gycs02
tag
válasz
Fferi50 #52892 üzenetére
Sziasztok!
Három szűrt sorból csak az elsőbe tette be az X-t.
A próba után, a leírásod alapján rájöttem, hogy jó lehet a Delila féle első makró, s egy kis igazítással meg is oldotta a problémát, tökéletesen működik. Remélem a mindennapos használat is ezt fogja igazolni.
"türelmünk akár a tenger"
Jó Nektek, hová jártok tanfolyamra?Szép napot!
-
Fferi50
Topikgazda
válasz
gycs02 #52890 üzenetére
Szia!
"Nem megy."
Bocs, ez így értelmezhetetlen számomra. Ilyenkor szükség van a hibajelenség és a hibaüzenet leírására, az excel verzióra ahhoz, hogy lehessen a javításra megoldást találni. És nem, nem feltételenül elég a kép , legjobb egy - publikus adatokat nem tartalmazó, de a használt szerkezetnek megfelő mintafájl közzététele valamelyik - pl. Data.hu - ingyenes oldalon vagy a google driveon megosztva.
Üdv.
Ps. természetesen türelmünk akár a tenger. -
gycs02
tag
válasz
Delila_1 #52889 üzenetére
Szia!
Most már rájöttem, hogy nem véletlenül kértek mintát arról. hogy mit szeretnénk.
Átgondoltam, s rájöttem, hogy amit legelőször írtál, az kell nekem. Ha csak 1 sor van, akkor nem megy, de a többi esetben úgy néz ki, hogy jó. Az egysoros javítást meg megpróbálom beleügyeskedni a későbbi makróid alapján.
Sikerült is a javítás, egyelőre a teszteken át ment, szerintem jó lesz.
Csak hogy átlássátok mi a folyamat.
Tehát a lényeg. Érkeznek összevissza sorrendbe az áruk. Megszűröm az A oszlopot almára, ha megtörtént a bevételezés, az almák mellé menne az x. Majd jön másik meló, legközelebb már először B-re szűrök, mert ami nem üres, azzal nem kell foglalkoznom. Amit bevételeztem, azok bizonylatát ki kell nyomtatni. Szűrés X-re a B oszlopban és C-ben üresre. Ha megtörtént a nyomtatás mehet a C-be az x. Ami nyomtatva van, azt könyvelni kell C x, D üres amivel foglalkoznom kell. Persze, ha van lehetőség mindet folyamatában csinálni, akkor nincs erre szükség.Ismét köszönet a segítségért és a Türelemért!
#52886Fferi50
Neked is!
Nem megy. -
gycs02
tag
Sziasztok!
Így már egyértelmű. Akartam válaszolni Delilának, hogy csak akkor működik az övé, ha nem üres ahová írni kell. Csak már nem fért bele, a meló helyen. Sajnos nem volt egyértelműen leírva a folyamat, hogy mit csinálok, s hogy mit szeretnék. Az egyik oszlopban szűrök, a szűrő bekapcsolása után itt minden cella töltött. Ugyanezen soroknál kell az x-t írni az üres cj oszlopba. A szűrt sorok száma bármennyi lehet, s lehetnek egymás után következők, s szétszórva is. Csak holnap tudom próbálni, majd jelentkezem.További szép napot Nektek!
-
Fferi50
Topikgazda
válasz
Delila_1 #52881 üzenetére
Szia!
Ha a 13. sorban kezdődik a szűrésre kijelölt tartomány (mert a fejléc a 12. sorban van), akkor szerintem lehet fixre venni, a látható tartományt nem fogja befolyásolni.
A ciklus pedig azért kell, mert amikor nem összefüggő a szűrt tartomány (több külön területet is tartalmaz), akkor sajnos csak így lehet beírni mindenhova az értéket. Legalábbis nálam O365-ben így viselkedett a teszten. Ha egyben van a szűrt terület, akkor ment az egyben értékadás. Mivel egy-egy terület összefűggő, így a ciklust területre vonatkoztatva nem kell minden cellán végigmenni:For Each trlt In srng.Columns(1).SpecialCells(xlCellTypeVisible).Areas: trlt.Value="x" : Next
Sőt az sem mindegy milyen sorrendben határozom meg a látható cellákat.
Tartomány.oszlop.látható cellák ad jó eredményt, a Tartomány.láthatócellák.oszlop pedig sajnos nem az igazi.
Az állomány méretét tekintve szerintem nem okozhat számottevő lassulást a ciklus.
Üdv. -
Fferi50
Topikgazda
válasz
gycs02 #52880 üzenetére
Szia!
Azt hiszem ott van a "baj", hogy az utolso sort olyan oszlopban keresed, amiben a szűrés után éppen nincs adat, hiszen ide szeretnéd beírni az x-eket.
"utolso = Range("cj" & Rows.Count).End(xlUp).Row
Set srng = Range("cj" & elso & ":cj" & utolso)"
Így aztán az utolsó sor értéke kisebb lesz mint a 13 induló érték (akár 1 is lehet!), ezért látod azt, hogy felfelé tölti ki az értékeket.
Amint korábban írtam, az utolsó sor értékét abban az oszlopban kell megkeresni, amelyben az utolsó érvényes adat van.
Tehát az AW oszlop alapján keressük meg az utolsó sort és a CJ oszlopot jelöljük ki kitöltendőnek:elso=13 'ha a fejléc a 12 sorban van, akkor ez a lehetséges első szűrt sor
utolso = Range("AW" & Rows.Count).End(xlUp).Row
Set srng = Range("CJ" & elso & ": CJ " & utolso)
For Each cl In srng.Columns(1).SpecialCells(xlCellTypeVisible).Cells
cl.Value = "x"
Next
Próbáld ki ezt légy szíves.
Üdv.
Ps. A makróknál használd légy szíves </> gombot (MS előtt van). -
gycs02
tag
válasz
Delila_1 #52883 üzenetére
Valamit nagyon félremagyarázhattam, hogy ez jött le.
Nem kell x helyett is x, az kell amit írtál elsőtől utolsóig.
Az 52880-ban ott van "makróm", ami elvileg csak annyiban különbözik a tiedtől, hogy átírtam az oszlopokat és a cellákat. Viszont ezt így futtatva nem csak a szűrt cellákba ír hanem a "fejlécbe is". Mint írtam, mintha tegnap jó lett volna, megpróbálom a tegnapi felállást előidézni, hátha rá jövök valamire. -
gycs02
tag
válasz
Delila_1 #52881 üzenetére
Próbálgattam a Tieddel variálni, de nem jutottam előrébb. Abban az esetben nem tölti az előzőekben említett cellákat, ha itt Range("cj" & elso) = "x" a cj helyett cj13-at írok, igaz így kitölti azt amit szeretnék, de kitölti az összes ezalatt látható sort is.
A Tieddel felfelé tölti a látható sorokat, az én kontárkodásommal meg lefelé.
-
Delila_1
veterán
válasz
gycs02 #52880 üzenetére
Nem tartom jó tippnek az elso értékét fixen megadni (elso=13), ugyanis közel sem biztos, hogy a 13. sor értéke megjelenik a szűrt állományban.
Ha a szűrt állomány első sorát keresed meg
(elso = Range("cj13:cj1000").SpecialCells(xlCellTypeVisible).Row
), akkor nem kell ciklussal végigpásztázni az adatokat. A ciklus lassítja a futást. -
gycs02
tag
válasz
Fferi50 #52879 üzenetére
Szia!
Így már érthető, hogy mindegy mit írok oda, ugyanis olyan nincs hogy aw13-ban van adat, ba 13-ban meg nincs. Vagyis ha bármelyik sorba írok, akkor az a sor ba-ig töltve van.Viszont a látható-val csak gondjaim vannak, a Tiéd azt csinálja, hogy a szűrt tartomány helyett csak az első cellákba (összevont 1-4 és az 5.) tesz x-t. Ezek látható cellák, de a szűrt tartományon kívül esnek, a nem látható 6-12 cellákat figyelmen kívül hagyja.
Az átírt makró:
Dim elso As Integer, utolso As Integer, srng As Range, cl As Range
elso = 13 ' Ide azt a számot írd, ahol a szűrés kezdődik
utolso = Range("cj" & Rows.Count).End(xlUp).Row
Set srng = Range("cj" & elso & ":cj" & utolso) ' ha nem összefüggő a szűrt terület, cellánként kell végigmenni sajnos.
For Each cl In srng.Columns(1).SpecialCells(xlCellTypeVisible).Cells
cl.Value = "x"
Next#52876Delila_1
Szia!
Azt nem értem, hogy miért nem vettem észre tegnap, hogy a Tiéd is azt csinálja, mint a fenti, annyi különbséggel, hogy ez beírja oda is ahová kell.Annyi történt tegnap óta, hogy 3 oszlopban alkalmazom a beírást, s amikor próbáltam a működést, még csak az egyik gombhoz rendelt makrót javítottam, ma pedig aktualizáltam mind a hármat.
Amit a Tiedből készítettem makrót:
Dim elso As Integer, utolso As Integer
elso = Range("cj13:cj1145").SpecialCells(xlCellTypeVisible).Row
utolso = Range("cj" & Rows.Count).End(xlUp).Row
If elso = utolso Then
Range("cj" & elso) = "x"
Else
Range("cj" & elso & ":cj" & utolso).SpecialCells(xlCellTypeVisible) = "x"
End If -
Fferi50
Topikgazda
válasz
gycs02 #52878 üzenetére
Szia!
Az utolsó sor megállapításánál azt az oszlopot vedd alapul, amelyikben a legtovább van adatod. Szerintem itt az AW a megfelelő, mivel a későbbi oszlopokban, így a BA-ban is lehet olyan eset, hogy nem "ér végig" az adatod az oszlopon. Emiatt az adatok egy része "elveszhet" a másolásnál.
Mire gondolok: AW oszlop azonosító, minden cellában van adat 13-1145-ig. BA oszlopban lehetséges, hogy csak 1142-ig van adat, mert épp olyan jellemzőt tartalmaz, ami nem fordul elő minden sorban (akár közben is lehetnek "lukak", üresen maradó cellák). Ebben az esetben a BA oszlopot figyelve 1142 lesz az utolsó sor értéke és nem 1145. Az utolsó 3 sor lemarad a másolásnál.
Az első makróhoz: Amennyiben a szűrés után nem összefüggő tartomány keletkezik, akkor szerintem gond lehet Delila makrójával. Ha pl. 13-250-ig, 312-650-ig, 900-1100-ig látszanak a sorok, akkor nem kerül be minden résztartományba a kívánt érték. Legalábbis nálam így működött a teszt során. Ezért van a cellánkénti értékadás.
Üdv. -
gycs02
tag
válasz
Delila_1 #52876 üzenetére
Szia!
Tesztelgettem.
Az első így tökéletes.
A második akkor nem jó, ha egy szűrt sor van vagy ha a szűrt sorok egymás utániak.#52877Fferi50
Szia!
Mivel a Delila megoldása jó lett az elsőt nem próbáltam, a második viszont működik.
Így néz ki a munkalapomra aktualizált makro:
Dim elso As Integer, utolso As Integer, srng As Range
elso = 13
utolso = Range("AW" & Rows.Count).End(xlUp).Row
Set srng = Range("AW13:BA" & utolso)
srng.SpecialCells(xlCellTypeVisible).Copy
With Sheets("VJsegéd").Range("A1")
.PasteSpecial Paste:=xlPasteColumnWidths
.PasteSpecial Paste:=xlPasteValuesAndNumberFormats
End With
Application.CutCopyMode = False
A tartománynak, amit szűrök az első sora a 13, az utolsó a 1145, az első oszlop "AW" az utolsó "BA".
Jó így az aktualizálás?
Ennél a résznél: utolso = Range("AW" ha "BA"-t írok akkor is ugyan úgy működik, melyik a helyes?Nagy-nagy köszönet Mindkettőtöknek.
-
Fferi50
Topikgazda
válasz
gycs02 #52875 üzenetére
Szia!
Próbáld ki esetleg ezeket:Sub Lathatoba_xV1()
Dim elso As Integer, utolso As Integer, srng As Range, cl As Range
elso = 13 ' Ide azt a számot írd, ahol a szűrés kezdődik
utolso = Range("A" & Rows.Count).End(xlUp).Row
Set srng = Range("A" & elso & ":A" & utolso) ' ha nem összefüggő a szűrt terület, cellánként kell végigmenni sajnos.
For Each cl In srng.Columns(1).SpecialCells(xlCellTypeVisible).Cells
cl.Value = "x"
Next
End Sub
Sub masolo_V1()
Dim elso As Integer, utolso As Integer, srng As Range
elso = 13
utolso = Range("A" & Rows.Count).End(xlUp).Row
Set srng = Range("A13:A" & utolso)
srng.SpecialCells(xlCellTypeVisible).Copy
With Sheets("Munka2").Range("A1")
.PasteSpecial Paste:=xlPasteColumnWidths 'bemásoljuk az oszlopszélességet0
.PasteSpecial Paste:=xlPasteValuesAndNumberFormats 'majd az értéket és a számformátumot
End With
Application.CutCopyMode = False
End Sub
Üdv. -
Delila_1
veterán
válasz
gycs02 #52875 üzenetére
Sub Lathatoba_x()
Dim elso As Integer, utolso As Integer
elso = Range("A13:A1000").SpecialCells(xlCellTypeVisible).Row
utolso = Range("A" & Rows.Count).End(xlUp).Row
If elso = utolso Then
Range("A" & elso) = "x"
Else
Range("A" & elso & ":A" & utolso).SpecialCells(xlCellTypeVisible) = "x"
End If
End Sub
Sub masol()
Dim elso As Integer, utolso As Integer
elso = Range("A13:A1000").SpecialCells(xlCellTypeVisible).Row
utolso = Range("A" & Rows.Count).End(xlUp).Row
If elso = utolso Then
Range("A" & elso).Copy Sheets("Munka2").Range("A1")
Else
Range("A13:A1000").SpecialCells(xlCellTypeVisible).Copy Sheets("Munka2").Range("A1")
End If
End Sub
-
gycs02
tag
válasz
Delila_1 #52873 üzenetére
Szia!
Köszönöm!
A második az jó, átalakítottam a táblázatomnak megfelelően.
Az elsővel két "gondom" van.
Lehet nem voltam egyértelmű, abba az oszlopba kellene írni, ami szűrve van. Ebben az esetben a RANGE után ha a B-k helyett A-t írsz, akkor az a jó megoldás?
A másik a melléírással van, ezt is aktualizáltam a táblázatom szerint, de elég kaotikusan működik. Van amikor jó, ha csak 1 szűrt sor van, akkor memóriahibába fut, s end után teleírja x-l a munkalapot, van amikor csak a kívánt oszlopba ír x-t, de szűrés törlés+x-re szűrés után kiderül, hogy több helyre is betette az x-t az oszlopba. Az nem lehet gond, hogy csak a 13. sortól indul a szűrt tartomány? -
Delila_1
veterán
válasz
gycs02 #52871 üzenetére
Szia!
Az „x” beírásához.
Az A oszlopba A2:A1000-ig írtam adatokat, majd szűrtem. A szűrt sorok mellé a B oszlopba íratok X-et.Sub Lathatoba_x()
Dim elso As Integer, utolso As Integer
elso = Range("A2:A1000").SpecialCells(xlCellTypeVisible).Row
utolso = Range("A" & Rows.Count).End(xlUp).Row
Range("B" & elso & ":B" & utolso).SpecialCells(xlCellTypeVisible) = "x"
End Sub
Ez meg a szűrt tartomány másolása:
Sub masol()
Dim elso As Integer, utolso As Integer
elso = Range("A2:A1000").SpecialCells(xlCellTypeVisible).Row
utolso = Range("A" & Rows.Count).End(xlUp).Row
Range("A2:A1000").SpecialCells(xlCellTypeVisible).Copy Sheets("Munka2").Range("A1")
End Sub
-
gycs02
tag
Sziasztok!
Nekem is előjött egy kis működési gond. Próbáltam megoldani, hogy ne dobja fel a vírus veszély üzenetet, ha makróval indítok excelből egy fájlt, s azóta megnyitáskor nem adja fel a frissítés ablakot a csatolásokhoz., csak akkor frissül, ha elindítok benne egy makrót. Valahol mintha beírtam volna, hogy az ebben a mappában lévő fájlok biztonságosak, de az üzenet még így is jön. Érdekesség, hogy az ugyanitt található régebbi biztonsági másolatom meg feldobja, hogy frissítsen-e.
Lenne még egy makrós kérdésem is. Felvettem egy makrót, s azt próbáltam átalakítgatni, de néha megáll valami miatt, end-l megállítva, s újra indítva meg lefut. Amit szerettem volna, egy többszörösen szűrt táblázat egyik oszlopába egy meghatározott cellában lévő szöveg beszúrása. Tehát bármennyi szűrő is van bekapcsolva, ha az adott oszlopban 2 cella látszik, akkor 2-be, ha 10 akkor 10-be írja be ezt a szöveget. Ezt hoztam össze, de mint írtam néha rakoncátlankodik és a beillesztésnél megáll:
ActiveSheet.Unprotect
Range("$Cj$5").Copy
Range("av13:av1145").Select
ActiveSheet.Paste Link:=True
Application.CutCopyMode = False
Range("$av$5").Select
ActiveSheet.Protect DrawingObjects:=False, Contents:=True, Scenarios:= _
False, AllowFormattingCells:=True, AllowFormattingColumns:=True, _
AllowFormattingRows:=True, AllowSorting:=True, AllowFiltering:=TrueAzért a cella csatolást használtam, mert akár hogy próbáltam minden más esetben több helyre is beillesztette a kijelölt cella szövegét. Az is jó lenne, ha a makróban megadnám, hogy pl. az "AV" oszlop látható celláiba írjon egy x-t. Ennek a felvételét nem tudtam produkálni. Nem sokszor áll le, de ha van valami javaslat, ami biztos(abb)an működik megköszönöm!
Ha már így belejöttem a kérdezésbe még egy dolog eszembe jutott. Sokat gugliztam, de nem jutottam előrébb, nem nagyon tudtam értelmezni az ajánlásokat. Azt szeretném megoldani, hogy egy szűrt tartományt kijelöljek és vágólapra másoljak. A kijelölendő tartomány ha nincs szűrés aw13:ba1145. Szűrés után ebből szeretném vágólapra másolni a szűrt, látható tartományt, ami eléggé változó. lehet pl. aw25:ba25, de azis előfordul, hogy a 13, 45, 57, 1100 sor látható a szűrés után. próbáltam felvenni, de mivel a kezdő és záró sor folyamatosan változik nem jutok előrébb.
Köszi, ha szántok rám egy kis időt, s ebben is tudtok segíteni.S elnézést, hogyha esetleg telhetetlen vagyok!
-
Fferi50
Topikgazda
válasz
PapírVilla #52867 üzenetére
Szia!
Nézd át légy szíves a képleteket/függvényeket, vannak-e olyanok, amelyek egész sorra/oszlopra hivatkoznak. (Ilyenre gondolok pl. Fkeres (A:E;V1;1;0), Hol.Van(B : B ;D1;0) ). Mivel már milliós nagyságrendű a cellák száma oszloponként, idő kell a számításhoz.
Aztán az is lehet, hogy van egy nem észrevehető tétel valahol a "messzi-messzi galaxisban", azaz a munkalap olyan részén, amire nem is gondolsz.
Ennek kiderítése: F5 - a párbeszéd ablakon irányított gomb - utolsó cella - ok.
Ha nem az adataid végére ugrik, hanem más helyre, ahol látszólag nincsenek adatok, akkor ki kell törölnöd az adataid és az utolsó cella közötti sorokat/oszlopokat.
Sajnos a feltételes formázás és egyéb formázások is szeretnek "szemetet" hagyni olyan helyeken, amire nem is gondolunk.
Üdv. -
Fferi50
Topikgazda
-
PapírVilla
tag
Sziasztok!
Van egy több munkalapos, de nem túl nagy táblázatom.
Ha az egyik cellába megjegyzés írok, akkor a mentés ideje legalább fél percre ugrik (vagy többre). Mitől lehet ez? -
föccer
nagyúr
válasz
Jarod1 #52863 üzenetére
Feltételes formázás, azonosak kiemelése. Sima liba, erre van kitalálva.
B megoldás, hogy az egyik oszlop mellé felveszel egy segéd oszlopot, amibe a HOL.VAN() függvénnyel keresteted a másik oszlopban az első oszlop elemeit. Érdemes HAHIÁNYZIK függványbe becsomagolni, és ott egy "NINCS" vagy valami hasonló szöveget megadni.
Ha A és B oszlopban van a két adat oszlop, akkor a C oszlopba rakd be az alábbit
=HAHIBA(HOL.VAN(B1;A:A;0);"HIÁNYZIK")
ezt huzd ke ameddig kell.
üdv, föccer
-
Jarod1
veterán
Sziasztok van 100 db szériaszám oszlopban
mivel tudnám az megcsinálni hogy hogy a másik oszloppan lévő szériaszámokkal hasonlítsa össze és
az azonosokat jelölje meg... -
Fferi50
Topikgazda
válasz
föccer #52859 üzenetére
Szia!
Csak ötletek:
- Adatok beolvasása tartományból (Power Query szerkesztővel) én valószínűleg ezzel kezdeném, rendesen masszírozhatók az adatok szépen láthatóak a lépések és "makró" is írható hozzá M nyelven.
- Alapadatok táblázattá alakítása - utána szeletelők hozzáadása
- Esetleg kimutatás - szeletelőkkel.
- Adatok - Irányított szűrés - ez megy helyben és más munkalapra is - bár sok adat esetén ez is lehet lassú.
Makró esetén lehetséges egészen más logikával is haladni, részhalmazokat létrehozni. Ekkora nagyságrend még "bekapható" a memóriába, ahol nagyon gyors a műveletek végrehajtása.
Egy 500-1000 soros mintát - természetesen publikussá tehető adatokkal - feltehetnél fájlban azzal, hogy mi a kiindulás és mit szeretnél eredményként kapni. Ezzel nem csak elméletben, hanem gyakorlatban is foglalkozhatnánk a problémával.
Üdv.
Ps. most 1 hétig nem leszek, de lesznek, vannak itt más tudósok. -
föccer
nagyúr
Sziasztok, jó reggelt!
Egy kis hangos gondolatébresztésre lenne szükségem. Van egy feladat, amit ugyan függvényekkel szépen meg tudok oldani, de attól félek, hogy nem túl optimális a megoldás. Egyrészt lehetne-e máshogy megközelíteni a dolgokat, hogy hatékonyabb, gyorsabb legyen, másrészt milyen makrós megoldást alakalmaznátok.
Egy nagyobb project részfeladatát készítem éppen.
3 munkalap érintett.
Alapadatok_mintavetelek
Kezelo_Beton
Szurt_mintaveteli_listaA feladat, hogy az Alapadatok_mintavetelek-re beillesztett adatokra egy dinamikusan paraméterezhető szűrést tegyek és a szűrt eredménylistát a Szurt_mintaveteli_lista munkalapra rakjam át. Jelenleg 8 paraméter van megadva, de ez még bővülni fog. A paraméterek között van sima igaz/hamis, van között, és vannak a listából választható tiltások.
A listából való tiltások a betöltött alapadatokból listázza ki SORBA.RENDEZ(EGYEDI(SZŰRŐ( függvény kombóval. Ez a lista minden adat frissíténél változik. A tiltást úgy értelmezem, hogy ha az adott, kilistázott lista elem mellett <>"" érték van, akkor a Szurt_mintaveteli_lista elemei közé nem kerülhet be. A listázott elemek az Alapadatok_mintavételek bizonyos oszlopaiból jönnek.
Az alap datokban várhatóan 5.000-20.000 sor körüli elemszám lesz, a kimeneti tömbben néhány száz, max 1-2 ezer, de nincsenek korlátozva.
Kezelo_Beton:
Alapadatok_mintavetelek adattábla:
A függvényes megoldás kezd összeállni. Ehhez Segéd munkalapon felveszek a paraméterek számának megfelelő oszlopot, és a paramétereket egyesével feltételekbe fogom. Ha a tiltás feltéte igaz, akkor 1, egyébként 0 értékkel érek vissza az adott mintavételnek a sorába. Az ellenőrző oszlopok végén kap egy szum-ot az összes paraméterre. A Szurt_mintaveteli_lista 1 függvényt fog tartalmazni, mégpedig az eredeti alapadatok tömbjére, de a segédmunkafüzet szum oszlopára mutat a befoglalás, méghozzá =0 paraméterrel. Így a tiltások vagy kapcsolatba kerülnek egymással, ergó bármelyik tiltó feltétel igaz, akkor nem kerül be a szűrőbe.
Namost.
Ez 20k sorra, a 2 adattáblára, 10-10 paraméterként 4-500.000 függvény, és rettenetesen lassú lesz úgy érzem.
Mivel, hogyan oldanátok meg a feladatot, hogy kicsit erőforrás hatékonyabb legyen? Hogyan menjek végig a listás feltételeken? Most ugye simán fkeressel belekeresek, és ha nem 0 a visszatérése, akkor tiltottnak tekintem, de ezt makróban csak úgy tudom lekódolni, hogy minden paraméter, minden elemén végig megyek és az is iszonyat lassú lesz.
Köszi szépen
-
Fferi50
Topikgazda
válasz
rovgab #52855 üzenetére
Szia!
1. Kézzel: Kijelölöd a teljes területet amit szűrni kívánsz, szűrés nélkül- Ezután lapelrendezés - nyomtatási terület kijelölése. A szűrő alkalmazás után csak a látszó területet fogja nyomtatni.
Természetesen ezt minden munkalapon meg kell csinálnod.
2. Makróval:
Ha az A1 cellától kezdődik a területed:
ActiveSheet.PageSetup.PrintArea=Range("A1").CurrentRegion.Address
Ha nem az első sortól, akkor a terület első celláját kell beírnod, pl. A5 ha az ötödik sortól kezdődik. FONTOS a terület legyen "leválasztva", azaz előtte - utána legyen üres sor, illetve üres oszlop ha nem az első oszlopban kezdődik (pl. D5, akkor a 4. sor és a C oszlop legyen üres, A1 helyére D5 kerüljön a makróba).
Ezután bármilyen szűrés esetén csak az adott tartományban látható sorok kerülnek kinyomtatásra.
ActiveSheet helyére írhatod ezt is Sheets("név"), ezáltal bármelyik munkalap nyomtatási területét beállíthatod, anélkül, hogy át kellene váltanod rá.
Remélem sikerülni fog.
Üdv. -
rovgab
csendes újonc
Sziasztok!
Olyan kérdésem lenne, hogy valamilyen módon lehet beállítani dinamikus nyomtatási tartományt? (egy oldalt találtam ezzel kapcsolatban, de az nekem nem működött) Az "A" oszlopban miután elérte a leszűrt értékek végét, onnantól csak nullákat ír (szűrő függvénnyel csak így tudtam megoldani, hogy a formázás is megmaradjon, lényegtelen...) Szóval meg lehet oldani valahogy, hogy a 0 értékű sorokat lehagyja és dinamikusan változzon minden munkalapon a nyomtatási terület? Előre is köszönöm a válaszokat! -
kormo1
csendes újonc
sziasztok,
van egy vonaldiagramom amiben 8 adatsor van és néha az adatsorok fedik egymást. Hogy tudom az beállítani, hogy ha pl. a 3-ast fedi teljesen a 4. és 7. adatsor, akkor is a 3-as mindig látszódjon. Összefoglalva, hol tudom azt beállítani, hogy egy adott adatsor mindig látszódjon akkor is, ha más teljes egészében fedi?
Köszönöm.
-
föccer
nagyúr
Makróban kell megoldani, ott goyrsabban fog futni. 40k sor már combos dubpla fkeressel, de azért még nem beláthatatlan idő.
Makróból ki lehet kapcsolni a nem szükséges automatikus újrasámolást, a screenupdating-et, szóval lehet némileg gyorsítani.
A makró megírásában is tudunk segíteni, de ahhoz pontosan kell látni a munkalapok elnevezéseit és a szükséges oszlop/sor azonosítókat.
üdv, föccer
-
eszgé100
őstag
Sziasztok!
Több száz munkalapról szeretnék átmásolni képeket, gyakorlatilag a landscape-ről konvertálnék portrait módba.
Az forrás lapokról csak az A1 : K32 range-ben található min. 1 max. 6 képet szeretném másolni, lehetőleg balról-jobbra fentről-lefele, majd ezeket beilleszteni fentről-lefele balról-jobbra.
Forrás: Cél:
A1-B1-C1 A1-A2
A2-B2-C2 B1-B2
C1-C2Az egyszerűség kedvéért egyesével, nem szerezném, ha groupként lennének beillesztve. Nem kell forgatni vagy újraméretezni, az igazítást is meg tudom oldani.
Szerintem egy olyan kódrészletre lenne szükségem, ami A1-től megjelöli az első képet és eltárolja, mondjuk pic1 nevű változóként, és ugyanezt megcsinálni B1-pic2, C1-pic3 stb is.
A cellák neve ne tévesszen meg senkit, azt csak példaként írtam, sajnos a vaóságban nem minden kép van rendesen beillesztve egy adott cellába.A szöveges részeket már megoldottam, a loop kész van, ami az összes lapon végigmegy, csak a képek másolását kellene valahogy belefoglalni még.
Örömmel olvasnék néhány tanácsot, hogyan keydjek neki
Előre is köszönöm
-
Tigerclaw
nagyúr
válasz
Fferi50 #52843 üzenetére
Talán az ingyenes webes verzió teljesen más. Nálam mikor megnyitja a helyi gép-onedrive kombót, csak olyan fájl opció van, hogy "egyéni fájlok" és "minden fájl". Az "egyéni fájl" a default opció, de azzal semmilyen fájlt nem mutat, csak könyvtárakat. Lehet hogy ez valami OneDrive jellegzetesség.
-
Tigerclaw
nagyúr
válasz
Fferi50 #52843 üzenetére
A fájl megnyitásnál csak a legutóbb megnyitottakat ajánlja fel, vagy a fájlok megnyitása az eszközről, ahol meg is tudom keresni a txt fájlt, de akkor irja a lenti hibaüzenetet. Van még egy "további fájlok megtekintése" opcio a legutobb megnyitottak alatt, de az "fájl nem található" hibára fut valamilyen sharepoint foundation szolgáltatással kapcsolatban.
Ezek szerint jobb a standalone Office 2021, az elofizetős 365 helyett. Még jó hogy van ilyen ingyenes 365 webes verzió... mármint nekem, mert nekik ez nem túl jó promo.
Néztem helpet is, az onedrive-ot javasol, de eleve onedrive-on van a fájl. Ott meg megnyitja de csak mint txt fájl. Nincs olyan opció, hogy excel nyissa meg.
-
Tigerclaw
nagyúr
Az ingyenes office 365 webes excel meg tudja nyitni konvertálálásra a txt fájlokat valahogy? Nálam azt irja:
"Nem sikerült feltölteni a fájlt, mert a file tipusa nem támogatott."
-
oke
senior tag
Köszi, próbáltam értelmezni, de nem nagyon ment, viszont találtam egy ilyet, úgy tűnik egyelőre, hogy jó lehet:
=KERES(2;1/(elöző!A:A=A2)/(elöző!L:L=L2);(elöző!D:D))
Illetve van egy Index függvényes, azt még nem alakítottam át a saját tábláimra:
=INDEX($C$7:$C$22;HOL.VAN(1;($A$7:$A$22=G7)*($B$7:$B$22=H7);0))
-
Fferi50
Topikgazda
válasz
föccer #52838 üzenetére
Szia!
Teljesen jól érted. Először meg kell hívni paraméteresen, utána paraméter nélkül. Ha nem talál fájlt, akkor üres stringet ad vissza - a paraméteres meghívásnál is.
Amikor ismét paraméteresen hívod meg, akkor ismét az első találattól indul, tehát ha a következő meghívás ugyanazzal a paraméterrel történik, akkor ismét az első találatot adja vissza.
Üdv. -
Silious
tag
Sziasztok!
Office 2021 és Win11 alatt azt hogy tudom beállítani, hogy ha a tálcán van mondjuk az excel ikonja, és jobb klikkelek rá, akkor a korábbi megnyitott fájlok, és a kedvencként megjelöltek ott megjelenjenek?
Most lett újra rakva a gép, és sehogyse tudok rájönni. -
föccer
nagyúr
válasz
Fferi50 #52837 üzenetére
Jól olvasom, hogy a DIR() a megadott könyvátrból sorba kilistázza a a fájlok neveit, mindig egyet, és mindig amikor meghívod (paraméter nélkül), akkor a következőt fogja megadni, és ha végig ért a listán, akkor egy üres stringet ad vissza? Hogyan lehet "üríteni" a listáját, hogy kezdje újra? Simán újra meghívom paraméteresen?
üdv, FG
-
Fferi50
Topikgazda
válasz
Csabex #52836 üzenetére
Szia!
Majdnem.
A műveletek "álnév" alatt értem az általad végzendő műveleteket, kb. akkor így lehetne:Sub Masolas()
' Feltétel: A forrás munkafüzet legyen nyitva, mielőtt a makrót elindítod
Dim fnev As String
fnev = Dir("F:\123\*.xlsx")
Do While fnev <> ""
Workbooks.Open "F:\123\" & fnev
With ActiveWorkbook ' mivel az éppen megnyitott munkafüzet lesz aktív
.Sheets(1).Range("D4").Value = Sheets("Seged").Range("D1").Value 'a Sheets(1) helyett írhatod a Sheets("név") formát, ahol a név a munkalap neve
.Sheets(1).Range("E4").Value = Sheets("Seged").Range("D2").Value
End With
Workbooks(fnev).Close SaveChanges:=True 'a változás után bezárjuk a munkafüzetet
fnev = Dir()
Loop
MsgBox "Kész."
End Sub
Továbbá a For ciklusra sincs szükség, hiszen a neveket a Dir parancs adja vissza..
Üdv. -
válasz
Fferi50 #52829 üzenetére
Szia,
Köszi a segítséget
Akkor így nézne ki teljes egészében ?fnev=dir("F:\123\*.xlsx")
do while fnev<>""
műveletek
fnev=dir()
loop
Sub Masolas()
Dim i As Integer
Dim Cel_Ws As String
Cel_Ws = "CélMunkafüzetNeve"
For i = 1 To Sheets("Seged").Range("D3").Value
Workbooks(Sheets("Seged").Cells(i, 1).Value).Sheets(Cel_Ws).Range("D4").Value = Sheets("Seged").Range("D1").Value
Workbooks(Sheets("Seged").Cells(i, 1).Value).Sheets(Cel_Ws).Range("E4").Value = Sheets("Seged").Range("D2").Value
Next
MsgBox "Kész."
End Sub#52830 Fferi50
Köszönöm, ez is jónak tűnik, de amit belinkelt Delila az nagyon jó.#52832 Delila_1
Nagyon szépen köszönöm, ez óriási segítség, csak be kell helyettesítenem és átmásolnom mindenestől. Hálás köszönet még1x -
-
oke
senior tag
Fkeresben szeretném a segítségeteket kérni. Van két táblám, aminél "A" oszlop alapján hozok át megjegyzéseket, adatokat több oszlopba is. Kiderült, hogy az "A" oszlop azonosítás nem elég, mert lehet több is belőle, ezért valami olyan megoldás kellene, hogy az "A" és a "B" oszlopot együtt figyelje mindkét táblában és ennek megfelelően hozzá át az ode tartozó adatot. El akarnám kerülni, hogy külön oszlopba összefűzzem ezeket, mert akkor a másik táblában is ezt mindig meg kellene tenni.
-
Fferi50
Topikgazda
válasz
Csabex #52825 üzenetére
Szia!
A második kérdésedre egy ötlet - bár nem legördülő menü...
Beszúrsz ActiveX parancsgombokat, amiknek a jobb egérgomb - tulajdonságok menüpontban megjelenő Properties ablakában megkeresed a Picture tulajdonságot, ide bemásolod a megfelelő logot. A parancsgomb(ok)hoz hozzárendeled a szükséges makró(ka)t.
Igaz, ebben az esetben egy oszlopra/sorra szükséged van a parancsgombok elhelyezésére, de talán nem zavar túlságosan.
Másik megoldási lehetőség, hogy a Ribbonra kitehetsz saját Menücsoportokat, amelyben lehet legördülő ikonokat is definiálni. Ehhez szükség van egy szerkesztőre pl. Office RibbonX Editorra. Ha gondolod, privátban tudok valamennyi segítséget adni hozzá hétvége felé.
Üdv. -
föccer
nagyúr
válasz
Csabex #52827 üzenetére
A második az nekem fekete lyuk. Régen néztem ezt és elvileg combobox-al meg lehet csinálni, de azt még nem néztem meg sosem, hogy hogyan kell megcsinálni.
Meg lehet csinálni azt is, hogy egy megadott könyvtárban lévő összes fájlt szépen megnyitja és menti, de azt így fejből nem tudom beírni. Egy fájlrendszer objektumot kell definiálni és azzal megoldható.
-
válasz
föccer #52826 üzenetére
Köszi a gyors választ
Ezt meg tudnám úgy csinálni, hogy ne keljen munkafüzet neveket megadnom, hanem tegyük fel, hogy az F:\123\ mappából az összes fájlt (talán .*xlsx ) nyissa meg és hajtsa végre a módosítást ugyanazokon a cellákon? Munkalap nevek ugyanazok mindenhol, csak a munkafüzet, vagyis fájlnevek változnak.
A másodikra nincs tipped? -
föccer
nagyúr
válasz
Csabex #52825 üzenetére
LEgyen egy seged munkalapon A1-től A16-ig felsorola a munkafüzetek nevei, B1-től B16-ig a munkafüzetek nevei. D1-be a D4 cellába bekerülő, D2-be az E4-be bekerülő. D3-ba =darab2(A:A)
Rakj ki egy gombot a fejlesztőeszközök menüből, amire a megírt makrót fogod rakni.
Sub Masolas()
Dim i As Integer
For i = 1 To Sheets("Seged").Range("D3").Value
Workbooks(Sheets("Seged").Cells(i, 1).Value).Sheets(Sheets("Seged").Cells(i, 2).Value).Range("D4").Value = Sheets("Seged").Range("D1").Value
Workbooks(Sheets("Seged").Cells(i, 1).Value).Sheets(Sheets("Seged").Cells(i, 2).Value).Range("E4").Value = Sheets("Seged").Range("D2").Value
Next
MsgBox "Kész."
End Sub
Ha ugyan az a munkalap néven van az összes munkafüzetben, akkor lehet egyszerűsíteni, hogy nem hazsnálod a Seged B oszlopát. Akkor így módosul:
Sub Masolas()
Dim i As Integer
Dim Cel_Ws As String
Cel_Ws = "CélMunkafüzetNeve"
For i = 1 To Sheets("Seged").Range("D3").Value
Workbooks(Sheets("Seged").Cells(i, 1).Value).Sheets(Cel_Ws).Range("D4").Value = Sheets("Seged").Range("D1").Value
Workbooks(Sheets("Seged").Cells(i, 1).Value).Sheets(Cel_Ws).Range("E4").Value = Sheets("Seged").Range("D2").Value
Next
MsgBox "Kész."
End Sub
-
Sziasztok,
Excel 2019-et használok és olyat szeretnék megvalósítani, hogy megnyitok pl. 15 munkafüzetet és tegyük fel, hogy a D4 és E4 cellákba ugyanazt az adatot akarom beírni minda 15 munkafüzetben amely teljesen egyforma. Hogyan tudom ezt egyszerűen egy makróval? Előre is köszönöm a segítséget
Még egy dolog eszembe jutott és ezt már régóta próbálom, de nem jöttem rá eddig hogyan csináljam, szóval legördülő menüből szeretnék képet kiválasztani (logo), de adatérvényesítésnél nem láttam olyat, hogy a kép fájlt milyen formátumban, vagy hogyan rendeljem esetleg egy cellához és akkor azt hivatkozzam be az adatsorhoz.
Legördülőből szeretnék kiválasztani autómárka logókat pontosabban. Köszönöm -
Mutt
senior tag
-
Fferi50
Topikgazda
válasz
hódmaci #52818 üzenetére
Szia!
Próbáld ki lsz. ezt a képletet:=INDEX(C1:C20;NAGY((C1:C20<>"")*SOR(C1:C20);2);1)
A C20 helyett az általad használt utolsó cellát írd be, megfelelő ráhagyás mellett. Nem javaslom a teljes oszlop beírását a képletbe, mert az nagyon meglassítja a számolást.
Ez egy tömbképlet, ezért korábbi Excelekben Shift+Ctrl + Enter kombóval kell lezárni. Az újabb Excelek már maguktól tudják ezt.
A NAGY függvény 2. paraméterével nemcsak az utolsó előttit, hanem bármelyiket megkaphatod.
Üdv. -
hódmaci
senior tag
Sziasztok!
Hogyan tudom megkeresni az adott oszlop utolsó előtti bejegyzését?
Az utolsót az tudom, =KERES függvénnyel sikerült, de az utolsó előttinek mi a módja?
Illetve hagyja figyelmen kívül az üres részeket. -
RAiN91
őstag
Még annyit szeretnék beállítani, hogy az azonos "Id"-val rendelkező sorokban a rangsorban pl. az 1. és 2. sorok értékei össze legyenek hasonlítva. Pl. HA 2. rangsor értéke > 1. rangsor értéke *2, akkor legyen egy IGEN eredménye. Ez már komplexebb és nem lehet soronként vizsgálni?
-
Delila_1
veterán
válasz
Man0gatya #52814 üzenetére
Vegyük, hogy a lapjaid Munka1 és Munka2 névre hallgatnak, és mindegyiken az A oszlopban vannak az összehasonlítandó értékek.
A Munka1 A oszlopára a feltételes formázás képlete=DARABHA(Munka2!A:A;A1)=0
,
a Munka2 lapon pedig=DARABHA(Munka1!A:A;A1)=0
Régebbi verziónál a DARABHA helyett DARABTELI a függvény neve. -
Man0gatya
aktív tag
sziasztok lenne egy olyan problémám, hogy van két fül, ott van x adat ami fix mind a két fülön meg y adat az egyiken meg z a másikon hogy tudom azt összehozni egy táblába a y és a z adatot
-
bozsozso
őstag
Sziasztok,
Azt valahogy be lehet állítani egy kimutatásnál, hogy részösszegenként külön lapra nyomtasson?
Előre is köszönöm a válaszokat.
-
ny.janos
tag
Szia Mutt!
Nos mivel annyira közel sem vagyok otthon a PQ-ben, mint te magad, ezért végül kerülő megoldásként azt csináltam, hogy mind a jobban, mind a gyengébben teljesítő játékosok eredményét betöltöttem munkalapra, majd onnan újra beolvastam. Így sikerült elérnem azt, amit te sokkal egyszerűbb és nagyszerűbb módon oldottál meg. Le is fogom cserélni a bonyolult és időigényesebb megoldást az általad javasoltra.Nagyon köszönöm, hogy foglalkoztál a felvetésemmel, érdemes lesz megjegyeznem a módszert. Az M kódot külön köszönöm, anélkül nem fogtam fel, hogy miről írtál, de azzal igen.
Sokáig azt hittem, hogy tuti én rontottam el valamit, de ezúttal megerősítést kaptam tőled, hogy nem én szerencsétlenkedtem, hanem tényleg nem várt működés lépett fel.
A legbosszantóbb az egészben, hogy van egy olyan megoldandó feladatrészem is, ahol az egymás mellett figyelembeveendő eredmény nem fix kettő versenyzőtől, hanem többtől jön össze úgy, hogy csak a kettő legjobb eredmény veendő figyelembe. Az eredeti módszerem szerint hiába távolítottam el a 2-nél nagyobb értékeket a sorba rendezés után, a kibontást követően azt a harmadik legjobb eredményt is sikerül kibontani, amit elvileg korábbi lépésben már kizártam. Szóval valami nagyon nem működik jól.
-
RAiN91
őstag
Sziasztok.
"A" oszlopban a következő értékek vannak fentről lefelé, ez egy azonosító szám:
1123, 1123, 1123, 1124, 1124"B" oszlopban pedig a következő értékek:
2,1 majd 1,5 majd 1,1 majd 3,2 majd 4,2"C" oszlopba szeretnék egy rangsort, de úgy, hogy csak az "A" oszlopban lévő értékek mellettiek legyenen egymáshoz hasonlítva. Tehát ezt az eredményt szeretném kapni: 3; 2; 1; 1; 3.
Ezt Excel képlettel hogyan lehet megoldani?
Köszönöm a segítségeteket.
-
Mutt
senior tag
válasz
ny.janos #52804 üzenetére
Szia,
..fogalmam nincs, hogy miért csinálja azt, amit.
Én sem tudom megmondani, hogy miért csinálja a kibontásnál az átrendezést.Amit én javaslok, hogy a csoportositás után egyből nyerd ki a nyertes és vesztes adatait közvetlen hivatkozással. A tábla első sorára, ahol a nyertes van, [Páros]{0}-val, a vesztesre pedig [Páros]{1}-el tudsz hivatkozni. Oszlopnév megadással mélyebbre tudsz menni, pl. [Páros][Név]{0} a nyertes nevét adja.
A teljes M-kód:
let
Forrás = Excel.CurrentWorkbook(){[Name="Táblázat1"]}[Content],
#"Típus módosítva" = Table.TransformColumnTypes(Forrás,{{"Név", type text}, {"Páros sorszám", Int64.Type}, {"Teli", Int64.Type}, {"Tarolás", Int64.Type}, {"Összes", Int64.Type}, {"Üres", Int64.Type}}),
#"Sorok rendezve" = Table.Sort(#"Típus módosítva",{{"Páros sorszám", Order.Ascending}, {"Összes", Order.Descending}, {"Teli", Order.Descending}, {"Tarolás", Order.Descending}, {"Üres", Order.Ascending}}),
#"Sorok csoportosítva" = Table.Group(#"Sorok rendezve", {"Páros sorszám"}, {{"Adatok", each _, type table [Név=nullable text, Páros sorszám=nullable number, Teli=nullable number, Tarolás=nullable number, Összes=nullable number, Üres=nullable number]}}),
NyertesAdatok = Table.AddColumn(#"Sorok csoportosítva", "NyertesAdatok", each [Adatok]{0}),
VesztesAdatok = Table.AddColumn(NyertesAdatok, "VesztesAdatok", each [Adatok]{1}),
#"Kibontott NyertesAdatok" = Table.ExpandRecordColumn(VesztesAdatok, "NyertesAdatok", {"Név", "Teli", "Tarolás", "Összes", "Üres"}, {"Nyertes Név", "Nyertes Teli", "Nyertes Tarolás", "Nyertes Összes", "Nyertes Üres"}),
#"Kibontott VesztesAdatok" = Table.ExpandRecordColumn(#"Kibontott NyertesAdatok", "VesztesAdatok", {"Név", "Teli", "Tarolás", "Összes", "Üres"}, {"Vesztes Név", "Vesztes Teli", "Vesztes Tarolás", "Vesztes Összes", "Vesztes Üres"}),
#"Típus módosítva1" = Table.TransformColumnTypes(#"Kibontott VesztesAdatok",{{"Nyertes Név", type text}, {"Nyertes Teli", Int64.Type}, {"Nyertes Tarolás", Int64.Type}, {"Nyertes Összes", Int64.Type}, {"Nyertes Üres", Int64.Type}, {"Vesztes Név", type text}, {"Vesztes Teli", Int64.Type}, {"Vesztes Tarolás", Int64.Type}, {"Vesztes Összes", Int64.Type}, {"Vesztes Üres", Int64.Type}})
in
#"Típus módosítva1"üdv
-
Guitar14
senior tag
föccer, gycs2, Mutt:
Köszi mindenkinek!
Mutt megoldása lett a nyerő az egyszerűségével, könnyedén beírtam a tartományomra és az oszlopok számát.föccer: Tudom, hogy VBA-ban meg lehetne de kb. 0 VBA ismeretem van. Előbb-utóbb szeretnék ezen változtatni. Eddig két más által írt makróban sikerült 1-2 módosítást megcsinálnom de itt ki is fullad a tudásom.
-
ny.janos
tag
Sziasztok!
Power Query kérdés (MS Office Professional Plus 2019):
A feladat egy teke versenyen egy oszlopban azonos számkóddal egymáshoz rendelt párosok eredményeinek egymás mellé rendelése oly módon, hogy előbb az eredményesebb játékos eredményét, majd a kevésbé eredményes játékos gurított értékét szeretném látni. Nem tartom magam kezdőnek a PQ-ben, de fogalmam nincs, hogy miért csinálja azt, amit.A párosok összerendelése megtörtént, megvan, hogy ki az eredményesebb a másiknál. A táblaegyesítéskor még jó adatok látszanak az egyes táblákban, de kibontás után már nem mindenhol.
Nem érzem úgy, hogy én csesztem el, a PQ hibájának gondolom a dolgot, de azért gondoltam felteszem a kérdést, hátha.
Próbáltam úgy is, hogy nem egy lekérdezésben csináltam, hanem három különállóban, majd azokat egy negyedikben összesítettem, úgy sem jó az eredmény (ezért be sem fejeztem az egyesítést).Köszi, ha tud valaki segíteni.
-
Mutt
senior tag
válasz
Guitar14 #52796 üzenetére
Szia,
J-oszlop képlete:
=HA(2*SOR()<=DARAB2($A$1:$H$7);INDEX($A$1:$H$7;INT((SOR()-1)/4)+1;2*(MARADÉK(SOR()-1;4)+1));"")Ha az I-oszlop is kellene képlettel, akkor a képletben a 2*(MARADÉK(SOR()-1;4)+1) részt annyival kell módosítani, hogy 1-et ki kell vonni belőle, vagyis 2*(MARADÉK(SOR()-1;4)+1)-1
Ha esetleg lesz majd MS365-öd akkor pedig:
J-oszlop képlete. =OSZLOPHOZ(INDEX($A$1:$H$7;SORSZÁMLISTA(DARAB2(A:A));{2\4\6\8}))
I-oszlopé pedig: =OSZLOPHOZ(INDEX($A$1:$H$7;SORSZÁMLISTA(DARAB2(A:A));{1\3\5\7}))üdv
-
gycs02
tag
válasz
Fferi50 #52801 üzenetére
Szia!
Köszi! Próbálom értelmezni.
#52799Guitar14
3 részegységre emlékeztem, de átalakítható 4-re is.
Lehet nem a legprofibb megoldás, de elvileg működik.Majd a nagyok megmondják van-e buktatója.
Képlet a H1ben:
=+HA(ÉS(NINCS(FKERES(G1;A:B;2;HAMIS));NINCS(FKERES(G1;C:D;2;HAMIS)));FKERES(G1;E:F;2;HAMIS);HA(ÉS(NINCS(FKERES(G1;A:B;2;HAMIS));NINCS(FKERES(G1;E:F;2;HAMIS)));FKERES(G1;C:D;2;HAMIS);HA(ÉS(NINCS(FKERES(G1;E:F;2;HAMIS));NINCS(FKERES(G1;C:D;2;HAMIS)));FKERES(G1;A:B;2;HAMIS)))) -
Fferi50
Topikgazda
válasz
gycs02 #52792 üzenetére
Szia!
Az ActiveWorkbook mindig az éppen aktív munkafüzetet jelenti, függetlenül attól, hogy a makrót honnan indítottad, tehát folyamatosan változik a munkafüzetek változtatásával.
A ThisWorkbook pedig az a munkafüzet, amelyikből a makrót indítottad. Tehát van amikor a két objektum azonos, de több munkafüzet használata esetén általában különbözik. Pl. lehet, hogy van egy munkafüzeted, amiben csak a menük és a hozzájuk kapcsolódó makrók vannak, az adatok pedig más munkafüzet(ek)ben.
Ezért légy óvatos, a kettő nem használható csereszabatosan!
Ez alapján valószínűleg el tudod dönteni, melyik a helyes számodra.
Üdv.
Új hozzászólás Aktív témák
- Honor X6b 128GB, Kártyafüggetlen, 1 Év Garanciával
- Azonnali készpénzes Sony Playstation 5 lemezes és digitális felvásárlás személyesen/csomagküldéssel
- 123 - Lenovo Legion Pro 5 (16ARX8) - AMD Ryzen 7 7745HX, RTX 4070 - 4 év garancia (ELKELT)
- HIBÁTLAN iPhone 15 Pro 128GB Black Titanium -1 ÉV GARANCIA - Kártyafüggetlen, MS3349
- iKing.Hu - Samsung Galaxy S25 Edge Használt, újszerű állapotban 12 GB RAM / 512 GB tárhely
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest