- Honor 400 Pro - gép a képben
- Fotók, videók mobillal
- One mobilszolgáltatások
- Netfone
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Samsung Galaxy Watch7 - kötelező kör
- Milyen okostelefont vegyek?
- iPhone topik
- Motorola Razr 60 Ultra - ez a kagyló könnyen megfő
- Karaktere biztos lesz az első Nothing fejhallgatónak
-
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
föccer #51018 üzenetére
Szia!
A fileokat begyűjtő ciklus elé:On Error Resume Next
A Workbooks.Open utasítás után:
If Err=0 Then
' Ide jönnek a sikeres megnyitás utáni műveletek
a fájlbegyűjtő ciklus Next utasítása elé (ami most az utolsó sor)
Else
' Ide jön a hibakezelő 2 sorod +
Err=0
End If
A folyamat (makró) legvégén pedig On Error Goto 0 - a hibakezelés visszaadása a VBA-nak.
Üdv. -
Fferi50
Topikgazda
válasz
föccer #51010 üzenetére
Szia!
Esetleg kipróbálhatnád a következőt:
A másolandó sorok mellé teszel egy jelet (pl. x) az utolsó oszlop után.
Ezután autoszűrő a teljes tartományra - x -re.
Ezután másolás:Pl. Range($A$1:$X200).SpecialCells(xlCelltypeVisible).Copy Destination:=A célterület első cellája.
Ha esetleg így túl lassúnak találod, akkor lehet a látható tartományt területenként is másolni:Dim terulet As Range
For Each terulet In Range($A$1:$X200).SpecialCells(xlCelltypeVisible).Areas
terulet.Copy Destination:=a következő üres sor
következő üres sor meghatározása
Next
Ezután kitörlöd az x-eket és kész, vagy bezárod mentés nélkül a forrás fájlt.
Üdv. -
föccer
nagyúr
válasz
föccer #51009 üzenetére
Din tömb kérdését megoldottam. Ahol a forrás fájlban kigyűjtöm a szükséges sorokat, megfordítottam a sorrendet és vissza felé olvasom be az adatokat és előlről töltöm fel. Így a sorrend marad, de nem okoz gondot, hogy a forrás sorok végéről mindig eltünk 1-1 sor azonosító, mert mindig "előtte haladok" 1 sorral. Nem túl elegáns megoldás, de hibátlan
üdv, föcc
-
Fferi50
Topikgazda
válasz
föccer #51007 üzenetére
Szia!
Csak egy gondolat:
Amikor egy új fájlt nyitsz meg, akkor az lesz az aktuális munkafüzet. Mivel azt írod, hogy egymás után több fájlt is nyitsz, nagy eséllyel nem a cél fájlod az aktív workbook amikor ehhez a sorhoz ér a makró.
Nézd meg, hogy a hibaüzenet esetében melyik munkafüzet aktív.
Mivel a Gyujtott_mintavetelek munkalap előtt nem írsz munkafüzet nevet, így azt az aktuális munkafüzetben keresi - de mivel az aktív munkafüzet az éppen megnyitott forrás fájl, persze nem találja.
Megoldás: a forrás fájl megnyitása után aktíváld ismét a cél fájlt - vagy a munkalapnál használj teljes nevet.
Célszerűnek találnám, ha változóba tennéd a cél munkafüzetet és akkor egyszerűbb lenne a hivatkozás rá:
Mielőtt megnyitnád az első forrás fájlt:dim celwsh as Worksheet
set celwsh=Sheets("Gyujtott_mintavetelek")
'A mutatott sor pedig:
celwsh.Range(celwsh.Cells(Gyujtott_minta_darab + 2, 1), celwsh.Cells(Gyujtott_minta_darab + 2, 20)).Value
Ebben az esetben nem szükséges aktívvá tenni a cél munkafüzetet, mivel a változó tartalmazza a szükséges információkat.
Egyébként egy területet egyben is átmásolhatsz, nem kell soronként menni.
A forrás munkafüzetet is egyszerűbben tudod kezelni, ha változóba teszed a fájl megnyitása után. Egyszerűbb a kód írás is.
Üdv. -
Mutt
senior tag
válasz
föccer #50989 üzenetére
Szia,
EGYEDI helyett régebben tömb-függvényt kellett használni. Illetve egy rejtett fülön egy Kimutatás is használható rá.
SORBA.RENDEZ helyett DARABTELI vagy ÖSSZESÍT/SZORZATÖSSZEG.
SZŰRŐ a legnehezebb de SZUMHA/ÖSSZESÍT/SZORZATÖSSZEG és INDEX. Vagy egy Kimutatás és Szeletelő (Slicer)
Mivel az újabb függvényeket a régi Excel nem tudja értelmezni, ezért mentéssel nem lehet a problémát megoldani. A képleteket kell átdolgozni, hogy a régi rendszer megértese a kérést.
Mellesleg Power Query Excel 2010-hez telepíthető és már a korai változatok is tudták az általad említett dolgokat. Persze továbbra is nem real-time mint egy függvény.
üdv
-
Fferi50
Topikgazda
válasz
föccer #50967 üzenetére
Szia!
Akkor próbáld ki még a következőt:Dim a() 'persze ezt csak egyszer kell és a cikluson kívül
a = Sheets("Minta_NY").Range(Sheets("Minta_NY").Cells(5, 1), Sheets("Minta_NY").Cells(Mintak_szama + 4, 34)).Value
Sheets("MINTA_OSSZES").Range(Sheets("MINTA_OSSZES").Cells(Sheets("Mintavetelek_segedszamitas").Range("G2").Value + 1, 1), Sheets("MINTA_OSSZES").Cells(Mintak_szama + 4, 34)).Value = a
Vagyis a tartományt egy tömbbe olvassuk be és a tömböt írjuk ki.
Üdv. -
Fferi50
Topikgazda
válasz
föccer #50963 üzenetére
Szia!
A két for ciklus helyett kipróbálhatnád ezt:
Sheets("MINTA_OSSZES").Range(Sheets("MINTA_OSSZES").Cells(Sheets("Mintavetelek_segedszamitas").Range("G2").Value + 1, 1), Sheets("MINTA_OSSZES").Cells(Mintak_szama + 4, 34)).Value = Sheets("Minta_NY").Range(Sheets("Minta_NY").Cells(5, 1), Sheets("Minta_NY").Cells(Mintak_szama + 4, 34)).Value
Persze a tartomány címeket azért ellenőrizd le légy szíves.
Üdv. -
Fferi50
Topikgazda
válasz
föccer #50963 üzenetére
Szia!
Nem írtad, hogy az Application.ScreenUpdating milyen állapotban van. Ez szabályozza ugyanis a cellák módosításának kiírását a képernyőre. Figyelembe véve a számítások mennyiségét, a képernyő frissítés biztosan elég sok időt vesz igénybe.
Továbbá nem egészen értem miért kell - ráadásul kettő - ciklus az adatok átmásolásához, hiszen ismered a tartomány címét. (Sorok száma=minták száma, oszlopok száma 34). Tehát egyben is átmásolható szerintem.
Üdv. -
Fferi50
Topikgazda
válasz
föccer #50961 üzenetére
Szia!
Csak ötletek:
Az automatikus számolás kikapcsolása:
Application.Calculation=xlCalculationManual
Visszakapcsolás a végén:
Application.Calculation=xlCalculationAutomatic
Képernyő frissítés kikapcsolása:
Application.ScreenUpdating=False
Visszakapcsolás:
Application.ScreenUpdating=True
A StatusBar frissítéshez be kell tenni egy DoEvents utasítást, mielőtt módosítod a szövegét.
Esetleg szűrő bekapcsolással elrejteni azokat a sorokat, amelyeket nem kell másolni, majd a látható cellákat másolni.
A leggyorsabb egyébként szerintem a tartomány begyűjtése egy tömbbe, majd a tömb kiírása a célterületre. (Pl. Dim a() As Variant: a=Range("A1 : C4").Value : kapsz egy 3x4-es tömböt, ezek értékeit írhatod be a célcellába - tehát egyenként vizsgálható, hogy ki kell-e írni vagy sem.) Mivel a tömb a memóriában van, a vizsgálat is nagyon gyors. A legtöbb időt a kiírás igényli, de ez sem kibírhatatlan.
Esetleg megmutatnád a másoló makródat, hátha abból is lehet ötletet kapni.
Üdv. -
Fferi50
Topikgazda
válasz
föccer #50884 üzenetére
Szia!
"Arra gondoltam, hogy az elsődleges tengely folytonos vonalára rápöttyözöm, viszont így elveszik az érték jelölése, hogy az adott naphoz mekkora érték tartozik."
Miért veszne el? Az adott ponthoz megjeleníted az adatfeliratot. Ez több pozícióban is lehet a ponthoz képest, biztosan találsz egy látható pozíciót.
Üdv. -
Fferi50
Topikgazda
válasz
föccer #50874 üzenetére
Szia!
A beállítások - speciális menüpontban beállíthatod, hogy az autoszűrőben a dátumokat csoportosítva mutassa. Így év - hónap csoportosítás alapján választhatsz a szűrőtételek között.
Nálam így jelenik megy az autoszűrő:
Ez segíthet esetleg neked is.
Üdv.
Ps. A szín szerinti szűrés csíkja ne tévesszen meg, nem az van beállítva. -
Fferi50
Topikgazda
válasz
föccer #50872 üzenetére
Szia!
Remélem mentésed van a régi adatokkal.
Az Excel táblázatként kezeli (gondolom fejlécekkel) vagy sima tartomány?
Megpróbálnám a következőt:
Autoszűrő kikapcsolása
A teljes adatállomány kijelölése - majd autoszűrő bekapcsolása.
Ha így sem látszanak a 2023-as adatok a szűrővel, akkor mégis inkább az adat formátummal lehet baj. Ebben az esetben nézd meg, hogy egy ilyen adatot tartalmazó cella formátumát számmá alakítva megváltozik-e a tartalma. Ha nem, akkor bizony nem dátum van benne hanem szöveg.
Látatlanban ennyi.
Üdv. -
szürke
tag
válasz
föccer #50852 üzenetére
Ha egy név kezdőbetűit adom meg akkor kétszer kapom vissza az eredményt ( Gipsz Jakab / Gipsz Jakab), ha viszont két név kezdőbetűit adom meg ilyen formában "GJ/MCs" akkor ezt kapom vissza:
#HIÁNYZIKÍgy néz ki amit beirtam:
=FKERES(C6,A6: B17,2,HAMIS)&" / "&FKERES(C6,A6: B17,2,HAMIS)Hol rontom el?
-
Mutt
senior tag
válasz
föccer #50742 üzenetére
Szia,
{1,3} angol Excelben, magyarban helyesen {1\3}.
Vagy a mintádat nézve, a végén a DARAB2 helyett ez kell: SORSZÁMLISTA(;DARAB2(A1:K1)
Fontos, hogy a sorszámlista első paramétere üres, a másodikba kell a DARAB2, hogy egy oszlop elrendezésű tömbbe kapjuk meg a sorszámokat.A képletedben a SORSZÁMLISTA és DARAB2 közé kell még egy zárójel, ezért kapsz rossz eredményt.
Ez lenne a helyes:
=INDEX(SORBA.RENDEZ(SZŰRŐ(A1:K28;D1:D28=N16);3);SORSZÁMLISTA(MIN(N17;DARABHA(D1:D28;"="&N16)));SORSZÁMLISTA(;DARAB2(A1:K1)))Az INDEX-et a kapcsos zárójelek közötti értékkel vesszük rá, hogy több eredményt adjon vissza és mivel Microsoft365-ön vagy az eredmények "átfolynak" (spill) a szomszédos cellákba. (Ha nem 365-ön lennél (talán Office2021 is menne még), akkor viszont máshogy kellene csinálni.)
üdv
-
Mutt
senior tag
válasz
föccer #50735 üzenetére
Szia,
Használd az INDEX függvényt és ott a sor értéknek add meg, hogy {1;2;3...} vagy mutatok egy automatikus
megoldást:A képlet :
=INDEX(SORBA.RENDEZ(SZŰRŐ(A1:C23;B1:B23=1);3);SORSZÁMLISTA(MIN(5;DARABTELI(B:B;1)));{1;3})Hogyan műkődik:
1. SZŰRŐ(A1:C23;B1:B23=1) -el szűrők arra ahol B = 1 (sárga sorok)
2. sorbarendezem a C oszlop alapján, SORBA.RENDEZ(<előbbi lépés>;3)
3. Létrehozok egy számlistát annak megfelelően hogy maximum hány találatom lehet (ez a 3 sárga sor), de azt sem akarom hogy sokat legyen az eredmény ezért maximálom 5-ben.
4. Az INDEX utolsó paraméterének {1,3}-at adva pedig elrejtem a második oszlopot.üdv
-
Agostino
addikt
válasz
föccer #50724 üzenetére
adattábla szinten nem látok ilyen opciót, maximum színezhetem meg ilyesmi. kicsit nekem az az érzésem, hogy a hivatkozások -> csatolások kezelése okoz valami gondot. ha bezárom elveszik a formázás, ha visszanyitom visszaugrik a formázás. nem volt egyébként nekem ezzel gondom régebben, lehet valami házirend változott idebent.
-
sztanozs
veterán
-
Mutt
senior tag
válasz
föccer #50338 üzenetére
Szia,
Az Excel akkor frissíti a függvények értékét, ha a függvényben használt paraméterek/változók megváltoznak. A munkalapon a függvényt paraméterek nélkül használod, így nem gondolja hogy frissíteni kellene az eredményt (az pedig hogy F9-re sem frissít az talán feature, ami 30 év után már nem lesz megoldva).
A megoldás, hogy belecsempésszük a képletbe a forrás cellág, G15-ben ezel a képlettel =HA(ÜRES(C3);Elso_halmaz_feltetele;Elso_halmaz_feltetele) már frissülnie kell az eredménynek.
Másik megoldás, hogy a névkezelőben módosítod az eredeit képletet erre.
=HA(MA();KIÉRTÉKEL(Feltételek!G12);KIÉRTÉKEL(Feltételek!G12))Itt trükk, hogy a MA egy olyan függvény amely minden cella módosításakor frissül, ezért rántja magával a képlet újraszámolását.
üdv
-
Mutt
senior tag
válasz
föccer #50334 üzenetére
Szia,
Arégi Excel4-es makró függvények munkalapon relatív hivatkozásokat használnak. Feri mintjáján F1-ben van az SZAMOL függvény, amitől balra 3 cellával (C1-ben) van képlet szöveges változata.
Ha te F2-ben próbálod meg használni, akkor addig nem fog működni amíg a cellától balra 3-al nem adsz meg képletet kiértékeléshez.Az 50302-ben feltett kérdésben próbálunk meg segíteni, de amit eddig írtál nekem is kínai. Ha akarsz/tudsz példát mutatni, akkor talán tudunk segíteni. PowerPivot nem megoldás, Power Query-t is kétlem mivel egy sort több "halmazba" nem lehet rendelni. Szerintem Python szkripttel, ha a VBA felejtős, lehetne megoldani a dolgot.
üdv
-
Fferi50
Topikgazda
válasz
föccer #50331 üzenetére
Szia!
Még az ősidőkből van egy KIÉRTÉKEL nevű függvény (amikor még makrólapot használtunk).
Ezt a függvényt most is lehet használni egy pici trükkel:
A függvényt a névkezelőben névvel kell ellátni.
A hivatkozásban pedig =KIÉRTÉKEL(A1) => A1 cella, amiben a kiértékelendő képlet van SZÖVEGKÉNT . A cella hivatkozást annak megfelelően kell megadnod, ahogy a képletet szeretnéd mozgatni -> rögzítheted a sort / oszlopot vagy mindkettőt, illetve hagyhatod $ nélkül. Ezután a függvény hivatkozása egyszerűen a célcellában: =névkezelőben adott név.
Arra figyelj, hogy amikor a nevet megadod, az a cella legyen kiválasztva, amelyikbe a számolás eredményét szeretnéd megkapni. Utána a névvel hivatkozva mozog a képlet az előzőek szerint.Üdv.
-
Fferi50
Topikgazda
válasz
föccer #50310 üzenetére
Szia!
Kicsit(?) analfabéta lettem (nem most, már korábban).
Mutatnál egy konkrét receptet, mi a tartalma? (nem konkrét összetevővel, csak a struktúrát)
Milyen alapon kerül bele egy recept egy részhalmazba? Milyen összetevőjét vagy szabályát nézzük?
Üdv.
Ps. Nem szeretnék többletmunkát okozni neked, ha úgy érzed rossz irányba megy a beszélgetés jelezd légy szíves. -
Fferi50
Topikgazda
válasz
föccer #50308 üzenetére
Szia!
Makró megírásban tudok segíteni.
Ilyen összetettebb lekérdezéshez érdemes lenne megnézned az Adatok - Speciális (lánykori nevén Irányított szűrő) lehetőségeit. Itt lehet És továbbá Vagy feltételeket is kombinálni és új helyre áttenni a szűrés eredményét.
A szoftver tervezőnek mi a dolga?
Adatbázis kezelő nem jobb lenne erre a feladatra? Ott általában "pikk-pakk" lehet saját lekérdezéseket előállítani.
Üdv. -
Fferi50
Topikgazda
válasz
föccer #50302 üzenetére
Szia!
"makró nagyon lassan megy, azért kerülném"
A makró létrehozása megy lassan vagy a futása? Ha utóbbi, mekkora az adathalmazod, amin dolgozni kell?
Ha mindenképpen makró nélkül szeretnéd megoldani, akkor szerintem érdemes a PowerPivot lehetőségeiben körülnézni. Mutt topiktárs szerintem biztosan tudna segíteni a PP kapcsán.
Üdv. -
JozsBiker
aktív tag
válasz
föccer #49789 üzenetére
Az addig rendben, viszont a rendezésnél nem tudtam rávenni hogy mind a két "térfelet" rendezze.
Közben kisérletezgettem és azt találtam, hogy a H1 cella okozza a problémát. Látszólag üres, de ha írok bele valamit, mondjuk egy X -et, onnantól megszűnik a probléma és újra normálisan egy egészként kezeli az Excel a táblázatot. Talán valami vezérlő karakter lehet(ett) benne.
-
válasz
föccer #49695 üzenetére
Az Excel jellemzői és korlátai
mint láthatod, van "egy pár" korlát, de elsőre -mivel nekiálltál szűrözni- talán az lehet a gond, hogy egy adott szűrő több, mint 10000 sort jelenítene meg... -
fjns
lelkes újonc
válasz
föccer #49691 üzenetére
Ez a válasz kissé hosszabb lesz...
Az éjjeli mondatba egy hibás szó került. A javított információ: a szóban forgó összeadás két argumentuma olyan logikai kifejezések, amelyek kizárják egymást. Ez azért egyértelmű, mert az SL-lel, illetve a GN-nel kezdődő bizonylatszámok halmazai diszjunktak.Matematikai tanulmányainkból tudjuk, hogy a számok világából a 0, a halmazok között az üres halmaz és a logikai HAMIS érték komoly rokonságban vannak egymással. Ugyanez teljesül az 1-re, egy bizonyos problémában az összes elemet tartalmazó alaphalmazra és a logikai IGAZ értékre, továbbá a műveletek között az összeadásra, a halmazelméleti unióra és a logikai VAGY-ra, illetve a szorzásra, a metszetre és az ÉS-re. Az Excelt szerencsére úgy fejlesztették, hogy ez a szinkron egy az egyben megtalálható benne. Tulajdonképpen a kérdésedre még akkor is igen a válasz, ha egy problémában olyan feltételeket vizsgálunk, amelyekhez tartozó logikai kifejezések nem kizáróak egymásra nézve.
Ennek megmutatásához linkelek egy táblázatot, amelyben az eredetinél sokkal kisebb tartományban (E2:M10) vizsgálódunk. Megnézzük az eredeti két szűrőfeltételedet, illetve úgy is megnézzük a problémát, hogy a második szűrőfeltételt módosítjuk, amihez még az elnevezéseket is megváltoztatjuk. Az SL-lel kezdődő bizonylatok halmazát hívjuk Halmaz1-nek, az S-sel kezdődőek halmazát pedig Halmaz2-nek. Nyilvánvaló, hogy Halmaz1 részhalmaza Halmaz2-nek. A módosított problémában a B6 cellában "Halmaz1", "Halmaz2", "Mindkettő" közül lehet választani. Itt a második szűrőfeltétel pedig a kezelo munkalap G oszlopában az SL-lel kezdődő ("Halmaz1" választás esetén), az S-sel kezdődő ("Halmaz2" választás esetén) bizonylatokra szűr, illetve mindkettőt megjeleníti ("Mindkettő" választás esetén), ami a Halmaz1-nél bővebb Halmaz2 elemeit jelenti. Az is nyilvánvaló, hogy a módosított második szűrőfeltételhez tartozó két logikai kifejezés ((BAL(kezelo!G2:G10;2)="SL") és (BAL(kezelo!G2:G10;1)="S")) nem kizáróak egymásra nézve.
A #49690-ben szereplő képlet (nevezzük ezt K1-nek) az E2:M10 tartományhoz:
=SZŰRŐ(kezelo!E2:M10;HA(B2="";kezelo!G2:G10<>"";kezelo!G2:G10=B2)*HA(B6="";kezelo!G2:G10<>"";HA(B6="Szállítólevél";BAL(kezelo!G2:G10;2)="SL";HA(B6="Pumpajegy";BAL(kezelo!G2:G10;2)="GN";(BAL(kezelo!G2:G10;2)="SL")+(BAL(kezelo!G2:G10;2)="GN")))))A K1 alapján tekintsünk még 3 képletet az említett szinkron megjelenítéséhez:
K2: =BAL(kezelo!G2:G10;2)="SL"
K3: =BAL(kezelo!G2:G10;2)="GN"
K4: =(BAL(kezelo!G2:G10;2)="SL")+(BAL(kezelo!G2:G10;2)="GN")
Ezeket a képleteket is értékül adjuk 3 cellának a táblázatban. Látható, hogy a K2 és a K3 eredménye olyan tömbök, amelyeknek elemei logikai értékek, illetve a K4 eredménye olyan tömb, amelynek elemei számok, mégpedig 0 vagy 1 az említett kizáró tulajdonság miatt.A módosított problémához tartozó képletek:
K1M:
=SZŰRŐ(kezelo!E2:M10;HA(B2="";kezelo!G2:G10<>"";kezelo!G2:G10=B2)*HA(B6="";kezelo!G2:G10<>"";HA(B6="Halmaz1";BAL(kezelo!G2:G10;2)="SL";HA(B6="Halmaz2";BAL(kezelo!G2:G10;1)="S";(BAL(kezelo!G2:G10;2)="SL")+(BAL(kezelo!G2:G10;1)="S")))))
K2M: =BAL(kezelo!G2:G10;2)="SL" (K2M megegyezik K2-vel)
K3M: =BAL(kezelo!G2:G10;1)="S"
K4M: =(BAL(kezelo!G2:G10;2)="SL")+(BAL(kezelo!G2:G10;1)="S")
Ebben az esetben a K4M eredménye olyan számokból álló tömb, amelyben 1-nél nagyobb értékű cellák is előfordulnak a módosításban említett nem kizáró tulajdonság miatt, és az Excel SZŰRŐ függvénye ezeket ugyanúgy kezeli, mint a kizáró esetben az 1 értékű cellákat.A linkelt táblázat munkalapjai:
kezelo, biz, halm: (Ezek tartalma egyértelmű.)
w1: az eredeti első szűrőfeltételhez
w2: az eredeti második szűrőfeltételhez
w3: az eredeti két szűrőfeltétel együttes kezeléséhez
w3plusz: K2 képlet az A2, K3 a B2, K4 a C2 cellában
w2M: a módosított második szűrőfeltételhez
w3M: az eredeti első és a módosított második szűrőfeltétel együttes kezeléséhez
w3Mplusz: K2M képlet az A2, K3M a B2, K4M a C2 cellában -
fjns
lelkes újonc
válasz
föccer #49689 üzenetére
Szia, segédoszlop felvétele nélkül is megoldható a két feltétel kezelése egy képlettel:
=SZŰRŐ(kezelo!E2:M100000;HA(B2="";kezelo!G2:G100000<>"";kezelo!G2:G100000=B2)*HA(B6="";kezelo!G2:G100000<>"";HA(B6="Szállítólevél";BAL(kezelo!G2:G100000;2)="SL";HA(B6="Pumpajegy";BAL(kezelo!G2:G100000;2)="GN";(BAL(kezelo!G2:G100000;2)="SL")+(BAL(kezelo!G2:G100000;2)="GN")))))
Üdv, János -
föccer
nagyúr
válasz
föccer #49685 üzenetére
Sziasztok!
Most már tudom, hogy a SZŰRŐ-vel nem csak a szűrési tömbbön belül lehet feltételeket választani, így már pofon egyszerű volt a megoldás. Felvettem egy segéd oszlopot ami tartalmazta minden egyes sorra a kezdő 2 karaktert és ráállítottam egy új feltételt. Woilá.
üdv, föccer
-
Fferi50
Topikgazda
válasz
föccer #49663 üzenetére
Szia!
Szerintem nézd meg az [Application.AfterCalculate eseményt]
A tartomány méretét a (magyar) Eltolás és Darab2 függvények használatával lehet dinamikusan állítani, így mindig csak a tényleges adatot tartalmazó -összefüggő- cellákat fogja tartalmazni. Ez a képlet névként is definiálható. Pl.=eltolás($A$1;0;0;Darab2(A1:A200);1)
mindig az A oszlop első nem üres celláját fogja tartalmazni.
Üdv. -
föccer
nagyúr
válasz
föccer #49663 üzenetére
Jah, még annyi, hogy a regiok és az uzem_felosztas az hosszabb tartományt jelöl, mint amibe adatok van, hogy később esetleg bővíteni lehessen a listát, így lehet azt is figyelni kell, hogy ha a következő cellában üresség van, akkor le lehet állítani a ciklust.
köszönettel
-
Delila_1
veterán
válasz
föccer #49523 üzenetére
Makrós megoldást tudok, a ThisWorkbook laphoz kell rendelned. A G1 helyett azt a cellát add meg, ahova a felhasználó nevét szeretnéd biggyeszteni.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim v
Set v = ActiveWorkbook.BuiltinDocumentProperties
ActiveSheet.Range("G1") = v(3)
End SubAz
ActiveSheet.Range("G1") = v(3)
helyett megadhatod, hogy az élőfejben legyen a felhasználó neve, itt a jobb szélen.ActiveSheet.PageSetup.RightHeader = "Felhasználó: " & v(3)
-
Fferi50
Topikgazda
válasz
föccer #49353 üzenetére
Szia!
Nem tudom, milyen formátumban kapod az adatokat. De ha text, akkor textként beolvasva megadhatod, hogy milyen legyen az adat formátuma, illetve ha egy oszlopba olvasódik be, akkor a szövegből oszlopba varázslóval is megadható az oszlopok típusa.
Ha gondolod, priviben beszélgessünk róla.
Üdv. -
Mutt
senior tag
válasz
föccer #49346 üzenetére
Szia,
Mivel ez egy tömb-képlet (az új, előfizetéses változatban minden képlet tömb-képletként került feldolgozásra) azért a Formula2 tulajdonságot kell használni.
Itt a példa:
Sub ArrayFormula()
Dim rngSzuro As Range
Dim rngAdatok As Range
Dim rngCel As Range
Set rngSzuro = Range("A1:A10000")
Set rngAdatok = Range("B1:B10000")
Set rngCel = Range("G2:G4")
'kézzel van megadva minden tartomány a képleten belül
rngCel.Formula2 = "=TRANSPOSE(FILTER(B1:B10000,A1:A10000=F2))"
'változókból jönnek a tartományok
rngCel.Formula2 = "=TRANSPOSE(FILTER(" & rngAdatok.Address & "," & rngSzuro.Address & "=" & rngCel.Range("A1").Offset(, -1).Address(RowAbsolute:=False) & "))"
'R1C1 változatban
rngCel.Formula2R1C1 = "=TRANSPOSE(FILTER(" & rngAdatok.Address(ReferenceStyle:=xlR1C1) & "," & rngSzuro.Address(ReferenceStyle:=xlR1C1) & "=RC[-1]))"
End SubMicrosoft365 verzió esetén javasolt csak a Formula2-t használni, a korábbiaknák pedig a Formula vagy FormulaArray-t attól függően hogy sima vagy CSE képletről van szó.
üdv
-
Fferi50
Topikgazda
válasz
föccer #46796 üzenetére
Szia!
A GET.CELL függvény nevét magyarították (mint a többit is), ezért a magyar nevét kell beírni:
CELLÁT.VESZ
A többi stimmel. (Ez még a régi Excel4-es függvények egyike, amelyek egyébként most is használhatóak ilyen trükkel - névkezelőben megadott új névvel.)
Egy kis info hozzá
Üdv. -
-
Wasquez
senior tag
válasz
föccer #39806 üzenetére
A teljes feladat úgy nézne ki, hogy generálok egy táblát böngészőből excelbe. Nyitok egy másik böngészöt, akol hivatkozok a generált táblára, innen átveszi az adatokat. Majd egy új munkalapon a második excel-ben megírom az fkeres függvényemet. És # hiv érték jön vissza. Ha azt a cellát átírom amit keresek, tehát egy fix értéket adok bele nem az első generált excelt hivatkozom, akkor jön az érték akeresésben. Így én arra gongoltam, hogy nem az fkeres-em rosz. De nem vagyok nagy excel-ben.
-
escsé
tag
válasz
föccer #39745 üzenetére
Nem ez az. Ez táblázaton belül is jó lehet, de a formázás már elveszik.
Pontosítok: a táblázat a munkafüzet, lap a munkalap. <nálam
"A" munkafüzetből a "B" munkafüzetbe másolva kell nekem egy munkalapot áthelyeznem. A munkalapfüzet lapfülre kattintva "áthelyezés vagy másolás"-sal helyezném. Ebben az esetben a forrás táblázatban, ha szerepel link, akkor azt viszi és kiegészíti a a munkafüzet nevével. -
Fferi50
Topikgazda
válasz
föccer #39721 üzenetére
Szia!
Bocsánat, hogy bele vau-vau. De a szűrések, összesít függvény helyett nem lenne célszerűbb Adatbázis függvényeket, netán kimutatást használni. Ott nagyobb szabadság van ilyen téren szerintem. Esetleg szóba jöhetne az Advanced Filter amivel egyből lehet másolni másik helyre, sőt az ismétlődések is figyelmen kívül hagyhatók.
Üdv.
-
marec1122
senior tag
válasz
föccer #39393 üzenetére
egy kicsit átalakítom a kérdést. van egy oszlop tartalma a következő. Megoldható e makró nélkül hogy kiszűrjük hogy hány időpont van 6-8 óráig, 8-12 óráig és 12 óra után. ha megoldható akkor pontosan hogyan ?
2018.09.03 6:12
2018.09.03 7:11
2018.09.03 9:02
2018.09.03 8:30
2018.09.03 7:59
2018.09.03 8:35
2018.09.03 10:19
2018.09.03 9:18
2018.09.03 9:37
2018.09.03 11:07
2018.09.03 11:30
2018.09.03 12:54
2018.09.03 12:32
2018.09.03 12:59
2018.09.03 13:41
2018.09.03 13:12
2018.09.03 13:20
2018.09.03 14:06
2018.09.03 14:24
2018.09.03 16:05
2018.09.03 16:01 -
dabgergo
őstag
válasz
föccer #39210 üzenetére
Köszi nagyon a választ! Ez az indirekt dolog nem teljesen tiszta, így utánaolvasva ez nem arra lenne jó ha egy lista alapján változtatnám az értéket?
Az offset ugrott még be, de nem tudom ott sem megvalósítani egyelőreCsatolok egy képet h mi a gond.
Tehát az alaptáblában minden hónapnál fentről az ötödik sorban van az amit az összesítő táblába egymás alá akarok gyűjteni. Ezt szeretném valahogy lehúzni az összesítőben, hogy ne egyenként keljen beírni.
-
Delila_1
veterán
válasz
föccer #39131 üzenetére
Egy egysoros makró kell hozzá.
ActiveSheet.PageSetup.CenterHeader = Sheets("Munka1").Range("C3")
A cellatartalom megjelenítési helyét az élőfej-élőláb területén módosíthatod, a CenterHeader helyett másik területet megadva (LeftHeader, RightHeader, LeftFooter, CenterFooter, RightFooter).
-
Winner_hun
félisten
válasz
föccer #38543 üzenetére
Ahhoz olyan billentyűzet kéne. Egérre be van programozva több dolog, azon kevés is a gomb
A több soros beszúrás megvan, azt megcsináltam, de gyanítom nem lesz elég (a kérdés felvetése óta már alakítottam sokat (nem szoktam excellel dolgozni, most meg annyit kell hogy jajj))
-
Fferi50
Topikgazda
válasz
föccer #38495 üzenetére
Szia!
Egyrészt a For ciklusokhoz nincs Next. Az End utasítás befejezi a makró végrehajtását.
Másrészt a For ciklusban megtalált első nem rejtett cella után ki kell ugrani a ciklusból a másoláshoz:
For sor = 7 To 100000
If Rows(sor).Hidden = False Then
Range("E" & sor).Select
Range(Selection, Selection.End(xlDown)).Select
Selection.Copy
Exit For
End IfMert egyébként a ciklus végigmegy az összes nem rejtett soron és az utolsót fogja neked bemásolni.
Amúgy pedig a Range SpecialCells(xlCellTypeVisible) hasznos a szűrőknél, mert "egyben" visszaadja a nem rejtett cellák tartományát. Azért írtam idézőjelbe az egybent, mert természetesen ez a tartomány több területből is állhat, az így kapott objektum tartalmazza mindet. Arra figyelj, hogy természetesen a fejléc is látható, ezért azt kihagyva kell használni.
Üdv.
-
Delila_1
veterán
válasz
föccer #38495 üzenetére
Szia Föccer!
A szűrt adatok másolásáig
Sheets("Munka1").Select
Range("A:B,J:J").ClearContents
Range("K1:K150") = "=Countifs(A:A,J1)"
Sheets("Mintavételek").Range("E7:E" & Range("E7").End(xlDown)).Copy
Sheets("Munka1").Range("B1").PasteSpecial xlPasteValuesInnen már azt hiszem, nem volt problémád az ismétlődések eltávolításával, és másolásával.
Azért csak 1 sort másolt, mert a For-Next ciklusban csak másoltad a memóriába az egyes sorokat, de nem illesztetted be sehova.
Az első For ciklusod végére Next helyett End került, itt nyilván kiakadt a makró, ill. el sem indulhatott. -
dellfanboy
őstag
válasz
föccer #38469 üzenetére
koszi, kozbe este megalmodtam es a data-text to columns-al mukodott ( angol excelem van)
tehat kijeloltem a nemjo formatumu sorokat (szurovel) aztan data text to columns fixed with date m/d/y es finish
mukodik (csak azert irtam le hogyha a jovoben vki rakeres akkor meglelje) -
tpeter77
addikt
válasz
föccer #37879 üzenetére
sziasztok,
Pár napja eltűnt a fájl betekintő előnézeti képe. Vajon mi lehet a gond?
Itt írtam róla bővebben.Win 10 education verzió, és Tisztaszoftveres Office 2016 hun változat van a gépen.
Múlt hétig rendben működött minden, majd feltűnt, hogy az Excel előnézeti kép nem jön be az Outlookban, és megnyitni sem engedi az xls fájlokat,
olyan mintha az Outlookhoz nem lenne társítva program, amivel az xls fájlokat meg tudná nyitni, ezért olyan üzenetet küld, hogy mentem le a fájlt és úgy nyissam meg.
Feltűnt, hogy a fájlkezelőben sincs már betekintési (előnézeti) kép.
Frissítési bug, vagy valami más hibával állok szemben?köszönöm!
-
Fferi50
Topikgazda
válasz
föccer #37877 üzenetére
Szia!
"Ez gyönyörű szépen is működik minden esetben, kivéve a dátum esetében."
Mint bizonyára te is ismered, az Excel a dátumot számként értelmezi. Ha tehát a "dátumot tartalmazó cella" valóban dátum formátumú, bármit is látsz ott, amögött szám van (!).
Ezért a feltételekben is számként kell megadni a dátumot.Sheets("Tulajdonságok").Rows("7:7").AutoFilter Field:=1, Criteria1:=">=" & Format(Sheets("Segédszámítások").Range("C3").Value,"###") stb.
Üdv.
-
Fferi50
Topikgazda
válasz
föccer #37807 üzenetére
Szia!
Sajnos az üres cellát "egyenlő" feltételként értelmezi a függvény.
Ha azt szeretnéd, hogy "ne vegye figyelembe", akkor az "üres" cellába ezt kell beírni <>.
Ezt úgy értelmezi, hogy nem üres a vizsgált tartomány.
(Azt ne kérdezd, hogy miért, talán Redmondban tudják....)
Üdv.
-
cheeka
tag
válasz
föccer #37362 üzenetére
Biztosan félreérthető voltam, nagyon egyszerűnek írtam le, de nem az. Tervezek 3 témakört, témánként teljesen eltér a számítási módszer. Minden témakörben több márka van, egy márkának 5-10 típusa, ezen típusoknak esetenként akár 100 kapcsolódó kiegészítője. Ez nem egy formátum, de nem is igazán tudom leírni magamtól (hány lapot használjak adatfeltöltésre, mit melyik lapra írjak, azon belül milyen logika szerint stb.). Szerintem a több lépcsőben elért végeredmény lehet akár 30-40mb-os file is, ha ez egyáltalán lehetséges? Egy hasonlóan működőt használok, az 11mb (ez adta az ötletet, ez egy márkának a sajátja, nekem lenne benne kb. 30 márka).
-
RaZroX
addikt
-
Vééé
csendes tag
válasz
föccer #37273 üzenetére
A körlevéllel sehogy sem tudtam adatot leválogatni. Már az is gond, hogy az A oszlop lenne a címzett, de ott minden címzertt töbször szerepel. Tehát tudok minden "szőrös"nek levelet küldeni az összes soráról, de én azt szeretném, ha a szőrös egy levelet kapna, amiben fel vannak sorolva a sorai.
Új hozzászólás Aktív témák
Hirdetés
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Windows 10
- Allegro vélemények - tapasztalatok
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
- Honor 400 Pro - gép a képben
- Kerékpárosok, bringások ide!
- Vezetékes FÜLhallgatók
- Spórolós topik
- Subaru topik
- Építő/felújító topik
- További aktív témák...
- Bontatlan - BATTLEFIELD 1 Collectors Edition - Játékszoftver nélkül
- Eladó steam/ubisoft/EA/stb. kulcsok Bank/Revolut/Wise (EUR, USD, crypto OK)
- ROBUX ÁRON ALUL - VÁSÁROLJ ROBLOX ROBUXOT MÉG MA, ELKÉPESZTŐ KEDVEZMÉNNYEL (Bármilyen platformra)
- Antivírus szoftverek, VPN
- Microsoft licencek KIVÉTELES ÁRON AZONNAL - UTALÁSSAL IS AUTOMATIKUS KÉZBESÍTÉS - Windows és Office
- Jogtiszta Microsoft Windows / Office / Stb.
- PlayStation Plus Premium előfizetés 3416 Ft / hó áron!
- BESZÁMÍTÁS! Dell Precision 5820 XL Tower PC - Xeon W-2123 112GB RAM 512GB SSD 1TB RX 580 8GB Win 11
- AKCIÓ! Intel Core i7 7700K 4 mag 8 szál processzor garanciával hibátlan működéssel
- Csere-Beszámítás! AMD Ryzen 7 9700X Processzor!
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft
Város: Budapest
Cég: Promenade Publishing House Kft.
Város: Budapest