- Jimmy Choo felel a Magic V Flip 2 dizájnjáért
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Motorola Edge 50 Neo - az egyensúly gyengesége
- Fenntartható, tartós kiegészítőket mutatott be a Fairphone
- Xiaomi 14T Pro - teljes a család?
- Zeiss triplakamera az új Vivo V60-ban
- Erős hardverrel érkezik a Honor 10 000 mAh-s mobilja
- Samsung Galaxy Z Fold7 - ezt vártuk, de…
- Samsung Galaxy Watch7 - kötelező kör
- Honor Magic V5 - méret a kamera mögött
Hirdetés
-
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
-
blountex
senior tag
válasz
Fferi50 #33151 üzenetére
Köszi, de hasonlóra jutottam én is amit írtál, viszont ez így nem az igazi.
Talán azt kifelejtettem, hogy mindössze 3 cella áll rendelkezésemre, aminél az egyiknél betűt kell írni mint n, a másiknál hogy hány darab van abból, a harmadiknál pedig a végederményt. Ez addig simán is megy, míg 1 betűt kell írni, de néha előfordul a két betű is, és ekkor ezt külön kell számolni. Nem olyan probléma csak mivel a táblázat több szálon fut át, így nem akarom ezt annyira átvariálni. No persze rejtett sorokat meg képleteket azért bele lehetne csempészni -
lenkei83
tag
válasz
Fferi50 #33140 üzenetére
Azért
regiertek
, mert az a sor ugyan meg van hogyregiertek = target.Value
, de utána van egyapplication.undo
, és ha ilyenkor hívom meg functionnal atarget.Value = RemoveNotNum(target.value)
-t, akkor atarget.Value
éppen üres, vagyis üresre fogja hozni a cellámat.If sh.CodeName = "Munka7" Or sh.CodeName = "Munka13" Or sh.CodeName = "Munka10" Or sh.CodeName = "Munka8" Or sh.CodeName = "Munka5" Then
Application.EnableEvents = True
Exit Sub
Else
If (sh.CodeName = "munka5" Or 1 <= target.Column <= 2) Then
regiertek = target.Value
Application.EnableEvents = False
Application.Undo
target.Cells.NumberFormat = "@"
If Application.CutCopyMode <> False Then
target.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
target.Value = RemoveNotNum(regiertek)
Else
target.Value = RemoveNotNum(regiertek)A meghívásnak így kellene kinézni? Konkrétan a bemásolt (vagyis az aktuálisan kijelölt) területre szeretném alkalmazni, akkor így kellene meghívni?
RemoveNotNum Selection
Nem igazán akar működni worksheet_change-el
Else
If (sh.CodeName = "munka5" Or 1 <= target.Column <= 2) Then
regiertek = target.Value
Application.EnableEvents = False
Application.Undo
target.Cells.NumberFormat = "@"
If Application.CutCopyMode <> False Then
target.PasteSpecial Paste:=xlPasteValues
Application.CutCopyMode = False
RemoveNotNum regiertek
Else
RemoveNotNum regiertek
End Ifüdv
P. -
lenkei83
tag
válasz
Fferi50 #33130 üzenetére
Szia Feri!
Köszönöm, működik, annyit kellett változtatni, hogy
RemoveNotNum(target.value)
helyettRemoveNotNum(regiertek)
Nem is értem mit nem értettem...Amire viszont most jöttem rá, hogy ha több értéket akarok egyszerre bemásolni akkor ez nem működik, mert a target range csak egy lehet. Van erre valami megoldás?
üdv
P. -
Agostino
addikt
válasz
Fferi50 #33056 üzenetére
róland & Fferi50
nagyon klassz a függvény, kiváló : ) ott viszont nekem felteszi a kezeit, amikor azt mondom neki, hogy jobb oldalt is vizsgálja meg, de ott csak kettőt vessen össze. az J2 cella kettő értéket az F2 cella utolsó kettő értékével. nem tudom mi felett siklik el a szemem...
=HA(ÉRTÉK(JOBB(F2;2))=J2;IGAZ;HAMIS)
illetve középen tudna vizsgálni a függvény? tehát mondjuk az F2 tíz karakter közül a 6. és 7-et vesse össze egy másik cella kettő értékével.
-
tzimash
őstag
válasz
Fferi50 #32892 üzenetére
Hali,
Rábeszéltél, maradtam az állapotsornál
A makróban van egy fkeres függvény is, ami egy külső fájlból dolgozik, előfordulhat hogy nem fog ott adatot találni. Ilyenkor teljesen fölösleges tovább futnia a makrónak, mert nem fog jó eredmény születni.
Most úgy néz ki, hogy E2 cellában van az fkeres, majd autokitöltéssel kitölti az E oszlopot (előzőleg megszámoltattam a sorokat) ameddig kell, majd az egész E oszlopra egy Copy-Paste csak értékkel.Ezután kellene átnézni az E oszlopot, hogy van-e benne #HIÁNYZIK érték, ha igen dobjon egy üzit, hogy pl: "az értékek hiányosak" és álljon meg a makró. Ha nincs #HIÁNYZIK akkor fusson tovább jelzés nélkül.
Gondoltam még arra, hogy esetleg manuálisan beírni a hiányzó adatot, de az macerás lehet sok hiányzónál, egyszerűbb a külső fájlt frissíteni. Kb negyedévente fordulhat elő változás a fájlban.
-
Sprite75
tag
válasz
Fferi50 #32870 üzenetére
Köszi. Megpróbálom úgy akkor az összefűzzel. A szűrős módszer sajna nem jó mert aki használja annak bonyolult lenne. Azt a lapot amire az összefűzést csinálnám naponta többször is nyomtatják. Ez alap egyébként tartalmazza az aznap felvett megrendeléseket összesítve és ide szeretném a rendelésekhez írt esetleges megjegyzéseket.
-
TrollBalint
addikt
válasz
Fferi50 #32793 üzenetére
Hello,
közben tesztelgettem a képletet és a következőkre jutottam. Ha nem table formátumban használom, akkor valóban jól működik a tömbképlet.
Viszont, ha a table-s excelben probálkozom, akkor sok helyen #### jelet kapok, ahogy az írtam is korábban. De ha a képletedben =MIN(IF(Sheet1!$A$1:$A$47=$A4;1;100)*1*(Sheet1!$B$1:$B$47)) a 100-at árírom valami kisebb számra, akkor már ki tudja írni a dátumot, de 2132. 10. 23 és hasonló jövőbeni dátumok jönnek ki. (ha nem tömbképletként teszem be, akkor mindenhova 0 jön ki)A forrásadatoknál sehol nincsen üres cella
-
morgusz
csendes tag
válasz
Fferi50 #32794 üzenetére
Szia!
Köszi a makrót, de lehet, hogy rosszul írtam le, hogy mit akarok, mert csak a feltételeknek megfelelő legnagyobb sorszámú sor email-jét csinálta meg.
Annyi email kellene, ahány sorban igaz, hogy "S"oszlopban "küldhető", "M" oszlopban "1 " szerepel.
(Illetve nem tudom hova került a többi, ha legyártotta.Vagy csak akkor csinálja a többit, ha elküldtem azt az egyet?)
Még annyit szeretnék kérdezni, hogy ahhoz mit kell megváltoztatni, hogy rögtön küldje ahogy elkészült, mert úgyis egy másik fiókba kerül először, ahonnan a cég nevében továbbküldöm. -
TrollBalint
addikt
válasz
Fferi50 #32717 üzenetére
Köszi szépen,
sajna lebetegedtem a múlt héten, csak most tudtam kipróbálni, de sajnos nem az igazi.
Ha tömbképletként viszem be, akkor minden dátumra 1900.01.00 -t ír, de ezt annak tudom be, hogy table-nek van formázva a táblázatom. Ha simán enterrel viszem be a képletet, akkor jó, de csak az első két esetben, utána már ###### -ket ír (hiába húzom ki a oszlopot, nem az a baj, hogy nem fér ki)
Mind a két táblázat (amiben keresek, és ahova kilistáztatom) table formátumú, ha ez esetleg számít. -
Declare
őstag
-
g4b3n
tag
válasz
Fferi50 #32726 üzenetére
Magát a kifejezést, mindig csak x/1 x/2 és x mindig eggyel nő, illetve ehhez tartozik a szomszédos cellában a köveztkező pl.
A1 1/1 B1 111
A2 1/2 B2 201
A3 2/1 B3 112
A4 2/1 B4 202S ebből a sorozatot kellene kb. A/B64-ig folytatni. A jövőben pedig bármikor visszatérő probléma lehet, gy szeretnék rá valami ciklus készteni, ami helyettem dolgozik.
A makrózáshoz nem értek, de pl. C nyelvhez igen.
Tudnál esetleg szintaktikát adni, vagy esetleg lerást, hogy hol nézzek utána egy doksiban.S fogalmam sincs milyen ecelt használat, de valami újat, még csak meg se tudom nézni a verzió számát.
szerk: 2013-as
-
Declare
őstag
válasz
Fferi50 #32680 üzenetére
Jogos! Ugye amikor valaki sokat foglalkozik valamivel, nem egyertelmü, mi az ami csak neki vilagos, meg mi az ami masnak is
Javitottam a pelda excelt. [link]
A lenyeg, hogy lefele haladva össze kellene adni mindig az "S. Titel" ertekeket az "S. Gewerk" cellakba. Aztan tovabb lefele (egy-egy ilyen "S. Gewerk" szumma ertek utan) ujabb "S. Titelek" jönnek....majd ujra "S. Gewerkbe" vannak ezek összegezve...majd ujra es ujra
Most az uj excel link, az ugy nez ki, ahogy ki kell neznie. (Nem mellesleg rövidebb es egyszerübb az excel pelda
)
-
Delila_1
veterán
válasz
Fferi50 #32679 üzenetére
Igen, megírta a srác, meg is néztem – de csak most, eddig nem voltam net közelében. Azt nem tudta ott megadni, hogy userformról és tetxboxról van szó.
Kevés adat van a füzetben, kicsi a memória-foglalás. 3 változó közül 1-et beír nála a lapra, kettőt nem. A hibakód van vagy 20 karakternyi, ami nem normális. Több helyen keresgélt a neten. Mindenhol azt írják hasonló esetről, hogy nem aktív a lap, ahova menteni akar. Nem is kell annak lennie, és az sem segített, hogy a cellába írás előtt aktiváltam a lapot. Szerintem az ő készülékében (Office) van a hiba.
-
EmberXY
veterán
válasz
Fferi50 #32678 üzenetére
Szia!
Igy első próbálkozásra már tökéletesen működik, ezer köszönet a segítségért.
Annyit még "logikáztam" rajta, hogy az Offset-et (1, -2)-re módosítottam, így korrigáltam az eredetileg hivatkozott cellák oszlopát, hogy ne kelljen a hivatkozásokat átírni, és így az üres sorok elejére visz, adat bevitelre készen.
Már csak csinosítani kell a munkalapon, és sínen van a dolog.
Köszi még egyszer.Delila_1: Neked is köszönöm, a te megoldásod is működik, de már Fferi50 megoldására volt kihegyezve nagy mértékben a munkalap, ezért végül annál maradtam.
-
EmberXY
veterán
válasz
Fferi50 #32671 üzenetére
Így néz ki jelenleg, ez a legelső sor legeleje (14 táblázat van egymás mellett, az első 3 látszik), a második sor ~200 sorral lentebb kezdődik (eredetileg ugyebár ilyen nagyra terveztem mindet, akkor még nem számoltam a táblázattá alakítással), szóval nem érhetnek össze.
Bal oldalon vannak a hivatkozások, a másodikra kattintva látszik a pillanatnyi helyzet, a hivatkozott cella a J oszlopban van, így a J oszlopban le is megy a soron következő üres celláig, a formázás is működik (azért színes az M oszlop is, mert eredetileg 4 oszlopos táblázatok voltak, de végül ezt 3-ra csökkentettem, de valamiért a formázást így jegyezte meg, jelenleg ez a legkisebb baj, már ha nem ez okozza a problémát).
A táblázatok helye eredetileg be lett vonalazva, az ne tévesszen meg, a táblázatok csak az utolsó adatot tartalmazó sorig tartanak. Kisebb-nagyobb szépséghibák vannak bőven még, de amint összeáll az egész, apránként optimalizálva lesz.Képernyőkép:
-
Delila_1
veterán
válasz
Fferi50 #32671 üzenetére
Velem is hasonló anomália lépett fel. Nálam pompásan működik a két sor:
usor = Sheets("Alapadatok").Range("A" & Rows.Count).End(xlUp).Row + 1
Sheets("Alapadatok").Range("A" & usor) = UjMTahol az UjMT egy beviteli mező egy userformon. Akinek küldtem, nála hibával leáll, nem elérhető az objektum.
Próbáltam szétszedni a sort:Sheets("Alapadatok").Select
Range("A" & usor) = UjMTErre is fütyül. A változókat felismeri, a lap nem védett. Megállt a tudományom.
EmberXY:
a
Range(talal).End(xlDown).Select
helyett írj
Range(talal).End(xlDown).Offset(1).Select
-et, hogy az első üres sorban legyen a fókusz. -
Declare
őstag
válasz
Fferi50 #32665 üzenetére
Ahamm...Thx!
Viszont most kerdeznek egy dolgot....ezzel sajna több, mint fel napja el vagyok akadva es nem talalom a megoldast
Ami kellene: Van F oszlop szamokkal es G oszlop cimkekkel. A G oszlopot kellene vizsgalni es ha abban "S. Gewerk" cimket talal, akkor melle az F oszlopba szummazni kellene az összes olyan cella erteket, ami mellett "S. Titel" szerepel. Ezt mindig S. Gewrk" töl a fölötte levö "S. Gewerk" ig kellene.
Tehat blokk szerüen felülröl lefele nezve, az also "S. Gewerk" mindig a fölötte levö "S. Titel" szummakat tartalmazza. Majd tovabb haladva a következö "S. Gewerk" alul a fölötte levö "S. Titel" ertekek szummajat tartalmazza.
Adott a macro (ezt nagyjabol pont Te irtad, csak alakitgatom, hasznalom, de most nem sikerül
)
Sub Test()
Dim i As Integer, mycell As Range, myfind As Range, elso As String
Set myfind = Range("G:G").Find(what:="S. Gewerk", LookIn:=xlValues, lookat:=xlWhole, searchdirection:=xlNext)
If Not myfind Is Nothing Then
elso = myfind.Address
Do While True
Set mycell = Range("G:G").Find(what:="S. Titel", LookIn:=xlValues, lookat:=xlWhole, searchdirection:=xlPrevious, after:=myfind)
If Not mycell Is Nothing Then
i = myfind.Row
Range("F" & i).Formula = "=Sum(" & Range("F" & mycell.Row).Address & ")"
End If
Set myfind = Range("G:G").Find(what:="s. Gewerk", LookIn:=xlValues, lookat:=xlWhole, searchdirection:=xlNext, after:=myfind)
If myfind.Address = elso Then Exit Do
Loop
End If
End SubEz most ugye azt csnalja, hogy megkeresi a "S. Gewerket" es melle beirja a szumma erteket a fölötte levö 1db "S. Titel" nek.....es ugye ezt kellene ugy alakitani, hogy ne csak a felette levö 1 db "S. Titel" szumma legyen, hanem a többi is, egeszen a következö "S. Gewerk" ig. Nem tudom ez igy megoldhato e
Dropboxba feldobtam egy egyszerüsitett tablat, ahol latszik mi van.[link]
Ha lesz ra valamikor idötök ranezni, ez ujabb nagyon hasznos segitseg lenne
-
EmberXY
veterán
válasz
Fferi50 #32662 üzenetére
Szia!
Nos, a kód rendben van, a táblázatokat is összébb húztam, így már nem érnek össze, üres sorok sincsenek bennük, viszont ugyanaz a probléma, mint ezelőtt.
- Amikor a megfelelő hivatkozásról eljutok egy táblázathoz, akkor abban az oszlopában, ahol a hivatkozott cella van, le is megy a soron következő üres cellához, ez rendben is van.
- Adatot is tudok bevinni, viszont ahogy ellépek a celláról kurzornyíllal, már nem nem enged ugyanabban a sorban maradni, hanem rögtön továbbugrik. A táblázatba 3 adatot kéne bevinnem az új sorba, de így csak egyet enged.Nagyjából megpróbáltam kilogikázni, hogy mi lehet a gond. Ugyebár a táblázat folyatosan bővül, ha új adat kerül bele, a jobb alsó sarkán lévő jelzés is lentebb ugrik egy sorral jelezvén, hogy bővült a táblázat.
Viszont amikor a hivatkozással eljutok a táblázathoz, akkor a soron következő üres cella, ahová ugrik, az akkor még kívül van ezen a sarokjelzésen, és hiába ott lenne a következő sora a táblázatnak, ezt ő akkor még úgy tekinti, hogy táblázaton kívül van, ezért amikor cellát váltok, akkor ugrik a következő táblázatra. Lehetséges, hogy ez a gond, vagy még mindig nálam van valami elrontva?F
Delila_1:Köszönöm, ezt is ki fogom próbálni.
-
EmberXY
veterán
válasz
Fferi50 #32660 üzenetére
Szia!
Nem úgy bővítem, lehet, hogy rosszul fogalmaztam.
Szóval, én a táblázatokat úgy hoztam létre, hogy fixen 220 sorból áll mindegyik, ezen nem is akarok változtatni, illetve ha szükséges, akkor mégis (1 évre kalkuláltam, ha közel minden munkanapon használnak egy gépet, akkor is elfér, következő évben újraindul a dolog), és amikor új adat kerül bele, akkor folytatólagosan vezetem mindegyiket onnan, ahol éppen az tart. Az nem baj, ha nagy része üres marad is, vannak gépek, amiket szinte naponta használnak, és vannak, amiket havonta egyszer jó esetben, a lényeg, hogy minden táblázatban van elég hely, aztán vagy fel lesz töltve, vagy nem.A sorok beszúrását arra értettem, hogy ha az egymás alatti táblázatokat távolítani akarom egymástól, erre a megoldásra gondoltam, de ekkor a hivatkozott cellák is tolódnak, vagyis a táblázatok "kihaladnak" belőlük, ezért akkor a hivatkozásokat is módosítanom kell. Esetleg a táblázatokat veszem kisebbre, talán pár sort lehet rövidíteni rajtuk, az még nem gond, és nem is fognak összeérni.
Mindenesetre holnap kipróbálom, hogy ha nem érnek össze, akkor működik-e a makró, és megírom az eredményt. Nem sürgős a dolog, természetesen várok türelemmel, addig is köszönöm az eddigi segítséget.
-
EmberXY
veterán
válasz
Fferi50 #32654 üzenetére
Szia!
Lefelé bizony összeérnek, de csak amiatt, hogy a táblázattá alakítás során ugyebár kijelölve a táblázatot, végül kapott mindegyik egy fejlécet és valahogy egy plusz sort is alulra, de mivel egymásba nem lógnak bele, nem tulajdonítottam neki nagy jelentőséget, plusz ugyebár ha sorokat szúrok be, akkor a hivatkozások is tolódnak, de ezek szerint ezen is bütykölnöm kell még.
Oldalirányban van köztük 2 oszlop távolság, úgy nem érnek össze. Egyébként jelenleg 3 "sorban" vannak a táblázatok, soronként 14 db, és mindegyik 220 sort tartalmaz, de még kell további ~30 db, úgyhogy minimum 2 sor még kelleni fog. Elég nagy területet fed le a lapon, ezért is próbáltam úgy rendezni, hogy ne sok hely legyen köztük, így is rengeteg helyet foglal, ezért is lenne fontos, hogy a hivatkozások működjenek, és egyszerű legyen az adat felvitel, mert a csúszkával sokat kellene navigálni.Reggel akkor ezzel folytatom, a kódot is átellenőrzöm, hátha rossz helyre tettem a módosítást, azután jelentkezem. Addig is köszönöm, hogy ennyi időt áldozol rám, lassan már szégyenlem magam, amiért ennyire dilettáns vagyok.
-
EmberXY
veterán
válasz
Fferi50 #32645 üzenetére
Működik, az a része rendben is van, hogy a táblázat legaljára áll, viszont amint új adatot írnék bele, és cellát váltok, rögtön újra elugrik, egyre lentebb és lentebb, míg nem a legalsó táblázat alján megáll.
Az első lépés után nem lehet valahogy "kifagyasztani", hogy egy táblázaton belül csak egyszer csinálja ezt? -
EmberXY
veterán
válasz
Fferi50 #32635 üzenetére
Szia!
Még egy kérdésem lenne, ha nem vagyok szemtelen...
Azt meg lehet oldani valahogy, hogy miután a megfelelő hivatkozásra kattintva eljutok az adott táblázat egy adott cellájára (amire a hivatkozás mutat), az aktív cella ne az legyen, hanem a táblázat soron következő üres sorának valamely cellájája? Így könnyebb lenne új adatot felvinni, nem kellene legörgetni manuálisan.
Ha van valami egyszerű megoldás erre, azt előre is köszönöm.
-
Declare
őstag
válasz
Fferi50 #32636 üzenetére
Tegnap egesz nap makroztam es nap vegere kicsit bezsibbadt az agyam
..jogos, amit irsz, de egyben asszem meg is valaszoltad a kerdesem
Ez maga a kod (azaz F oszlopban megkeresi az összes "Position" erteket es törli. Ezen kivül van meg 3 db különbözö szöveg, amit ugyan igy keresni es törölni kell es erre gondoltam, hogy valahogy & jellel hozzaadni, mint feltetelt....
Dim FoundCell As Range
Application.ScreenUpdating = False
Set FoundCell = Range("F:F").Find(what:="Position")
Do Until FoundCell Is Nothing
FoundCell.ClearContents
Set FoundCell = Range("F:F").FindNext
Loop(amugy az alapjat egy nagyobb makronak pont az kepezi, amiben Te es Delila_1 segitettetek....nagyon jo segitseg, majd azert megmutatom, mit alkottam belöle, csak ugy erdekesseg keppen. Sok mindent megtanulgattam a netes leirasok segitsegevel + a makroitokat felhasznalva
)
-
EmberXY
veterán
válasz
Fferi50 #32631 üzenetére
Most már sínen vagyok, működik is, már csak végig kell csinálni minden táblázatnál a formázást.
Az volt a gond, hogy a legelső táblázatnál valamit elronthattam, vagy többször hozhattam létre, vagy valami ilyesmi, emiatt dupla fejléce van, és kijelölésre sem látszik a neve (Táblázat1 sincs, 2-vel kezdődik a lista), végig ezen próbáltam volna ki a folyamatot, ezért nem ment, ezzel még holnap elszórakozom, de egy másik táblázatnál már tökéletesen megy, úgyhogy a módszer működik, már csak végig kell játszani, az elsőt meg kijavítani.
A táblázatos megoldásban még az is külön szuper, hogy mindegyik táblázat fejlécében eleve ott a szűrési lehetőség, míg eredetileg ez nem volt elérhető, csak amelyiknél külön be volt kapcsolva, és egyszerre csak egynél működött.
Még egy dolog van, amit majd meg kell oldani, mégpedig hogy a táblázatoknak ugyebár fejlécet is csinált az excel, és ez plusz sorokat jelent, mivel eredetileg volt már fejlécük, és így a hivatkozások is csúsztak 1-1 sorral, de szerintem ez már csak formázási finomhangolás kérdése, holnap még bütykölni kell rajta.
Addig is nagyon köszönöm a segítséget. (Ha még ezután is elakadnék, akkor megint jövök)
-
EmberXY
veterán
válasz
Fferi50 #32627 üzenetére
Szia!
Megkezdtem a módosításokat, rögtön el is akadtam.
Táblázattá alakítás megtörtént, eddig rendben.
1. Kijelöltem egy cellát, de azt a részt nem teljesen értem, hogy "amiben a kiválasztott tábla nevét fogjuk megadni"... Abba nekem írnom kell valamilyen táblanevet?
Illetve az sem teljesen világos, hogy a táblázatok " neveit használjuk majd", eszerint el kell neveznem minden táblázatot? Mert ilyen opciót nem találtam, a beszúrás->táblázat menüben sem.
És így a 3. pontnál is elakadok, mert a formázáshoz minek a nevét kell írnom a "Táblanév" helyére?A makrót bemásoltam, valószínűleg működne is, mert a kiválasztott cella értékét 0-ra változtatja (ennyit értek belőle
), a többi rész nyilván még nincs a helyén.
Bocsánat, hogy ilyen láma vagyok, de elakadtam...
-
Oly
őstag
válasz
Fferi50 #32585 üzenetére
Szia
Mivel a keresési érték is egy összefűzött szöveg A és B oszlopból, ezért az N oszlopban is összefűzött adat van (L és M). Erre szeretnék hivatkozni és nem az N oszlopra.
Közben rátaláltam, hogy a TÖMB lesz az én emberem, de még keresem a feltöltés lehetőségét.
Valószínűleg ciklussal... -
Delila_1
veterán
válasz
Fferi50 #32573 üzenetére
Mindenképp szét kell választani a fekete és piros neveket, mert a feladat, "megtudni, hogy meny nevek szerepelnek mindkét névsorban?"
Ez biztosan valami iskolai feladat. Nem láttam még olyan – barbár – megoldást, hogy két névsort 1 oszlopba tett valaki, és még együtt is rendezte volna a kettőt.
-
customer114
őstag
válasz
Fferi50 #32536 üzenetére
2 sorral ez működik (mint, ahogy a példámban írtam), azonban több soros változatra - ahol olyan B cellák is vannak, melyekben nincs "X" érték - sajnos nem használható. Illetve, előfordulhat olyan helyzet is, ahol a B celláknák akár 3-4 "X" értéket tartalmazó is előfordul. (pl. így: B1 "X" B2 "XY" B3 "YZ" B4 "Z" B5 "XYZ" B6 "XZ" B7 "XY". Ahol 3 "X"-es B cella van egymás alatt ott is csak annak a D cellának a formázását szeretném, amelyik a legnagyobb C értéket tartalmazza.
Lehet, hogy így tömény. Csináljak róla példa exceles képeket?
-
customer114
őstag
válasz
Fferi50 #32536 üzenetére
Illetve, 1-255 számokat vesz csak figyelembe jól értelmezem? Ha ennél nagyobb számok közül kellene a nagyobbat megállapítania, az már nem jó?
-
-
Sprite75
tag
válasz
Fferi50 #32408 üzenetére
Nagyon szuper köszi.
A Célkeresztes makróval kombinálva nagyon vagány.
Mondhatnám, hogy Pali bácsi biztos (az majdnem olyan mint az atombiztos de itt szigorúbbak a követelmények.)Hiba nélkül dolgozik, nagyon köszönöm.
Majd holnap élesben Pali bácsi is teszteli Ő képes egy 3*3 as táblában legalább 10 hibát találni vagy kreálni. A múltkor azzal a furcsa jelenséggel találkozott hogy a win asztalon minden ikon több példányban jelent meg.
Megoldottam a problémáját, levettem a billentyűzet sarkáról a CTRL ról egy iratos mappátSzóval holnap teszt.Küszi még egyszer
Üdv -
Sprite75
tag
válasz
Fferi50 #32392 üzenetére
Hello
Az ez előző összefoglaló írásomban nem írtam, hogy egy ilyent is raktam bele
Private Sub Worksheet_Change(ByVal Target As Range)
If Not Intersect(Target, [C4:AY108]) Is Nothing Then
Cells(Target.Row, 52).Value = Time
End If
End SubEzt a Munka 1 kódlapjára írtam, de most , hogy bemásoltam azt is amit csináltál hibát ír, ha oda akarom berakni.
Próbálgattam többféle módon de nem sikerült. Össze tudnád hegeszteni a két kódot?
E nélkül működik amit írtál, nagyon szuper, de arra lenne lehetőség hogy úgy jelenjen meg a figyelmeztetés, hogy azért valahogyan tudja módosítani a cella értékét ha pl hibás éréket írt be a felhasználó vagy pl a megrendelő módosítaná a rendelését.
Eddig volt érvényesítés is beállítva a C4 AY108 területre de most azt kivettem, mert ha jól látom akkor a kód ezt is figyeli.
Viszont ha pl tévedésből szöveget írokilyen hibát ír kiBocsi hogy ennyit akadékoskodok de te nem ismered mire képes a munkahelyemen Pali bácsi aki majd használná ezt a táblát
Köszi előre is
-
Sprite75
tag
válasz
Fferi50 #32381 üzenetére
És ezt is bonyolult megcsinálni hogy a C4 AY108 területen ha már van adat (1-300 ig) akor azt ne lehessen módosítani csak ha egy figyelmeztetést le ok-z a felhasználó. Ezen a területen csak az üres cellékat lehessen módosítani figyelmeztetés nélkül.
Ui
ha valakinek sikerül megoldani vendégem egy jó tyúk pörire.
Cím privátban
Pöri -
DeFranco
nagyúr
válasz
Fferi50 #32255 üzenetére
valóban nem, mert nem jutott eszembe, hogy problémát jelenthet. annyira nem vészesen sok, nem milliós darabszám (az egész munkafüzetre vetítve) és ez a makró nem módosít semmit benne, hiszen csak olvas.
ha teszem azt ezt keresőfüggvénnyel oldottam volna meg valamilyen formában, ugyanezen munkafüzetben és ugyanilyen adathalmazra, meg se röccent volna az excel tőle, itt nem tudom miért csinált minden fázis után újraszámolást.
-
DeFranco
nagyúr
válasz
Fferi50 #32253 üzenetére
közben kibogoztam, a do/loop felesleges volt, mert az i-j-k meghatározza az x maximumát.
ezzel nagyon sokat gyorsult, de még mindig aránytalanul lassú volt (lássuk be 5k sort kitölteni nem nagy kaland, viszont eltartott volna legalább fél órát úgy becsültem a részeredmény alapján)
gugliztam közben, hogy mi lehet még az ok, és valóban, mivel sok és bonyolult képlet van a munkafüzetben ezért ha azokat újraszámolja lépésenként, az megint csak rendkívül lelassítja a folyamatot.
erre találtam ezt a párost:
Application.Calculation = xlCalculationManual
Application.Calculation = xlCalculationAutomaticígy végül:
Sub Kitolto()
Application.Calculation = xlCalculationManual
x = 1
For i = 1993 To 2014
For j = 1 To 3
For k = 1 To 76
Cells(x + 1, 2).Value = i
Cells(x + 1, 3).Value = ThisWorkbook.Sheets("Valami_tábla").Cells(2, j + 1).Value
Cells(x + 1, 4).Value = ThisWorkbook.Sheets("Valami_tábla").Cells(k + 2, 1).Value
x = x + 1
Next k
Next j
Next i
Application.Calculation = xlCalculationAutomatic
End SubEzzel 1-2 másodperc alatt lefutott szépen.
egyszerű feladat, biztos meg lehetett volna oldani sokkal elegánsabban is, de egyelőre kb. 10 utasítást ismerek makróul
-
Mittu88
senior tag
válasz
Fferi50 #32183 üzenetére
ActiveX verzérlőket használok. Munkalap vezérlőt még sose használtam, az ActiveX vezérlőben eddig mindent meg tudtam oldani.
Ribbonra fel tudom úgy tenni, hogy akármelyik gépen nyitják meg, ugyanott jelenjen meg?
Szívesen megismerném ezt a módszert is. Én délután 4 után nem leszek, holnaptól meg nyaralok vasárnapig. Írnál egy gyorstalpalót privátban (vagy akár itt, hátha másokat is érdekel)?
-
Mittu88
senior tag
válasz
Fferi50 #32180 üzenetére
Az makrós fájlban jelenleg 220 sornyi adat van, kb 18 oszlop szélesen. Van még egy háttéradat munkalap, de azon jelentéktelen mennyiségű adat van.
A fájlszerveren lévő fájlban (amit megnyit a makró) 1200 sornyi adat van.
Amúgy úgy működik a rendszer, hogy a makrós fájlban rögzítik a gépekhez tartozó adatokat (termelés, műszaki hiba, stb.)
Ha mindegyik esemény (sor) lezárt, vagy törölt állapotú, akkor engedi bezárni a fájlt.
Ha bezárja, megnyitja a fájlszerveren lévő adatbázisfájlt, és oda feltölti azokat, amik még nem rögzítettek. Ezek a sorok utána a Rögzített oszlopba kapnak egy 1-es értéket.
Megpróbálhatom a kisebb munkalapra váltást, de a háttéradatos munkalap nagyon rejtettben van, úgyhogy max. beszúrok egy munka1-et.
Új hozzászólás Aktív témák
Hirdetés
- Jimmy Choo felel a Magic V Flip 2 dizájnjáért
- Windows: mi történik valójában Leállításkor, Alvó módban és Újraindításkor?
- Építő/felújító topik
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Kerékpárosok, bringások ide!
- Linux kezdőknek
- Energiaital topic
- Kávé kezdőknek - amatőr koffeinisták anonim klubja
- EA Sports WRC '23
- Papíron már készül a PCI Express 8.0
- További aktív témák...
- ROBUX ÁRON ALUL - VÁSÁROLJ ROBLOX ROBUXOT MÉG MA, ELKÉPESZTŐ KEDVEZMÉNNYEL (Bármilyen platformra)
- Bitdefender Total Security 3év/3eszköz! - Tökéletes védelem, Most kedvező áron!
- Eladó Steam kulcsok kedvező áron!
- Assassin's Creed Shadows Collector's Edition PC
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Eladó Karcmentes állapotban levő Samsung A40 4/64GB / 12 hó jótállás
- HIBÁTLAN iPhone SE 2022 128GB Midnight -1 ÉV GARANCIA - Kártyafüggetlen, MS2984
- BESZÁMÍTÁS! ASRock B360M-HDV i5 8500 16GB DDR4 512GB SSD GTX 1660 Super 6GB ZALMAN S3 TG NJOY 500W
- iPhone 13 mini 128GB Pink -1 ÉV GARANCIA - Kártyafüggetlen, MS3089, 100% Akkumulátor
- Bomba ár! Lenovo ThinkPad P52s - i7-8GEN I 16GB I 512SSD I Nvidia I 15,6" FHD I W11 I Cam I Gari!
Állásajánlatok
Cég: FOTC
Város: Budapest