-
Fototrend
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
lenkei83
#35583
üzenetére
Szia!
Sajnos ez nem lehetséges jelenleg. Azt javaslom, hogy egészítsd ki a munkalap nevét egy H ill. egy V betűvel (plusz szóköz esetleg) az elején vagy a végén a listában.
Esetleg csinálhatsz két oszlopos listboxot, amelyikben szétválasztva sorolod fel a munkalapokat (egyik H, másik V), persze ilyenkor a kiválasztás nem lesz egyértelmű.Üdv.
-
Fferi50
Topikgazda
válasz
Capella
#35504
üzenetére
Szia!
Ha J2 cellában egy cím keletkezik a képlet alapján akkor egyszerűen:
Application.Goto Reference:=Range(Range("J2").Value)
A Goto aktíválja is az adott cellát.Így az összes többi sor teljesen felesleges, elegendő ez az egy.
Ha pedig az éppen aktuális celládban van a kívánt cím akkor:Application.Goto Reference:=Range(Selection.Value)Üdv.
-
-
Fferi50
Topikgazda
-
Fferi50
Topikgazda
válasz
sirarcheer
#35408
üzenetére
Szia!
Ha célterület (ahová másoljátok), már meg van formázva a szabállyal, akkor másolás-beillesztés helyett másolás - irányított beillesztés - értéket használjatok.
Ha van makró lehetőség, akkor a Ctrl V billentyűparancsot át lehet állítani csak érték beillesztésre. De a menüszalagra is feltehető az értéket beilleszt pont.Üdv.
-
Fferi50
Topikgazda
válasz
germinator66
#35347
üzenetére
Szia!
Némi munkával megoldható ez makró nélkül is. (Hidd el, tovább tart leírni, mint végrehajtani.)
Gondolom, az egészet egy új munkalapon szeretnéd, vegyük ezt az esetet:
1. Az azonosítókat tartalmazó oszlopokat minden munkalapról átmásolod az új munkalapra, azonos oszlopba egymás alá.
2. Adatok - ismétlődések eltávolítása -> ennek eredménye, hogy egyedi azonosítóid maradnak.
3. Ezután SZUMHA függvénnyel minden lapról megkapod az adott azonosítóhoz tartozó értékeket. Ha egy munkalapon csak egyszer szerepelhet az adott azonosító, akkor elég az Fkeres függvény.
Ezt minden forrás munkalapra megcsinálod - lehet külön-külön cellákban és a végén az utolsó oszlopban összesíted. De lehet egy cellában összeadni a képletek eredményeit:=Szumha(Elsolap!A:A, Ujlap!A2;Elsolap!B:B)+Szumha(Masodik!A:A,Ujlap!A2;Masodik!B:B)+...Üdv.
-
Fferi50
Topikgazda
válasz
butch3r
#35341
üzenetére
Szia!
Itt van egy megoldási javaslat:
=SUM(INDEX(AB1:AY10;MATCH(A2;A1:A10;0);MATCH(AS1;AB1:AY1;0)):INDEX(AB1:AY10;MATCH(A2;A1:A10;0);MATCH(AU1;AB1:AY1;0)))Dátumok az AB1:AY1, adatok az AB2:AY10, azonosítók az A1:A10 területen. Próbáld adaptálni a sajátodhoz. (Ne zavarjon meg, hogy a keresendő értékeket a területekben levő cellákból vettem - lustaság az oka - , természetesen máshol választhatók.)
Az INDEX függvény ilyenkor Hivatkozásokat ad vissza a SZUM függvénynek! - lásd kettőspont a két INDEX függvény között.
Az első index eredménye a kezdő dátumhoz tartozó olyan cella, amelyik az azonosító sorában van, a második index eredménye a befejező dátumhoz tartozó hasonló cella. A kettő között összegez a SUM.
Egy kritérium: A dátumoknak a dátumot tartalmazó sorban rendezettnek kell lenniük. (Nem a MATCH miatt, az megeszi ebben az esetben, hanem azért, hogy nehogy kilógjon valamelyik dátum a kezdő és végső dátumból.)
Remélem sikerülni fog.
Üdv.
-
Fferi50
Topikgazda
válasz
BullZeye
#35294
üzenetére
Szia!
Ráadásul igaza is van, hiszen alma-val kezdődő nem egy van, viszont alma2-vel kezdődő csak egy!
Ezért nem az A (B) oszlop cellái alapján kell keresni, hanem az egyedi értékeket kiszűrve egy új helyre, azok alapján.
Vagy pedig az első pár karakter alapján keresel, ebben a példában: Bal(B2;4) & "*" a keresendő érték.Üdv.
-
-
Fferi50
Topikgazda
válasz
BullZeye
#35277
üzenetére
Szia!
A kritériumban használhatod a * (csillag) joker karaktert, amit tehetsz a keresendő szöveg elé vagy mögé, vagy mindkét helyre:
"*szöveg*" minden olyan cella, amelyben előfordul a szöveg
"*szöveg" minden olyan cella, amely szöveg-re végződik
"szöveg*" minden olyan cella amely szöveg-gel kezdődikbeleszámit a számolásba a Darabteli függvényben (is, mert több más ilyen függvény is van, ahol ezt lehet alkalmazni).
Üdv.
-
-
Fferi50
Topikgazda
válasz
macilaci78
#35259
üzenetére
Szia!
Az M oszlopot mindenestől átmásolod egy új oszlopba (mondjuk X). Ezután az X oszlopot kijelölöd, adatok - ismétlődések eltávolítása. Ezzel megkapod az egyedi értékeket.
Y2 cellába képlet: =Darabteli($M:$M;X2) Ezt lehúzod az oszlopon.De ha nem zavar, hogy minden szám mellett ott lesz az érték, akkor az N oszlopba, vagy az első üres oszlopba írhatod a Darabteli képletet =Darabteli($M:$M;M2) és lehúzod a számok mellett.
További lehetőség kimutatás.
Üdv.
-
-
Fferi50
Topikgazda
válasz
csferke
#35236
üzenetére
Szia!
Csak két apróság:
"Dim Prompt, Title, Default, MyValue"
Ez a sor mindhárom változódat Variantnak definiálja (ami persze kényelmes, de nem gazdaságos memória használat és nem ad típus ellenőrzési lehetőséget.
Prompt = "1.sor szöveg" + (Chr(13)) + "2.sor szöveg"A szövegek összefűzésénél a + helyett ajánlatos a & műveleti jel használata, Chr függvényt nem kell zárójelbe tenni.
xpos, ypos elképzelhető az is, hogy túlcsordul.
A segítséghez fontos lenne a hibaüzenetet is imerni.
Üdv.
-
Fferi50
Topikgazda
Szia!
Nem vigasz tudom, de nálam 2016 alatt bemásolva nem okoz hibát.
Javaslom, nézd meg a képletvizsgálóval, illetve az elődök bekapcsolásával.
Talán próbáld meg egy másik cellába átmásolni csak a kifejezést. Elképzelhető, hogy valamilyen cella formázást miatt problémázik.Üdv.
-
Fferi50
Topikgazda
válasz
dgyuri50
#35189
üzenetére
Szia!
Az FKERES függvény (és a többi kereső függvény is!) képes rá, hogy szövegtöredéket keressen. Ehhez használni kell a csillag (*) joker karaktert:
"*ap*" megtalálja az első olyan cellát, amelyben valahol előfordul az ap.
"*ap" megtalálja az első olyan cellát, amely ap végződésű
"ap*" megtalálja az első olyan cellát, amelynek kezdete apAz FKERES negyedik paraméterét ilyen esetben HAMIS-ra (0) kell állítani.
Ehhez nem kell rendezni azt az oszlopot, amelyben keresel.Üdv.
-
-
Fferi50
Topikgazda
válasz
Pakliman
#35172
üzenetére
Szia!
Ehhez annyi segédoszlop szükséges, ahány számpárost keresni kíván.
A Ha függvény az értékeket fordítva adja
ebben a formában.
Nem is szükséges a HA függvény,=ÉS(DARABTELI(A1:E1;1)>0;DARABTELI(A1:E1;2)>0)*1
adja a jó eredményt, mivel az IGAZ az Excel táblában 1-re konvertálódik.Üdv.
-
Fferi50
Topikgazda
válasz
attilalr2
#35171
üzenetére
Szia!
Az alábbi felhasználói függvénnyel megoldható:
Function bevizsgal(ByRef hol As Range, ByRef mit As Range)
Dim sr As Range, van As Integer, mr As Range
van = 0
For Each sr In hol.Rows
van = van + (Application.CountIf(sr, mit.Cells(1)) > 0 And Application.CountIf(sr, mit.Cells(2)) > 0) * -1
Next
bevizsgal = van
End FunctionA függvényt egy modullapra kell beírni. (Alt F11, menüben insert - module, majd bemásolod)
Ugyanúgy kell használni mint egy beépített függvényt. Ha húzni szeretnéd a képletet, akkor az első paramétert $ jelekkel kiegészítve kell megadnod.A füzetet makróbarátként kell elmentened, ha meg akarod tartani a függvényt.
Üdv.
-
Fferi50
Topikgazda
válasz
the radish
#35167
üzenetére
Szia!
A Chr(34) jelenti az idézőjel karaktert. Ilyen esetekben egyszerűbb ezen a módon használni (néha nem is lehet másként).
Egyébként duplázni kell az idézőjeleket, hogy egy szövegben (stringben) idézőjelként maradjon benn és ne szöveghatárolóként.
Ha azt szeretnéd, hogy az idézőjel is benne maradjon a szövegben, akkor a +1 részt ki kell törölni.Üdv.
-
Fferi50
Topikgazda
válasz
the radish
#35165
üzenetére
Szia!
Dim cl as range
For Each cl In Range("A1:A250").Cells: cl.Value = Mid(cl.Value, InStr(cl.Value, Chr(34)) + 1): NextÜdv.
-
Fferi50
Topikgazda
válasz
the radish
#35160
üzenetére
Szia!
Makróval
Range("A1:A250").Replace What:="alma",Replacement:="",lookAt:=xlPart
Ugyanez az idézőjelre:
Range("A1:A250").Replace What:=Chr(34),Replacement:="", lookAt:=xlPartDe a Keresés - Csere párbeszédpanelben ugyanezt meg tudod csinálni, ha kijelölöd a tartományt.
Arra kell figyelni, hogy ez a párbeszédpanel megőrzi az előző keresési beállításokat! (vagyis azt, hogy miben keressen, egész cellát nézzen-e stb.)
Üdv.
-
Fferi50
Topikgazda
válasz
Zimmy88
#35147
üzenetére
Szia!
Tudom, nagyon szép a pivot
, de mi lenne, ha a SZUMHA függvényt használnád?A oszlop B oszlop C oszlop D oszlop
nevek Telephely arányok képlet:
Kál --------------------1 =SZUMHA(A:A;$A1;HAVIADATOSZLOP)*C1
Göd Göd1 0,35
Göd Göd2 0,65
Pér --------------------1
stb.A HAVIADATOSZLOP a külső hivatkozás a havi fájlra.
Az oszlopok pedig akár havonta jöhetnének egymás után....Üdv.
-
Fferi50
Topikgazda
válasz
Zimmy88
#35143
üzenetére
Szia!
A 10 oszlop az 10 különféle költség és ezeket kell összesítened?
A havi tábla csak a tárgyhavi adatokat tartalmazza, vagy halmozott adatokat?
A felosztási % éves szinten fix, vagy valamilyen költség - bevétel - létszám stb. alapján számítódik?Egy 50 soros mintát véletlen adatokkal feltehetnél szerintem valahova, talán nem nagy munka, benne azt is megmutatva, hogyan szeretnéd és mi alapján bontani az adatokat.
Üdv.
-
-
Fferi50
Topikgazda
válasz
Zimmy88
#35135
üzenetére
Szia!
Úgy gondolom, számított mezővel körülményes megcsinálni, hiszen új adatokat kellene beszúrni, a régi bontásával, a régi 1 helyett 2 vagy több új adatot, új megnevezéssel.
Szerintem kellene egy olyan "segédadat" oszlopot/sort csinálnod, amelyben a bontott tételek is szerepelnek a nem bontandó városokéval együtt, a bontott tételek nevei is szerepelnek:
pl. Kál 500
Göd 1000
Pér 800
helyett:
Kál 500
Göd1 350
Göd2 650
Pér 800Persze a bontást képlettel is megoldhatod.
Üdv.
-
Fferi50
Topikgazda
-
Fferi50
Topikgazda
válasz
teopapa
#35080
üzenetére
Szia!
Attól függően, hogy mit szeretnél egymás után látni kétféle módon járhatsz el:
1. ha az oszlopokban levő adatok kerüljenek egymás mellé, akkor az oszlopok utolsó sorába összefűzöd valamilyen elválasztójellel az adatokat (pl.A11 képlete: =A1 & ";" &A2 & ";" & ....& A10), ezt végighúzod a soron. Majd a sor végén összefűzöd az egész sor adatait, ugyanazzal az elválasztójellel (A11 & ";" & B11 stb.)
2. ha a sorokban levő adatokat szeretnéd egymás mellett látni - először első sor, majd második sor stb.- akkor az összefűzésdit a sorok utolsó oszlopa után kezded és ezeket fűzöd össze a legvégén.Mindkét eljárás utolsó lépése:
Az így egy cellába összefűzött adatokat átmásolod egy sor eleji cellába. Ezután Adatok - szövegből oszlopok - tagolt, tovább - bejelölöd az elválasztójelet - befejezés.
Gyorsabb megcsinálni, mint leírni.Utána formázhatod a sort tetszés szerint.
De csinálhatsz oszloponként - másolás - irányított beillesztés - transzponálás
a kívánt sor első üres cellájába.Üdv.
(Ps. Az összefűző képleteket lehet ennél gyorsabbra is venni, de ahhoz sokkal több cella kell, szerintem feleslegesen.)
-
Fferi50
Topikgazda
-
Fferi50
Topikgazda
válasz
BullZeye
#35064
üzenetére
Szia!
Egy ötlet:
Az A oszlopot átmásolod a másik oszlopba (akár ugyanazon a munkalapon pl. a Z oszlop). Utána Adatok - ismétlődések eltávolítása erre az oszlopra. Megkapod, hányféle tételed van.
Mellette levő oszlopba a képlet:
=Darabteli(A:A;Z1) ezt lehúzod, ameddig van a Z oszlopban értéked.
Tovább a mellette levő oszlopban a képlet
=Szumha(A:A;Z1;B:B)/Darabteli(A:A;Z1)
Ez minden olyan esetben törtszámot fog mutatni, amikor az értékek nem egyeznek. Viszont abban az esetben nem, ha az eltérések kiegyenlítik egymást
pl. 3 4 5)Másik gondolat: A Darabteli függvénnyel megszámolod az értékeket.
Az A és B oszlopot átmásolod máshova.
Rendezed első szint A, második szint B
Ezután Adatok - ismétlődések eltávolítása - mindkét oszlopot kijelölöd.
Ebben az esetben megmarad az első érték valamint mindazon értékek az adott cikkhez, amelyek az első értéktől eltérnek.Üdv.
-
Fferi50
Topikgazda
válasz
Mentavirág
#35038
üzenetére
Szia!
Ha jól értettem a válaszod, vagyis az első nap (induló nap) hétfő volt, akkor a 7-tel való osztás maradéka adja meg a nap nevét:
=VÁLASZT(MARADÉK(B2;7)+1;"VASÁRNAP";"HÉTFŐ";"KEDD";"SZERDA";"CSÜTÖRTÖK";"PÉNTEK";"SZOMBAT")Üdv.
-
Fferi50
Topikgazda
válasz
Mentavirág
#35025
üzenetére
Szia!
Próbáld ki az alábbit:
=VÁLASZT(HÉT.NAPJA(MA();2);"HÉTFŐ";"KEDD";"SZERDA";"CSÜTÖRTÖK";"PÉNTEK";"SZOMBAT";"VASÁRNAP")A MA() függvény helyére írod az adott cella címét, amelyik a dátumot tartalmazza.
A hanyadik napot nem egészen értem, az év elejétől eltelt napot tartalmazza, nem pedig az adott dátumot? Mondjuk a 434. nap elég érdekes szám...Üdv.
-
Fferi50
Topikgazda
válasz
csferke
#35014
üzenetére
Szia!
A problémát az okozza, hogy a modul neve és a makró neve is ugyanaz. Most kipróbáltam. Ha a modult nevezem át előbb és utána írok bele ugyanolyan nevű makrót, akkor a makróablakban teljes névvel jelenik meg. Amikor előbb írom meg a makrót és utána nevezem át ugyanazon névre a modult, akkor a makró ablakban a rövid név látható. DE csak addig, amíg újabb modult nem adok hozzá. Ha bezárom a fájlt és újranyitom, akkor is a hosszú nevét látom.
A VBA-ban nem tiltott a rendszer által "foglalt" nevek használata, de ebben az esetben pontosan meg kell mondani (akár hosszú névvel is), hogy rendszer dologra, vagy saját - azonos nevű - dologra hivatkozunk.Tehát esetedben a teendő: átnevezni vagy a makrót, vagy a modult.
Üdv..
-
Fferi50
Topikgazda
válasz
csferke
#35012
üzenetére
Szia!
Szerintem azért van így, mert 2 munkafüzet és 2 projekt van nyitva. A rövidebb elnevezés az éppen aktuális projektben (aktív munkafüzetben) levő makrókat "illeti", a hosszabb - a munkafüzet ill. project nevével "kibővített", teljes név pedig a másikban levőt.
Hivatkozni és elindítani a nem aktív munkafüzetben levő makrót csak teljes névvel lehet. Ez rendszerszintű szabály.
Sőt, osztálymodulban levő makrót csak az osztálymodul nevével kibővítve tudsz elindítani az aktív munkafüzetben is.
Ez a szabály érvényes a változókra is.
Több információért nézd át lsz. a változók deklarálása és élettartama fejezetet, illetve a makrók meghívása, futtatása részt a HELP-ben.Üdv.
-
Fferi50
Topikgazda
válasz
Delila_1
#34997
üzenetére
Szia!
Remek.
Viszont gondolva a feltételes formázás lehetőségére, érdemes lenne az Interior.Color helyett a DisplayFormat.Interior.Color tulaljdonságot használni. (Nyilván megfelelő Excel verzió kell hozzá, de a manapság sűrűn használatosok már tartalmazzák.)Ezzel akár szabadalmaztathatnád is.

Üdv.
-
Fferi50
Topikgazda
Szia!
Ha van bármilyen szabályosság a színezésben, akkor az feltételes formázással megoldható: a formázandó cellák kijelölése képlettel pontban.
Másrészt, ha képlettel meg lehet oldani a feltételes formázást, ugyanazzal, ugyanazokkal a képletekkel az átlagszámítást is meg lehet oldani.
Szerencsés lenne, ha tennél fel mintát, illetve megmutatnád, milyen logika változtatja a színeket.
(Persze, ha nincs logika, az sem baj - akkor viszont valóban makró játszik csak. A Range.DisplayFormat.Interior.Color tulajdonság megmutatja a cella aktuális színét.)Üdv.
-
Fferi50
Topikgazda
válasz
Bjørgersson
#34981
üzenetére
Szia!
Elvileg nem kell, csak így sokkal egyszerűbb, nem kell agyonbonyolítani a képletet...
Továbbá abból indultam ki, hogy azt már eleve kiszedted (erre jutottam az előző kérdéseid kapcsán
)(Akkor a B1 helyére a cikkszámkiszedő képletet kell írni.)
Üdv.
-
Fferi50
Topikgazda
válasz
Bjørgersson
#34977
üzenetére
Szia!
Ez így talán már világosabb. Tegyük fel a következőt:
A1 =eredeti szöveg B1=cikkszám
C1 képlete =JOBB(HELYETTE(A1;B1;"");4)Ha netán van benne még szóköz a toll után, akkor nem 4, hanem 5 karaktert kell venni.
Üdv.
-
Fferi50
Topikgazda
válasz
Bjørgersson
#34977
üzenetére
Szia!
Nem az adott cellában, hanem abban ahova a képletet írod. Viszont a kérdésed nem volt egyértelmű, más is félreértette.

Üdv.
-
Fferi50
Topikgazda
válasz
Bjørgersson
#34973
üzenetére
Szia!
Erre való a HELYETTE függvény:
=HELYETTE(A1;"toll";"")Előző hozzászólásod alapján
Akkor BAL(A1;4)Üdv.
-
Fferi50
Topikgazda
válasz
lenkei83
#34928
üzenetére
Szia!
Valóban fáradt vagy....
Az első változóba a munkalap kódneve kerül, ami ugye string (akkor is, és főleg azért, mert variantnak definiáltad).
A következő sorban pedig objektumhoz szeretnéd rendelni a stringet.... Nem csoda, hogy nem megy.Kérdezd le csak a nevét, majd a Sheets(név) formában hozzárendelheted az objektumhoz.
Üdv.
-
Fferi50
Topikgazda
válasz
Juditta_56
#34618
üzenetére
Szia!
Ezt valószínűleg Redmond (se) tudja!

Üdv.
-
Fferi50
Topikgazda
válasz
lasarus1988
#34621
üzenetére
Szia!
Cellaformázás - egyéni - [óó]:pp
Üdv.
-
Fferi50
Topikgazda
Szia!
A Szöveg.Keres függvény és a Közép függvény kombinációja használható erre. Ha több is van benne, akkor megadhatod, hogy az első után keressen.
Pl:=KÖZÉP(A1;SZÖVEG.KERES("2017/";A1);12)az A1 cellában a 2017/ tel kezdődően 12 karaktert ad vissza.=KÖZÉP(A1;SZÖVEG.KERES("2017/";A1;35);12)az A1 cella 35. karakterétől keresi az értéket és ad vissza 12 karaktert ha talál.Üdv.
-
Fferi50
Topikgazda
Szia!
A frissítő rutinba tedd bele a cserét.
Vagy - állítsd át az Excelben a tizedesvesszőt pontra: Fájl -Beállítások - Speciális - Rendszerbeállítások szerinti elválasztók használata kockából kiveszed a pipát, majd a tizedesjel kockába beírod a pontot.
Ok.
Innentől ezzel fog számolni a rendszer. Célszerű bezárni és újranyitni a fájlt.Vigyázz, ez alkalmazás szintű beállítás, tehát másik fájlban is így fog működni.
Üdv.
-
Fferi50
Topikgazda
Szia!
Az Excel alkalmazást a visible tulajdonsággal tudod láthatóvá tenni. De mivel ezt nem szeretnéd, ezért nem látszik a dialógus ablak sem.
Ezért írtam az elején, hogy a "gazda" VBA-ban kell bekérned a paramétereket akár egy userform, akár inputbox (nyilván többszöri) használatával.Üdv.
-
Fferi50
Topikgazda
Szia!
Miért van a SaveAs dialóg ablak. A SaveAs metódusnak megadhatod, hogy milyen paraméterekkel mentse el a fájlt és akkor nincs ablak. Viszont, ha mindenképpen szeretnél dialógus ablakot, akkor a VBA alkalmazásban teheted meg, hogy bekéred a paramétereit, majd az előző mondatban írtak szerint beadod azokat a mentéshez. Esetleg próbáld meg az
Application.FileDialog(msoFileDialogSaveAs).Show metódust.Üdv.
-
Fferi50
Topikgazda
válasz
lenkei83
#34420
üzenetére
Szia!
Az nyilván nagyobb kutatómunkát igényelne, hogy elsőre miért nem szereti - amire most nem feltétlenül vállalkoznék, talán egy későbbi időpontban...
Ha most így működik (persze nem megnyugtató), akkor figyelni kell, hogy hiba esetére legyen mentés.
(Nyilván esetedben még fontosabb.)
Priviben még elbeszélgethetünk rajta esetleg.Üdv.
-
Fferi50
Topikgazda
válasz
PistiSan
#34405
üzenetére
Szia!
Én inkább az INDEX függvényt javasolnám: =INDEX(Tábla;sor száma; oszlop száma) Help sokat segít.
Mondjuk a szöveges példádban pont az oszlopok változnak (A-B-C stb).
Ha pl évet is változtani szeretnél. akkor a HOL.VAN függvény is kell hozzá. Viszont úgy az első képletet ügyesen felírva húzni lehet a többi cellára.Üdv.
-
Fferi50
Topikgazda
válasz
lenkei83
#34398
üzenetére
Szia!
Nyiss meg egy üres Excel munkafüzetet. A VBA nézetben az immediate ablakba írd be:
Application.EnableEvents=False (enter)
Azaz kikapcsolod az eseménykezelést.
Utána próbáld megnyitni a fájlt (nekem sikerült). Innen már makrónként végigmehetsz, hogy mi akaszthatja ki.Üdv.
Update: Sőt: ok_wathing indítása lépésenként, pár lépés után lefuttatása majd bezárás - mentéssel, az eseménykezelés visszakapcsolása után simán meg is nyitotta a fájlt.
-
Fferi50
Topikgazda
válasz
konyi79
#34362
üzenetére
Szia!
Bocs, elrontottam a makrót, kimaradt a szín hasonlításból egy rész.
Itt a jó:
Sub hasonlit()
Dim cl As Range, sh As Worksheet
Set sh = Sheets("Munka1") ' ide írd a saját első munkalapod nevét
For Each cl In ActiveSheet.UsedRange.Cells ' legyen aktív a második munkalap
If cl.Font.Color <> sh.Range(cl.Address).Font.Color Or cl.Value <> sh.Range(cl.Address).Value Then cl.Interior.Color = vbYellow
Next
End SubÜdv.
-
Fferi50
Topikgazda
válasz
user112
#34355
üzenetére
Szia!
Feltételes formázás képlettel. A képlet pl. =A1<>Munka1!A1 és beállítod a háttérszínt. Ezt a második munkalap egész hasonlítani kívánt területére érvényesíted. Értékre működik a képlet.
A betűszin eltérést csak makróval lehet megoldani:Sub hasonlit()
Dim cl As Range, sh As Worksheet
Set sh = Sheets("Munka1") ' ide írd a saját első munkalapod nevét
For Each cl In ActiveSheet.UsedRange.Cells ' legyen aktív a második munkalap
If cl.Font.Color <> sh.Range(cl.Address) Or cl.Value <> sh.Range(cl.Address).Value Then cl.Interior.Color = vbYellow
Next
End Sub
A makró az érték eltérést is figyeli.Üdv.
-
Fferi50
Topikgazda
válasz
scott_free
#34341
üzenetére
Szia!
Pl. Keresed a $G3*J3 értéket és cseréled Kerekítés($G3*J3;2) -re.
Üdv.
-
Fferi50
Topikgazda
válasz
föccer
#34318
üzenetére
Szia!
Mi lenne, ha a kódsorozatot kitennéd egy külön oszlopba, majd eltávolítanád az ismétlődéseket. Ezután az F511 cellára csinálnál egy érvényesítést, amelynek a tartománya az előzőekben kialakított lista -- amit tehetnél másik (akár rejtett) munkalapra is, netán elneveznéd.
Üdv.
-
Fferi50
Topikgazda
válasz
csongi
#34291
üzenetére
Szia!
Index és hol.van függvény páros a barátod:
A2 cella képlete =INDEX(R:R;HOL.VAN($B8;$T:$T;0))
J2 cella képlete =INDEX(AA:AA;HOL.VAN($B8;$T:$T;0))Az egész oszlopok helyett írhatod azt a tartományt, ameddig az adataid vannak, lényeg, hogy mindig azonos sorban kezdődjön és végződjön az index és a hol.van tartománya is (pl.R2:R10 és T2:T10).
A többit szerintem ki tudod találni.
Üdv.
-
Fferi50
Topikgazda
Szia!
" Első körben arra gondoltam, hogy a keresések eredményeképpen kapott kimutatás statikus, tehát ahol az egyik helyen a liszt szerepelne, a másikon pl. az élesztő, és keveredhetnek az adatok."
Ez csak akkor lehet igaz, ha direkt cellákra hivatkozol,ha keresőfüggvényt használsz, akkor ilyen nem fordulhat elő.
Kereszttábla pl.
1. sorban v. oszlopban az alapanyagok sorolva
A többi sorban/oszlopban receptnév és a megfelelő alapanyagnál a mennyiség.sor/oszlop felcserélhető, amelyik kényelmesebb, azt lehet használni. De úgy érzem, Delila ilyesmit javasolt neked.
Üdv.
-
Fferi50
Topikgazda
Szia!
Az Excelben működik a külső fájlra hivatkozás is, nemcsak a másik munkalapra hivatkozás.
Egyszer persze meg kellene csinálni azt a mutatót (hivatkozás könyvtárat), amelyik tartalmazza, hogy melyik recept hol van.
Ezután keresőfüggvényekkel szépen megoldható a feladat szerintem.
"a receptek nem azonos formázásúak, tehát ami komponens az egyikben benne van, az hiányzik a másikból és viszont."
Ezt nem is értem, mi köze a formázásnak a tartalomhoz - hiszen a komponensek száma nyilván attól függ, mit szeretnél gyártani. Igazából azt sem látom kivitelezhetetlennek, hogy a receptek és az alapanyagok "kereszttábla" formájában legyenek tárolva.Egy minta biztosan sokat segítene abban, hogy további tanácsokat adjunk.
Üdv.
-
Fferi50
Topikgazda
válasz
KaliJoe
#34255
üzenetére
Szia!
"1. A NAGY függvény 2 paraméterű. A 2. paraméter az, hogy hányadik "nagy" értéket akarom megkapni.
2. Ezt javítottam is, mert mondjuk mindig az első nagyot kérem ki."Már megbocsáss, de az első nagy = max ha jól tudom. Akkor nem kell a nagy függvény, elég a max.
Viszont az eredménytáblában az első, második, harmadik stb. legtöbb szavazatot kapott személy nevére voltál kíváncsi - a függvény pedig pont ezt adja meg szerintem.Valószínűleg nem ismertük meg a feladat teljes egészét.
Csak mellékesen jegyzem meg, hogy én viszont az indirekt függvényt útálom és kerülöm, ahol csak lehet. Helyette nagyon sokszor jó az index - hol.van páros.
Üdv.
-
Fferi50
Topikgazda
válasz
KaliJoe
#34235
üzenetére
Szia!
Próbáld meg lsz. az alábbi tömbképletet az O7 cellába:
=INDEX($B$1:$I$1;1;HOL.VAN(NAGY(($B$23:$I$23)-OSZLOP($B$1:$I$1)*0,0001;SOR()-6);$B$23:$I$23-OSZLOP($B$1:$I$1)*0,0001;0))A tömbképletet a Ctrl+Shift+Enter billentyű kombóval tudod bevinni, az Excel kapcsos zárójelbe teszi.
Ezt a képletet húzhatod lefelé az oszlopon.Ha átmásolod az eredeti tábládba, akkor a határokra figyelj légy szíves. A Nagy függvény második paraméterében a SOR()-6 esetében az előző sor számát kell levonni.
Trükk: Mivel a keresendő értéket és a táblázatot is módositjuk az oszlop* 0,0001 értékével, így nincs két egyforma eredmény.Üdv.
Új hozzászólás Aktív témák
- Linux Mint
- Máris frissítette az ipari felhasználásra szánt Ryzen Embedded szériáját az AMD
- Mégis meglepi egy új GeForce-szal a rajongókat az NVIDIA?
- D1Rect: Nagy "hülyétkapokazapróktól" topik
- Synology NAS
- Gyúrósok ide!
- iPhone topik
- Dark Souls sorozat
- 18. helyet ért a Samsung Galaxy S26 Ultra kamerarendszere a DxOMarknál
- PlayStation 5
- További aktív témák...
- Xbox / Microsoft Store feltöltőkártya kód (digitális, HU) több címlet, több db, azonnal, olcsón
- PC Game Pass előfizetés
- Eredeti Microsoft termékek - MEGA Akciók! Windows, Office Pro Plus, Project Pro, Visio Pro stb.
- Adobe Előfizetések - Adobe Creative Cloud All Apps - 12 Hónap - 15% AKCIÓ
- Számlás!Steam,EA,Epic és egyébb játékok Pc-re vagy XBox!
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
!
ebben a formában.
Fferi50