Hozzászólások
-
SzerzőBejegyzés
-
Szia!
Kipróbáltam, nekem így működik:
Public Function kikeres(id) As Variant Dim tabla As Range Set tabla = Sheets("nevsor").Range("A1:D10000") kikeres = Application.WorksheetFunction.VLookup(id, tabla, 2, False) End Function
Ebben nincs most hibakezelés, azaz hogy ha nincs találat, akkor mi van.
imre
- A hozzászólás módosításra került: 7 years, 5 months telt el-horvimi.
Én nem látok mellékletet.
Feltennél egy rövid mintát?Köszi,
Imre
Szia!
A
HIPERHIVATKOZÁS()
függvénnyel ezt nagyon egyszerűen meg tudod csinálni.Én azt csinálnám, hogy a 10 oszlop utáni első oszlopba tennék egy HIPERHIVATKOZÁS függvényt, paraméternek megadnám az első oszlop első URL-jét.
Majd elhúznám jobbra 10 oszlopot, utána dupla klikkel leküldeném a képletet az aljáig.Sajnos, ha értékként megpróbálod visszatenni az eredeti oszlopokra, akkor elveszíti a hiperlink jellegét. Kék marad a szöveg, de nem lesz link.
Tehát így megduplázod az oszlopok számát.Másik megoldás, hogy makróval ciklusban végigmenni cellánként a címeket tartalmazó tartományon, és mindegyiken végrehajtani a hiperlinkké alakítást.
Egy cellára így néz ki:
ActiveSheet.Hyperlinks.Add Anchor:=Selection, Address:= _ Selection.Text, TextToDisplay:=Selection.Text
Imre
OK.
És a fentiek szerint próbáltad javítani?Szerintem Delila megoldása elég biztató.
Ezt lehet szofisztikálni csoportokra, de ehhez valahová egy csoport-Tagok összerendelő segédtáblát kell létrehozni, szintén rejtett és védett lapon. Esetleg veryhidden.
Így a belépő usernevéhez egy vlookup-al kikereshetjük a csoportját, így az ugyanabba a csoportba tartozóknak ugyanazt a view-t kapcsoljuk be.Imre
Előbb simán beilleszted a kódot, utána az egészet kijelölöd, és ezután nyomod be a Code gombot.
Látod? Az előzőben megcsináltam. A tagolást tartalmazta, nem tettem bele plusz szóközöket.Imre
Szia!
Ha jól sejtem, akkor UDF-ként akarod használni.
Így a fókuszt nem viheted el az aktív celláról.
Tehát a ws.Activate lehet az egyik a baja.
A másik, hogy olyan nincs, hogy ws.Application.worksheetfunction. ws nélkül kell használni.Harmadik gondolatom, hogy vajon ennek mi az isten értelme van azzal szemben, hogy beírsz egy VLOOKUP függvényt a cellába? Hacsak nem mégsem UDF. DE akkor nem írhat ki #ÉRTÉK hibát.
Imre
- A hozzászólás módosításra került: 7 years, 5 months telt el-horvimi.
Alapvetően Power Query-ben lenne a legegyszerűbb, de ha ez nem opció, akkor nézzük az Excel verziót:
Azt kell valahogy elérni, hogy elinduljon a szövegből oszlopok varázsló a megnyitáskor.
Ennek egyik módja, ha a fájl kiterjesztését átírod txt-re.
Fájl-> megnyitás-> *.* -> Elindul a szövegből oszlopok varázsló1. Lépés: Tagolt
2. lépés: pontosvessző (gondolom) -> behúzza az oszlop határokat
3. lépés: Megkeresed alul a kérdéses szám oszlopot, kijelölöd, majd fent begolyózod, hogy szöveges legyen
4. lépés: befejezésA kérdéses oszlopban megcsinálod a szükséges cseréket pontról vesszőre, majd számmá alakítod. Erre több megoldás is kínálkozik, ezek közül valamelyik remélem működni fog.
http://excel-bazis.hu/tutorial/szovegkent-tarolt-szamok-atalakitasa-igazi-szammaVégül jöhet Delila megoldása, vagy PIVOT tábla.
Imre
- A hozzászólás módosításra került: 7 years, 5 months telt el-horvimi.
Szia!
Megnéztem. A sima web lekérdezés (Adatok->Webes tartalomból) nem birkózik meg az oldallal, nem ismeri fel a táblákat benne jól.
A Power Query igen. Azzal sikerült simán, frissíthető módon importálni.
Viszont a Wide nézetre csak a gomb megnyomása után tér át, ami viszont a böngészőben javascript hatására alakul át.
Na, ez nem fog menni. Szóval csak a sima nézethez, de ahhoz simán lehet, ha felteszed a Power Query bővítményt. Ingyenes.Imre
Hali!
Delila mint minig, most is szuper megoldst adott.
Sajnos, ha csak ez a fájl áll rendelkezésedre, akkor nehezen lehet kitalálni, hogy milyen szám volt előtte ott, bár nem lehetetlen.De én azt tippelem, hogy ez eredetileg nem Excel, hanem CSV vagy TXT.
Ha ez így van, akkor az import folyamat alatt meg lehetne oldani, hogy maradjon szöveges formátumban.
???Ja, és ezután PIVOT tábla is szóba jöhet megoldásként.
Imre
- A hozzászólás módosításra került: 7 years, 5 months telt el-horvimi.
Az Office 365-ben februártól vagy egy új függvény, ami ezt valószínűleg megcsinálja, és találtam makrós, UDF-es megoldást is, bár még nem próbáltam.
Érdekel?
Szerintem megérné megnézni.
Csatoltam, nézd meg az E oszlopot- A hozzászólás módosításra került: 7 years, 5 months telt el-horvimi.
Attachments:
You must be logged in to view attached files.Érdekes feladat.
Makró nélkül bajosan oldható meg, bár eddig van egy félmegoldásom rá.Kérdések:
– Melyik Excel verziót használod?
– Hányféle alapanyag van, azaz a A táblának hány sora van?
– Találtam UDF (makrós) megoldást, ami valószínűleg jó lehet rá. Érdekel?Megjegyzés
ha egy cellába vesszővel vagy bármivel tagolt listát teszel, akkor azt a továbbiakban nagyon nehéz lesz kezelni.Van egy másik megoldás, ha PIVOT táblával próbálkozunk.
Visszatöltöttem, amiben látod a félmegoldást a bal tábla utolsó 2 oszlopában, és a PIVOT megoldást a jobb oldalon.
Imre
- A hozzászólás módosításra került: 7 years, 5 months telt el-horvimi.
Attachments:
You must be logged in to view attached files.Szia!
Nem voltál érthető 🙂
Legalább is nekem. Nagyjából persze.Tölts fel kérlek egy rövid mintát, ahol benne van, hogy milyen adatokból indulunk, és megvan, hogy mit szeretnél eredményül kapni.
Köszi,
Imre
Van még itt egy másik dolog, amivel nem tudom, hogy mit lehet kezdeni.
Nevezetesen, ha az un írástudó által megoldott fájlból kimásolják és beillesztik a megoldást a saját fájljukba, akkor mi van?Igen, ez egy lehetséges megoldás, de akkor tehát a kiindulási munkafájl is makrós kell, hogy legyen, és a megnyitás eseményhez kell rendelni a véletlen kód generálását. Ezen kívül meg kell oldani, hogy csak egyszer fusson le, és a következő megnyitások esetén már ne.
Ezután már csak az van hátra, hogy mi történjen, ha nem engedélyezi a makrókat.
Ezt úgy szokták csinálni, hogy:
Az eredeti feladat fájlban van egy „Welcome” munkalap, és eredetileg a többi nem látszik
A megnyitáskor engedélyezett makró fedi fel a feladathoz használandó lapokat
Ha nem engedélyezi, akkor csak a Welcome lapot látja, ahol közöljük vele, hogy engedélyezni kell a makrókat.
Elvileg ez is elég, ha csak egyszer fut le, az első megnyitáskor, amikor azt a bizonyos very hidden lapot készíti.
Végül még a Projektet (Makrót) is le kell védeni a fájlban, hogy ne lehessen (egyszerűen) hatástalanítani a makrót, illetve megnézni azt a bizonyos very hidden lapot.
Bár ha a kód valami szisztéma szerint áll elő, és nem teljesen véletlen, akkor feltörés esetén azt is lehetne vizsgálni, hogy az esetleg beleírt másik kód valid-e egyáltalán. De ez legyen egy továbbfejlesztési lehetőség.Néhány sör ellenében szívesen segítek ebben neked, de osszuk meg a feladatot.
Kézi módszerrel kísérletezd ki a generálandó kódot.
Mivel voltál nálam VBA tanfolyamon, az Immediate ablakig valószínűleg eltalálsz. (VBA editor -> Ctrl+G)
A VBA-nak véletlen szám előállításához egy függvénye van, ez az rnd fv.
Ha beírod, hogy ?rnd, akkor kapsz egy 0-1 közötti véletlen számot.
Ebből matekkal és/vagy függvényekkel gyárts egy megfelelő karakterszámú egészet.
A non plus ultra pedig az lenne, ha ki tudnád gyötörni magadból és bármilyen egyéb forrásból, egy olyan makrót, ami készítsen egy munkalapot, nevezze el, és annak az A1 cellájába tegyen egy véletlen számot. (mondjuk ennek nem kellene egésznek lennie, ezt csak tornászásként :-)), végül tegye ezt a lapot very hidden állapotba.
Ezt a makrót pedig rendeld a munkafüzet megnyitásához.
Fokozásként már csak egy IF kellene bele, hogy mindez csak akkor hajtódjék végre, ha nem létezik még az a bizonyos nevű nagyon rejtett munkalap.
Aztán párszor nyisd meg a munkafüzetet, és mentsd el másként, majd ellenőrizd a generált számokat.
Első lépésként jó lesz.Cserébe majd megcsinálom neked, hogy ha egy mappában van N db ilyen fájl, akkor egy tartományba kilistázza, a fájlneveket, mellé a benne lévő véletlen kódokat, és megmondja, vagy megjelöli, hogy vannak-e egyformák.
Ha ez megvan, akkor rámehetünk a mi van akkor, ha nem engedélyezi a makrókat esetére.
Jó munkát,
🙂Imre
Csak nagyjából értem, de vegyük végig a modellt.
1. Te előkészíted a fájlt, annak lesz létrehozási és mentési ideje.
2. Ők letöltik magukhoz. Vegyük, hogy csak az OKOS tölti le, mindegy. Ettől lesz egy új létrehozási dátuma, és egy régi módosítási dátuma.
3. Megoldja a feladatot, és elmenti. Itt szétválhat a dolog, mert sima mentésnél marad a régi létrehozási dátum, de mentés másként-nél lesz új létrehozási dátum, utóbbi esetben a két dátum megegyezik, előbbinél nem.
4. Feltölti a drive-ra
5. Többiek letöltik. Lesz az előző szerinti, de közös módosítási dátuma, és új létrehozási dátuma. Ha csak átnevez, akkor közös marad a módosítási dátum, és te nyersz. Ha mentés másként-tel mentik el, akkor új fájl jön létre, és azonos lesz a létrehozási és a módosítási dátum. Ekkor Ők nyernek. Főleg, ha beleír, majd kitöröl, és úgy menti másként.vagy rosszul gondolkodok?
A véletlenszámos részt nem fogtam.
imre
Szia!
A két dátum szolgáltatása operációs rendszer szolgáltatás. Unix/Linux-ban is van, sőt, minden normális oprendszerben.
Fontos lehet mindkét információ.Ezeket az adatokat csak makróval lehet kinyerni, beépített EXCEL munkalapfüggvény nincs rá.
Lehet csinálni pl. egy pársoros (sőt, akár egy soros) makrót az egyéni makró munkafüzetbe is, tehát nem abba, aminek a dátumára kíváncsi vagy, és bármikor használhatod, hogy mondjuk az aktív cellába írja bele az aktív munkafüzet valamely tulajdonságát, jelen esetben a valamely dátumát.Érdekel?
Imre
Szia!
A céges email címem:
horvath.imre KUKAC Pentaschool pont HUAzt is csatold, hogy mit szeretnél látni az erdményben!
Imre
Az egyéni számformátum az érékhez nem nyúl, csak a megjelenést szabályozza. Attól még a cellában a dátumsorszám marad. Ez a módszer csak akkor jó, ha nem akarod az eredményt tovább használni, csak látni a nap nevét, vagy ki akarod nyomtatni.
Szia!
Kellene egy kis minta, meg hogy mit szeretnél eredményként látni az XML feldolgozás után.
XML import ügyben nekem sincs tapasztalatom, de van ötletem, kipróbálnám.Ehhez meg kell értenem a feladatot.
Imre
A Power Query lekérdezés szerkesztője csak egy előnézetet mutat az adatokból, alapból 1000 sort, ezért nem láttad a problémát ott. Az adatforrást meg nem vizsgáltad végig.
Örülök, hogy megoldódott
Szia!
Az 5449-es sorban van egy szöveg.
Ha azt törlöd, akkor meggyógyul.Kíváncsi vagyok, hogy valóban ennyi?
🙂Imre
Szia!
Nagyon valószínű, hogy adattípus probléma van mégis.
Én megpróbálnám a kérdéses oszlop típusát konkrétan megadni, vagy csinálni belőle egy új oszlopot, amit PQ függvénnyel alakítok számmá, majd az eredeti oszlop helyére tenni.
Ezután mehet a szűrés a negatívokra.Másik lehetőség, hogy az ORA adatforrásból indulsz és mindent PQ-vel csinálsz.
Ha nem hadititok, esetleg egy részletet feltölthetnél. De olyan legyen, ami előidézi a hibát.
Ránéznék.Imre
- A hozzászólás módosításra került: 7 years, 6 months telt el-horvimi.
Mi is nagyon örülünk.
A fentiek alapján az Excel dátumkezeléséről még érdemes lenne tanulnod egy kicsit…
A dátumokat valójában sorszámként kezeli.
1900.jan.1 neki az első nap, jan 2 a második, stb..Tehát a fentiek alapján az 1, valójában 1900 jan 1 volt, a 2 pedig 1900 jan 2, stb…
Tehát 1-31-ig a hónap rész mindig január lesz.Hát, ennyi a titok.
Imre
Igen, Delila-nak igaza van, itt az INDIREKT-re lesz szükség.
Az előző fórumkérdés is ilyesmire kérdzett rá.Nézzünk egy példát egy sima SZUM függvénnyel. Adjuk össze azt a tartományt, aminek a neve a D1 cellában van.
=SZUM(INDIREKT(D1))
Tehát az INDIREKT kiveszi a D1-ből a szöveget, hivatkozást készít belőle (ha van olyan névtartomány) és átadja a SZUM-nak.
Tehát a D1-be más-más, de létező nevet írunk, vagy bárhogy odateremtjük (legördülő menü, INDEX fv, stb., akkor a SZUM (SZUMHA, SZUMHATÖBB), az olyan nevű tartományt használja argumnetumként.
Imre
Szia!
Ha olyan hivatkozást akarsz csinálni, ami fixen mindig ugyanoda mutat, akkor az egyik lehetséges megoldás az INDIREKT függvény haszálata.
Például, ha mindig az A1-e akarsz hivatkozni úgy, hogy ne kövesse a beszúrásokat, törléseket, másolásokat, akkor ezt kell írni:
=INDIREKT("A1")
Ha másik munkalapon van, akkor
=INDIREKT("Munka2!A1")
A hivatkozást szövegesen (dupla idézőjelek között) kell megadni.
Nem tudom milyen hosszú a Te első sorod, azaz hány oszlopos, ugyanis ezt a hivatkozást nem lehet simán másolni, mert ha elhúzod jobbra, akkor is ugyanezt fogja tartalmazni, tehát alapból kézzel kell kijavítani a cellahivatkozások oszlop számait.
Van rá trükk, hogy az oszlopszámokat növelje elhúzáskor, de egyelőre csináld meg kézzel.
Kíváncsi vagyok…
Imre
Kedves Otisz!
A kérdésed egy teljesen új problémát vet fel, amit egy új fórumtémába kell írni, nem egy régebbi téma hozzászólásaként. Ez minden fórumban így szokás, egyszerűen azért, mert az új kérdések azonnal megjelennek, és többen látják. Régi, már megoldott problémákkal már nem kell foglalkoznunk. Én, mint a Fórum üzemeltetője, kaptam róla egy levelet, de senki más nem látja, illetve nem érzékeli.
Kérlek, hogy tedd fel a kérdésedet újra, ezen a helyne:
http://excel-bazis.hu/uj-tema-inditasa-az-excel-temak-forumbaKöszönöm,
Horváth Imre
Szívesen.
A megoldás nem száz százalékos, mert az eltérők kiadhatják ugyanazt az átlagot, mint az azonosak, de elég kicsi az esélye, bár a lehetséges adatokat te ismered.
A feltételes középérték biztosabb lenne, de olyan alapból nincs, bár lehetne csinálni tömbképlettel.Szia!
Ha a B oszlopban lévő aktuális előfordulás megegyezik az összes, az akt A oszlop értékhez rendelt B előfordulás átlagával, akkor nagy valószínűséggel egy vagy több, de ugyanolyan érték van az akt. elemhez rendelve, különben pedig valószínűleg különbözők.
Tehát egy feltételes átlagszámítást kell összehasonlítani az akt, értékkel.
Visszatöltöttem egy lehetséges megoldást.
Erre gondoltál?
Im
Attachments:
You must be logged in to view attached files.Igen, ez a világ legegyszerűbb megoldása, ha egy munkalapon vannak az összehasonlítandók.
🙂Szia!
Itt a megoldás!
http://excel-bazis.hu/tutorial/ket-lista-osszehasonlitasa-elkepesztoen-egyszeru
erre gondoltál?
Imre
Szia!
Ezt meglátásom szerint két segédoszloppal lehet megoldani.
Vegyük alapnak az A oszlopot.
Az első segédoszlopba kivenném a zárójelben lévő szövegeket (i, fn, m, stb). Ez képezné a rendezés fő szintjét.
A szükséges tudást, függvényeket és a megoldást egy mai másik fórumkérdésben találod.Egy másik oszlopba pedig kivenném a nyitó zárójel előtti betűt, ami a szóköz határoló miatt valójában kettővel van előtte.
A SZÖVEG.KERES függvénnyel megkeresed a nyitó zárójelet, majd a KÖZÉP függvénnyel kiveszel az annyi -2 karaktertől 1 karaktert.
=KÖZÉP(A3;SZÖVEG.KERES("(";A3)-2;1)
Ez az oszlop lenne a rendezés második szintje.Tehát ha megvan a plusz 2 oszlop, akkor
Adatok menü-> rendezés ->Első szint a szófaj, második szint a szó utolsó betűje.Lényeges, hogy a szó utolsó betűje és a nyitó zárójel között mindig ugyanannyi, lehetőleg 1 szóköz legyen. Ha ez nem biztos, akkor még azzal is foglalkozni kell egy KIMETSZ függvénnyel.
Imre
- A hozzászólás módosításra került: 7 years, 6 months telt el-horvimi.
Szia!
1. Megkeresed a kezdő zárójelet, meglesz a pozíciója
2. Ugyanez a záró zárójellel.
3. Ebből kiszámolható, hogy honnan és milyen hosszú szöveget kell kivenni a KÖZÉP függvénnyelEz csak az első zárójelben lévő adatot veszi ki. Ha egy cellában több zárójeles adat is van, és azok is kellenek, akkor már koránt sem ennyire egyszerű a helyzet, főleg, ha nem tudjuk mennyi. Ahhoz már segéd számítások, oszlopok kellenek.
A fenti lépések megoldásához ez a képlet vezetett, a fájlt visszatöltöttem. Tettem bele egy fejlécet, ezért a második sorba került az első adat.
=KÖZÉP(A2;SZÖVEG.KERES("(";A2)+1;((SZÖVEG.KERES(")";A2))-B2-2))
Erre gondoltál?
Imre
Attachments:
You must be logged in to view attached files.Kicsit pontosítanád, pl. egy minta feltöltésével?
Legyen benne, hogy miből indulunk, és mi lett a végeredmény.köszi!
Dani!
Szeretném megkérdezni, hogy a 91% birtokába hogyan jutottál? Nem te számoltad ki valahogy?
Na mindegy, amit kérdezel, alapfokú matematika.100%-nak kell tekinteni azt, ha mindenki 5 pontot adott volna. Tehát a 100% az az összes szavazat szorozva öttel. Jelen esetben ez 59 szavazattal 295. A tört rész pedig soronként a szorzatok összegezve, tehát ahányan fél pontot adtak szorozva a 0,5-el, ehhez hozzáadva az egy pontot adók szorozva 1-el, és így tovább. Másképpen mondva a pontok és a rájuk tett szavazatok szorzatösszege.
A kettő hányadosa megadja az összesített százalékot.A konkrét példára, ha egy üres cellába beírod ezt a képletet:
=SZORZATÖSSZEG(B2:B11;C2:C11)/(SZUM(C2:C11)*B11)
Ezután már csak formázni kell százalékra, és látni fogod a 91%-ot.
ha átírogatod a szavazatokat, akkor változni fog.Imre
P.S
A másik bejegyzést töröltem, mert új témát kezdtél, de az ide tartozott volna.Igen, nem volt pontosan definiálva a feladat, de az első két megoldás valamelyike már úgy tűnik megfelelt.
Sziasztok!
Delila megoldása tökéletes abban az esetben, ha nincs ismétlődés a max és min értéket illetően a tartományban. Ha van, akkor azok mind kiesnek az átlagszámításból. Kérdés, hogy ez jó-e, de ezt csak a Dani tudja.
Egy másik gondolatmenetet is leírnék.
Eszerint a teljes tartomány összegéből kivonjuk a max és a min értéket, majd ezt elosztjuk a tartomány kitöltött celláinak kettővel csökkentett számával.=(SZUM(tartomany)-MIN(tartomany)-MAX(tartomany))/(DARAB2(tartomany)-2)
Ez a képlet azonos eredményt ad Delila képletével, ha nincsenek azonosságok a max vagy a min értékben, és eltér, ha vannak.
Imre
Szia!
Ctrl-al vagy Shift-el a három fájlt kijelölöd, jobb klikk-> megnyitás.
A csatolások frissítését lehet automatikusra tenni. Érdemes kipróbálni, hogy mi lesz.
lehet, hogy egyik gyorsabban, a másik lassabban nyílik meg, ezért pont nem jön létre a csatolás.Az Excel a memóriában dolgozik. Hogy mennyi sornál fárad el? Ez egyedi. Szerintem annyinál, amennyinél Te úgy ítéled meg.
Az Excel nem adatbáziskezelő. Az adatbázis-kezelők sem csinálnak semmit maguktól. Minden az adatbázis szerkezetétől, és az azt kezelő szoftvertől függ. Viszont Ők az adatokat döntően a disk-en tárolják, és a memóriában csak azt, ami éppen kell.
Szia Dani!
A probléma az, hogy a megszámláláshoz a feltételben az „öböl” szót írtad. Ez így pontos egyezést keres, de az A oszlop egyik cellája sem tartalmazza csak az „öböl” szót.
Helyettesítő vagy más néven joker karakterként a *-ot (csillag) kell használni. Helyesen így néz ki a képlet:
=DARABTELI(A2:A19;"*öböl*")
Tehát számold meg, hogy hány olyan cella van az A2:A19 tartományban, amiben benne van valahol az „öböl” szó. Tehát bármivel kezdődik (első csillag), majd jön az Öböl, majd bármire végződik.
Ha az öböl mindig a végén van, akkor „*öböl”-re kell keresni.Remélem segít!
Imre
Szia!
Csípőből azt mondanám, hogy ezt a feladatot nem Excelben kellene csinálni. A konkurrens használat csak hasonló bűvészmutatványokkal barkácsolva működget egy darabig. Én az adatokat adatbázisba írnám, és ahhoz csatlakoznék a kliensekkel.
Na de ezt ugye meg is kellene csinálni, Access-be vagy még inkább valami SQL szerverbe kellene az adatokat tenni valahogy (különben makróval nagyon egyszerű lenne)
Szóval a mostani probléma lehet időzítési gond is. Tehát hogy tovább indul a makró, és megpróbálja bezárni a fájlt, de frissítés még nem futott le a háttérben. Próbálj meg betenni egy kis várakozást.
Application.Ontime
vagy olvasd el ezt a fórumbejegyzést, itt is jó lehet, valamelyik megoldás.
Imre
- A hozzászólás módosításra került: 7 years, 7 months telt el-horvimi.
Nincs ezer soros korlát. Jó nagy hülyeség lenne. Az 1000 sor csak arra vonatkozik, amikor a lekérdezést szerkeszted, ott a preview csak ezer sor mutat. Különben iszonyú lassú lenne minden lépésnél a rengeteg rekordot fel is dolgozni.
A lekérdezés betöltésénél már be fog hozni minden sort.
A jelszava megnyitási védelem valóban probléma, de ez utóbbi nem az.
Az utolsó kérdést nem értem.
Imre
Szia!
Az Office 365 verziók közül ha 2016-os változatokban mindben benne van a Power Query, viszont a rendszeres frissítést nem mindegyik támogatja.
Ami biztosan jó, az a Pro Plus verzió.
Itt egy link, ahol elég részletesen látszik, h mi a helyzet
Elég hosszú, keress rá a Power Query szóra. Azt fogod látni, hogy:
Yes Yes No No No NoA táblázat tetején pedig az Office 365 verziókat.
A No nem azt jelenti, hogy nincs benne, mert az alap mindegyikben benne van, csak azt, hogy nem fog frissíteni.
Ezt gyakorlatilag egyáltalán nem kommunikálják az MS-nél.
Imre
Szia!
Már az elején mondtam a Power Query-t. Na de most meg a védett munkafüzet ügy. Ezzel kapcsolatban azt találtam egy 2016 júliusi cikkben, hogy nem támogatott a védett munkafüzetekből történő lekérdezés.
Ez nem túl jó hír, sőt MS Query- esetén is ez a helyzet. Ezt nem tudtam, bele kell írnom a diákba, köszi, hogy felmerült!
Emiatt Én most csak makrós megoldást látok, ha nem akarod kézzel megszüntetni , majd visszatenni a védelmet.
Tehát készítesz egy új munkafüzetet, abba beleteszed a lekérdezéseket és az összesítő lekérdezést is.
Majd beleteszel egy makrót, ami 3 részből áll, ezeket akár külön-külön fel is veheted, majd egybe másolod.1. Megnyitja a kérdéses fájlt, leveszi a védelmet, majd elmenti és bezárja (bezárni nem is fontos)
2. Átvált a lekérdezést tartalmazó munkafüzetre és frissíti a külső kapcsolatokat
3. Ha nem zárta be, akkor csak átvált megint a kérdéses fájlra és visszateszi a védelmet, majd elmenti és bezárjaImre
OK. Ha nem adsz mintát, akkor nem tudok többet segíteni. Én most azt gondolom, hogy Power Query-vel megoldható lenne az, amit akarsz. Összerakod vele azokat az oszlopokat a két táblából, amiket szeretnél, és az eredmény alapján mehetne a PIVOT. Ez persze nem biztos, h így van.
Imre
Szia!
Én is az utóbbira tippelek 🙂
Szóval akkor pontosítást kérek újra, ha már visszatérünk az eredeti problémához:A két külön fájlban lévő táblázatod, amikből összevont kimutatást kell készítened, azonos fejlécűek, vagy vannak azonos nevű oszlopaik, és ezeket kellene egymás alá másolni közös fejléccel, majd ebből az egyesítettből megcsinálni a PIVOT-ot?
Melyik Excel verziót használod?
Imre
Szia!
A PLAFON függvény pont erre való.
Az első argumentumként megadott számot a második argumentuman megadott érték legközelebbi többszörösére kerekíti felfelé.Tehát a PLAFON(54;100) százra fog kerekíteni.
A PADLÓ() ugyamez csak lefelé.
Imre
Szia!
Az adatmodell struktúrát a fájlban tárolja. Megkérdezhetem, hogy miért importáltad az adatmodellbe, a lapokat? És nem is volt másolatod az eredetiről?
Ettől megszabadulni nem egyszerű, és még nem is próbáltam, csak olvastam róla.
Egy fórum kérdés utolsó bejegyzésében találtam egy biztató hack-et, próbáld ki.
Utána visszatérhetünk az eredeti kérdéshez, ha akarod.Imre
- A hozzászólás módosításra került: 7 years, 7 months telt el-horvimi.
Szia!
Próbálom értelmezni a kérdést:
Van három adatforrásod, három különböző munkafüzetben (Excel fájlban)
Ebből a háromból szeretnél egy eredmény táblát összehozni, majd abból egy PIVOT riportot.Azt is feltételezem, hogy a források adattartalma változik, mert különben csak össze kellene egyszer ollózni a szükséges adatokat egy új táblázatba…
Mivel nem látom az adatforrásaidat, nehezen tudok segíteni, mert a kérdés nem egyértelmű.
Azonos szerkezetű (fejlécű) táblázatok egymás utáni másolása-e a feladat, vagy az egyik tábla kiegészítése plusz oszlopokkal a másik két táblából (FKERES)Bármi is a pontos feladat (amit tisztázhatnál minta feltöltéssel), a megoldás makró vagy Power Query használata lesz szerintem.
Tehát akkor tudnánk tovább lépni, ha feltöltenél a három forrásból egy-egy mintát, a kívánt eredménytáblából is egy mintát.
Az egész lehet közös munkafüzet lapjain.
Imre
Szia Kati!
Kipróbáltam a kódodat, értem mit szeretnél. Ezt kattintgatással PQ-vel nem lehet megcsinálni. Valószínűleg M kóddal igen, de attól még távol állok, úgyhogy maradjunk a VBA-nál.
Imre
Ha jól értem, azt szeretnéd, hogy a pirossal kitöltött oszlopban listából kiválasztasz egy elemet, és jobbra mellé tegye oda az egységárat. Ez lenne a panel ár ugye? Amellett van egy darabszám, és így az egységár és a darabszám szorzata megadja a végösszeget.
Ehhez a következő kell:
– Az árlistát egészben táblázattá alakítani
– Az első oszlopát külön névtarománnyá alakítani
– A panel ár oszlopba egy FKERES függvénnyel kikeresed a D oszlopban kiválasztott tételt és a hozzá tartozó árat az árlista táblázatban.A darabszám adott, a mennyiség pedig a szorzás.
Visszatöltöttem.
Imre
Attachments:
You must be logged in to view attached files.ha találsz megoldást, az nagy segítség lenne sokaknak!
Köszi!
Sziasztok!
Delila megoldása is jó lehet, de:
Ha számítás eredményének a változását szeretnétek érzékelni, akkor ezt szokás tenni:
1. A fájl megnyitásakor egy globális változóba lementjük a képlet aktuális eredményét
2. A Worksheet_Calculate eseményben pedig megnézzük, hogy most mi van a cellában (target), és az megegyezik-e az induláskorval.Ha nem egyezik, akkor változás volt. Ezt kiírhatjuk, de a mi fontos, hogy az új értéket megint tegyük el a globális változónkba.
Tehát a modul tetején van egy
Dim regi_ertek
A munkafüzet megnyitási eseményéhez tartozik a figyelendő cella értékének lementése
Private Sub Workbook_Open() regi_ertek = Sheet1.Range(figyelt cella).Value End Sub
Végül a munkalap kalkuláció eseményéhez tesszük az összehasonlítást és nem egyezés esetén a lementést.
Private Sub Worksheet_Calculate() If Range(figyelt_cella).Value <> regi_ertek Then MsgBox "Változás!" regi_ertek = Range(figyelt_cella).Value End If End Sub
Imre
Szia!
ha ODBC-vel csatlakozol (eddig ezt nem említetted), akkor ezt nézd meg.
https://community.powerbi.com/t5/Issues/DataSource-Error-ODBC-ERROR-07006-Oracle-ODBC-Restricted-data/idi-p/112708A fenti linken a driver telepítése után a natív ORACLE csatlaokzást kell elvileg választani. De ha nem tudtad telepíteni sem, akkor mindegy.
Különben létező problémáról van szó ODBC esetén, és nem igazán hoztak még olyan megoldást, ami alapból megoldja a problémát, de itt írnak valamit, amit kipróbálni nem tudok, hogy valahová beírnak egy SQL parancsot, és akkor működik. Ha jól emlékszem a csatlakozáskor meg lehet adni egy SQL parancsot…
???
Imre
Szia!
nem tudom megnyitni a Word fájlt, azt mondja, hogy sérült.
Mindenesetre nézd ezt meg, hátha segít.Könyörgöm, a képlet csak a hetedik sorig nézi az adatokat a B és az A oszlopban!
Javítsd már ki, hogy a végéig nézze!Valamit nem jól csinálsz. A fájl indításakor engedélyezni kell a makrókat. Amit visszatöltöttél, az ugyanaz, amit Én tettem fel.
Szia!
Csatoltam a megoldást tartalmazó fájlt. Benne van a makró, ami egy UDF.Ez azt jelenti, hogy tulajdonképpen egy új munkalapfüggvénnyel egészíti ki az Excelt.
=CONCATIF(felt_tartomany; feltetel; stringtartomany_amiket_osszefuz; [elvalaszto]; [Noduplicates])
Hasonlóan kell használni, mint a SZUMHA függvényt. Az F oszlopban látod.
Legegyszerűbb, ha ebbe a fájlba másolod be az adatokat.
Indításkor engedélyezned kell a makrókat.
majd szólj vissza, hogy sikerült-e!
Imre
Attachments:
You must be logged in to view attached files.Kedves Jani!
Ez a feladat makróval oldható meg.
Óriási szerencsére találtam egy működő UDF-et a neten, pont azt tudja, amit szeretnél.Viszont van pár lépés, hogy használatba vedd.
Ha érdekel, akkor felteszem egy kis magyarázattal.Imre
Na.
Ezek a legjobb pillanatok!
Gratulálok!Kedves Kriszta!
Így látatlanban nehéz megmondani mi a baj.
Ha csinálnál egy mintát, és feltöltenéd, akkor meg tudnám nézni, h mi a baja.
A makró és az adatfájlt zip-eld össze.Azt azért jó, ha tudod, hogy a SUMIFS függvény nem tud zárt munkafüzetből dolgozni, tehát ha ezt akarod használni, akkor valóban meg kell nyitni a forrás munkafüzetet. De ez igaz akkor is, ha a makró lefut, és beírja a képletet, majd bezárod a forrás fájlt. Ekkor el fognak romlani az eredmények.
na mindegy, ha teheted, töltsd fel azt, amit eddig csináltál. Ha üzleti adataid vannak, akkor másítsd meg az adatokat. Nem kell csak mondjuk 10 sor.
Imre
Ha már lefut, az biztató.
Lehet, hogy rá kéne nézzek távolról.TeaViewer-ed van?
Te tudod kezelni a Mac-et, én megpróbálom a makrót meggyógyítani, hogy ott is működjön.
Vagy legalább látnám, hogy mi a baja.Igen, sajnos valóban nincs, nem tudtam. Sajnos a Mac-es Office mostohagyermek még mindig.
A B terv egy makró lehetne, ami kigyűjti a dolgokat, de Mac-en Excel-t makrózni öngyilkosság. A Windows-on írt makrók jó eséllyel nem emennek.
Azért megpróbáljuk jó?Csatoltam egy makrós megoldást.
A szures lapon beírod a B1-be a recept nevét, és megnyomod a gombot.Ha működik, akkor örülünk.
Néhány megkötés:Az adatok lapon a táblázatnak A1-ben kell kezdődnie (fejléc)
A szures lapon az A3-ba teszi a szűrést mindig.Megy?
Imre
Attachments:
You must be logged in to view attached files.Szia!
Csináltam egy Power Query megoldást.
remélem nálad is működni fog.Az első munkalapon az adatforrást táblázattá alakítottam, az első oszlopnak adtam egy Add-in nevet.
A táblázat neve az, hogy Data.
Ebből kiindulva fut le egy átalakítás, ami a második munkalapra betölti annak a receptnek a hozzávalóit, aminek a nevét beírod a B1-es cellába.Ha az első munkalapon kicseréled vagy bővíted az adatokat, hogy az összes recept benne legyen, és az egészet táblázattá alakítva a data nevet adod, akkor működni fog.
A szűrés akkor fut le, ha a B1-be beírod a recept nevét, majd az alatta lévő szűrt eredményre jobb klikk és Frissítés.
Előbb nézegesd ezzel, majd mentés másként után próbáld ki az összes adattal.
jelezz vissza, hogy mi lett!
Lehetnek kompatibilitási problémák, kíváncsi vagyok.
Imre
Attachments:
You must be logged in to view attached files.Ha nem haragszol, akkor átírtam a címet. Amint látod, mindenki megpróbál a címmel tömören utalni a problémára.
Kb. úgy, ahogy most átírtam.
Ha jól látom 2016-os Excel-ed van.
Ez a probléma megoldható makróval vagy PowerQuery-vel. Excel 2016-ba már be van építve.
Én az utóbbit javaslom.Első körben kell csinálni egy UNPIVOT-ot, és utána egy szűrést vagy egy PIVOT táblát interaktív szűréssel.
Ha feltennél egy minta fájlt, azon megmutatnám.Viszont fontos lenne, hogy a nevek igaziak legyenek, mert azokat a Power Query bedrótozza a kódba. Átírni nem annyira szívderítő munka. Az adatoknak nem kell valósnak lenniük, és 3-4 receptnyi adat elég szerintem.
Összesen különben hány receptet tárolsz így?
Imre
2017-02-28-23:04 Hozzászólás: Cella lekérdezés adott időszakra, eredmény összehasonlítása más értékkel #34122017-02-28-08:24 Hozzászólás: Cella lekérdezés adott időszakra, eredmény összehasonlítása más értékkel #3409Az Office 2016 jó hír, mert abba be van építve a Power Query alapból.
Miért jár keresztre feszítés? Ezt nem értem. Telepíteni nem lehet dolgokat? Ez esetben nem kell.Egy munkahelyi problémához kértél segítséget.
A Power Query verziót este tudom feltenni, mert az otthoni gépemen van.
Igen, jól érted.Ha a szabadság igényléses tábla struktúráját megváltoztatjátok, vagy az átalakításhoz is készül egy megoldás, akkor csak be kell másolni az aktuális adatokat a Power Query riport munkafüzetbe, és az eredmény táblán nyomni egy frissítést.
Imre
2017-02-28-00:48 Hozzászólás: Cella lekérdezés adott időszakra, eredmény összehasonlítása más értékkel #3405Ha tudsz telepíteni Power Query bővítményt, azaz 2010-es vagy annél újabb Exceled van, akkor tudok szolgálni egy megoldással, ahogy említettem.
Itt egy kép róla.
Valamiért nem látszik, de az első oszlopban ott vannak a nevek is természetesen.
Béla
Béla
Béla
Béla
LaciTehát csak azok, ahol eltérés van.
- A hozzászólás módosításra került: 7 years, 9 months telt el-horvimi.
Attachments:
You must be logged in to view attached files.2017-02-28-00:31 Hozzászólás: Cella lekérdezés adott időszakra, eredmény összehasonlítása más értékkel #3403Szia!
Én annyit tudok most segíteni, hogy feltételes formázással kiemelem azokat a műszak bejegyzéseket, ahol V-nek kellene lennie, de nem az van.
Csatoltam.
Ha a szabi bejegyzés tábla is hasonlóan lenne kitöltve, mint a műszak, de abba csak V bejegyzések vannak, akkor Power Query-vel meg lehetne csinálni úgy, hogy csak aműszal táblát meg a szabi táblát kellene aktualizálni, majd frissítés, és kész.Fontos kérdés,hogy milyen verziójú Excelt használsz? Mivel a feladat xls formátumú volt.
Imre
Attachments:
You must be logged in to view attached files.Szia!
Pontosan azt, amit leírtál, makróval lehet megcsinálni.
Minden gomb kattintás eseményéhez megírni, hogy aktiváljon egy adott nevű lapot. Esetleg a lap nevét vegye az első oszlopból.Makró nélküli megoldásként lehetne azt csinálni, hogy az első lapon a lapnevekhez Hyperlinket rendelsz, ami a vonatkozó munkalap valamelyik cellájához ugrat.
Imre
Imre
Kicsit utánanéztem, nem sokkal lettem okosabb. Az biztos, hogy nem könnyű dologról van szó.
Ez egy SQL szerver kapcsolat, nem MS QUERY kapcsolat.Elképzelhető, h csak makróval lehet megcsinálni.
1. Meg kellene próbálni rögzítővel felvenni azt, hogy az SQL parancsban megváltoztatod a dátum értéket.
2. Ha sikerül, akkor a kódban a konkrét dátum helyére már be lehet varázsolni egy cella aktuális értéket, vagy esetleg be is kérheti a dátumot egy Inputbox-ban
3. A makróhoz készítesz egy indító gombot, vagy hozzáadsz egy billentyűkombinációt.
4. A makrót talán érdemes lenne külön munkafüzetbe tenni, vagy az Egyéni makró munkafüzetbe.
5. Indításkor bekérné a kívánt dátumot, és a kapcsolatban módosítaná a dátumot, majd elmentené a munkafüzetet.Ha az egész, amit leírtam, kínai, mert nem makróztál még soha, és nincs senki körülötted, aki segíthetne, akkor ki kell találni valamit.
Imre
Szia!
Kipróbáltad? Ha igen, mit tapasztaltál?
Ha még nem, próbáld ki!Nem fog sikerülni.
Marad a makró, vagy a Power Query. Utóbbi bonyolultsága a feltételtől függ.
Imre
Szia!
Ha makróval szűrsz, de helyben és nem kéred, hogy azonnal másolja máshová a szűrés eredményét, akkor megmarad az autoformázás.
Ezután a szűrés eredményét makróval másolhatod a kívánt helyre, és VOILÁ!Kipróbáltam, nekem működik!
Imre
Szia!
Első probléma
————————-
A speciális szűrést helyben végzed, vagy az eredményt más helyre kéred?
Kicsit utánanéztem, és sajnos az a hírem van, hogy ha más helyre másolod rögtön a szűrést, akkor a feltételes formázás nem fog megmaradni.
Megoldások:
1. Helyben szűrd, és utána másold a szűrés eredményét
2. Ugyanezt le lehet makrózni
3. megint csak makró, ami a szűrés eredményére alkalmazza ugyanazt a feltételes formázást, ami az eredeti táblán volt.Második
————-
Hát, az a tól-ig így szövegesen eléggé érdekesen hangzik, konkrétan hajmeresztő!
Látnom kellene a táblát, és hogy mit próbáltál meg, ami nem működött.
Nem tudom, hogy hányféle értékelésed van, de ezzel a módszerrel csak azt tudod vizsgálni, hogy egy cellában az van-e pontosan, hogy „1 db- 6 db”.
Ha a szóközöket elhibázod, már nem lesz egyenlő.
Tölts fel egy mintát!Imre
Szia!
Hogyan csatlakozol az SQL szerverhez?
MS SQL-lel?Az Adatok/Kapcsolatok ablak második lapján ott van az SQL kérdés.
próbáld meg a konkrét dátumot vagy dátumokat kérdőjelre cserélni.Nézd meg mi történik frissítéskor, és hogy hogyan változik a kapcsolatok ablak!
Imre
Szia!
Csak egy apróságon múlik a dolog. A mentéskor meg kell adni a Local:=True argumentumot is.
Ezzel utasítjuk arra, hogy a helyi beállításoknak megfelelő elválasztójeleket kezeljen.
tehát olvasáskor és íráskor is a magyar rendszernek megfelelően pontosvesszőket használ.Ez persze csak akkor igaz, ha magyar a Windows vagy olyan, ahol a nemzetközi beállításokban a listaelválasztó jel pontosvessző.
A kérdéses parancs tehát nálad:
ActiveWorkbook.SaveAs Filename:= _ "C:\Users\.....\Desktop\Partnerek_Teszt.csv", FileFormat:=xlCSV, _ CreateBackup:=False, Local:=True
Imre
Szia!
Azt képzelem, egy rekord feltöltése úgy történne, hogy a 4-5 legördülő listából ki kell választani az értékeket (ezek adják a rekordot), majd valami eseményre (pl gomb) hozzáíródnak egy létező tartomány végéhez.
De bármilyen másik működést választanánk, elsőre azt gondolom, hogy ezt makró nélkül nem nagyon lehet megcsinálni. Hiszen az alsó táblázat aljára az újonnan kiválasztott adatok valami esemény hatására kerülnek.
Az én tudásom alapján nem tudnék olyan megoldást csinálni pusztán hivatkozásokkal, hogy ha kiválasztok egy menüből egy elemet, az menjen mondjuk C8-ba, majd ha még egyszer legördítem, és kiválasztok egy másikat, akkor az meg menjen a C9-be, és így tovább.
Imre
Szia!
Ebben az esetben nem elég az „Ismétlődő értékek” szabály, mart az valóban nem nézi az előfordulások számát.
Ha az is fontos, hogy hányszor ismétlődik, akkor képlettel kell szabályt alkotni.Külön szabály a 2x ismétlődőkre, és külön az annál többször ismétlődőkre, ha elég ez a szétválasztás.
De lehetne 2-3-4-5- stb.. darabonként külön-külön szabályt csinálni.jelen esetben a következőt kell csinálnod:
1. Kijelölöd az egész tartományt, azaz mindkét oldalt
2. Töröld a feltételes formázást belőle, de maradjon kijelölve
3. Új szabály->Formázandó cellák kijelölése képlettel
4. Képlet:=DARABTELI($A$1:$U$10;A1)=2
-> Ehhez megadsz egy formátumot
5. Maradjon kijelölve, és adj hozzá még egy szabályt képlettel
6. A képlet:=DARABTELI($A$1:$U$10;A1)=3
-> Ehhez megadsz egy másik formátumot.
7. készFigyelj arra, hogy a DARABTELI képletben az első argumentum a teljes tartomámy fixálva, a második argumentum pedig a tartomány első cellája dollárjel nélkül (F4-el tudod módosítani)
Így minden kijelölt cellára megcsinálja az ellenőrzést.Ha 3-nál is többször előfordulhat egy érték, akkor arra is mind hozzáadhatsz egy új szabályt.
Ha 3 előfordulás után már nem számít, csak színezze, akkor a második képletben a relációs jel >= legyen.
Jelezz vissza, hogy sikerült-e!
Imre
Bocs, közben lemaradtam.
Azt hiszem értem mit szeretnél csinálni: Van egy olyan cellád, ami Merged, azaz összevont, több soros.
Ehhez a konkrét cellához igazítanád a sort?ha igen, nézd meg ezt:
https://www.thespreadsheetguru.com/blog/2014/2/21/why-cant-my-row-height-automatically-adjustImre
Szia!
Eddig mit tettél az ügy érdekében?
Mi okoz problémát?Imre
Szia!
Megtetszett nekem ez a probléma, ezért írtam róla egy egész cikket.
http://excel-bazis.hu/tutorial/dinamikus-nevtartomany-keplettel
És ez most Neked köszönhető!
Imre
Szia Anikó!
Jól látod, ez Excel probléma. Az a gond, hogy a CSV eredetileg sima ASCII kódoláshoz lett kitalálva, amerikában, ahol nincsenek speciális karakterek.
Ezen korlát miatt vezették be az UTF (Unicode) kódolást.
Az Excel viszont nem tud UTF kódolt csv-t menteni.(Mondjuk az ö és ű betűkkel nem kellene problémának lennie.)
Lehet, hogy a fájl eredetileg másként van kódolva?A mentés másként-ben van egy ‘Unicode text’mentési lehetőség, ami jó lenne, tehát elvileg megmaradnak a spec karakterek, de cserébe viszont TAB delimitert tesz a text fájlba.
Egyik lehetőség, hogy elmented makróval ilyen TAB delimitált txt-be, majd kinyitod notepad-el, és kicseréled a TAB-okat pontosvesszőre, elmented Unicode-ban.
Ez elég béna, és akárki nem is tudja megcsinálni.Másik lehetőség lehet, hogy az adatokat cellánkét, soronként kell egy új fájlba menteni.
Ez nem egy sima mentés másként, hanem le kell programozni, és úgy menteni a végén.Ezt találtam:
http://stackoverflow.com/questions/2524703/save-text-file-utf-8-encoded-with-vbaEzt esetleg még megpróbálhatod:
http://superuser.com/questions/466267/excel-destroying-special-character-when-saved-as-csvImre
- A hozzászólás módosításra került: 7 years, 10 months telt el-horvimi.
Én nagyjából ezt az algoritmust állítanám fel.
—————————————–'Első cella 'ciklus amíg nem üres az akt. cella ' s = akt. sor értéke ' ciklus amíg a ugyanaz aszöveg ' következő cella ' s = s + akt. sor értéke ' ciklus vége ' új sor beszúrás ' új sorba: "Összesen:" és mellé s ' következő cella 'ciklus vége
Imre
Szia!
Tehát ha a csoportok ismétlődhetnek, és valóban azt szeretnéd látni, amit leírtál a példában, akkor valóban makrót kell írni rá.
Ha soha nem programoztál, akkor ez egy kicsit nehéz lesz első feladatnak.
Hol tartasz makróprogramozásban?
Nyilván a feltételes formázás a legegyszerűbb.
Azokat a sorokat, ahol a „Jelzés a lejáratról” oszlopban kisebb vagy egyenlő dátum van, mint a mai nap, beszínezi.Az email küldéshez sokkal összetettebb dolgot kell csinálni:
Makrót kell írni, ami az előzőekben leírt feltételt megvizsgálja soronként, és ha teljesül küldd egy emailt (kinek is?)
Az illetőnek, vagy neked?
Problémák ezzel:
1. makrót kell írni, emiatt makrós lesz a fájl. Ez még megoldható, hogy a makró és az adat ne egy munkafüzetben legyen.
2. Figyelni kell, hogy kinek küldtünk már emailt, hogy ne küldözgessünk naponta figyelmeztetést. Erre be lehet vezetni egy külön oszlopot, amit a makró tölt ki.
3. Mivel küldjük az email-t? Össze kell lőni az Excel VBA-t és a használt levelező klienst
– Outlook? (Ez OK, ha van beállítva és működik, azaz tudsz Outlook-kal levelet küldeni) a többi már nem lesz olyan egyszerű
– gmail?
– egyéb?4. Mi az email szövege? Ez is nyilván változó, legalább a lejárat dátuma változik
Szóval a makrós email-es megoldás jóval összetettebb.
Ha viszont a feltételes formázásos dolog vége mindenképpen az lenne, hogy a megjelöltekre szűrsz és kézzel email-t írogatsz nekik, akkor érdemes makró irányba elmenni.
Ezek persze még hátra vannak, hogy elment-e a levél, megkapta-e a címzett, elég-e egyszer értesíteni, stb…
Ez más síkú problémaHa egyáltalán nincs makró ismereted, akkor ez nem lesz könnyű út.
Válassz!
Szia!
Mégis hogy gondolod a jelzést?
Színezze be a lejárathoz közeli dátumokat? Vagy az egész sort?Küldjön email-t?
Alert ablakban sorolja fel őket?
Csilingeljen? 🙂Külön oszlopban vannak a lejárati dátumok?
Imre
Szia!
Ha neked megfelelően működik, akkor használhatod úgy, ahogy felveszi a rögzítő.
De nem baj, ha a rögzítő féle struktúrált hivatkozást és a listobject megoldást is ismered egy-egy szituációban.Az anyagot elküldöm email-ben.
Imre
Szia!
Ez „sajnos” így működik by design.
Emiatt nekem is elég sokat kellett utánajárnom, mit hogy kell csinálni, ha Listobject típusú műveleteket akarok csinálni.A VBA tanfolyamon szoktam adni egy doksit, amiben összefoglalom a ListObject típusú műveleteket.
Van jó néhány oldal, ami ezzel foglalkozik, gondolom már rájuk találtál.Itt van például egy remek darab.
Imre
Szia!
Az a helyzet, hogy ilyen esetben azt szoktuk csinálni, hogy dinamikus névtartományokat hozunk létre a listaforrásokból. Ennek legegyszerűbb módja, ha táblázattá alakítjuk, és a belsejét elnevezzük, majd ezt a nevet adjuk meg listaforrásként.
A lépések:
1. csinálsz egy fejlécet a listának
2. beírsz pár elemet egymás alá
3. kijelölöd az egyiket
4. Beszúrás->Táblázat-> OK
5. Kijelölöd az adatokat fejléc nélkül
6. Képletek->Névkezelő (A táblázat már benne lesz)
7. Új…
8. Adsz neki egy nevet, lehetőleg egy szóból
9. Az adatérvényesítési szabályként a lista adatforrása: =névEzek után a listák végére új elemet írva, a táblázatok és vele együtt a név automatikusan kiterjed és az új elemek megjelennek a legördülő menüben.
Ezt csináld meg a másikra is.
Visszatöltöttem neked a megoldást.
Imre
- A hozzászólás módosításra került: 7 years, 11 months telt el-horvimi.
Attachments:
You must be logged in to view attached files.Nézet menü->Elrendezés -> Mozaik (Vízszintes vagy függőlege)s. Ha egymás mellé akarod, akkor vízszintes.
Ez az éppen nyitva lévő munkafüzeteket egymás mellé rendezi úgy, hogy fele-fele arányban kitöltsék a képernyőt.A Ctrl+TAB kombinációval vagy kattintással tudsz váltani közöttük.
Imre
Szia!
Nézd meg a feladatkezelőben, hogy az Excel esetleg nem fut-e két példányban.
A folyamatok között keresd, van-e két Excel.EXE?Valószínűleg ez a baj, azaz két példányban fut az Excel, és a forrás, illetve a cél munkafüzet külön példányokhoz tartozik.
Próbáld meg mindkettőt a Fájl->Megnyirtás paranccsal megnyitni a dupla kattintós megynitás helyett.Jelez vissza, hogy mi lett!
imre
- A hozzászólás módosításra került: 7 years, 12 months telt el-horvimi.
Szia!
Ezt így, ahogy leírtad, nem nagyon lehet megcsinálni, esetleg makróval, de van hasonló dolog.
Ki lehet jelölni területeket előre, és mindegyikhez lehet külön-külön jelszót rendelni.
Ha ezután levéded az egész munkalapot jelszó nélkül, akkor az egyes területeket külön-külön csak a hozzájuk rendelt jelszó beírása után lehet szerkeszteni.Magyar Excelben a Korrektúra lapon találsz egy Tartományok szerkesztésének engedélyezése gomb.
Ezután egymás után megadhatod a területeket és a jelszavakat.Segítség ehhez angolul
https://www.myonlinetraininghub.com/excel-protect-ranges-with-different-passwordsTehát neked (vagy a munkafüzet tulajdonosának) kell előre definiált sorokat egyesével felvenni, és jelszót adni hozzá.
Ez jó lehet neked?
Imre
- A hozzászólás módosításra került: 8 years telt el-horvimi.
Az 1900.01.01-nél kisebb dátumokat nem kezeli dátumként az Excel.
Ez okozhat problémát.A forrás adatban miért vannak 1900-as dátumok?
Valami különbség képlettel számolódik a repülési idő?lehet, h ott nem dátum formátumban kellene számolni, hanem rendesen kiszámolni percben az értékeket.
A különbséget szorozni 24*60-al, kerekíteni és számmá formázni. Utóbbi nem lényeges.Imre
A lekérdezés8.jpg-ben azt látom, hogy a „Repült idő” oszlopban 1899-es dátum-idő értékek vannak.
Ez a problémás oszlop?
És ez nem okozhatja a problémát?Különben horvath.imre@pentaschool.hu a címem
Imre
Na ok, most látom mit csinálsz.
Ez, amit újnak nevezel a PowerQuery beépülő modul.
2016-ba be van építve alapból az Adatok fülön. Most éppen ezt tanulmányozom. Elég ÁLLAT!De megvan a jó öreg MS Query is, csak egy kicsit balra.
tehát NE az „Új lekérdezés” gombbal indulj, hanem az Adatok lapon az első nagy gombbal, a „Külső adatok…” a mi barátunk.
Itt meglesz minden, ami a régi MS Query-hez kell.A forrás változtatást MS Query-hez makróval lehet megcsinálni valóban a leginkább felhasználóbarát módon.
Ehhez segítség:
http://www.excelforum.com/excel-general/390063-ms-query-data-source-change.htmlImre
Különben a PowerQuery nagyon klassz, és ott is lehet Paraméter táblát csinálni, de nem annyira egyszerű, mint az MS Query-ben
Ha ragaszkodnál ehhez, akkor itt egy kis segítség:
https://blog.oraylis.de/2013/05/using-dynamic-parameter-values-in-power-query-queries/Szia!
Egy kicsit eljátszogattam vele, bár nem nagyon szoktam MS Query-t használni, legalább is nagyon rég jött szembe, Most újra megbizonyosodtam, hogy nagyszerű eszköz.
Paraméteres lekérdezés
————————–
Azt találtam a neten, és nekem bevált, ha SQL nézetben a Where feltételben az érték helyére egy kérdőjelet írtam.
A Query frissítésekor vagy futtatásakor kérdezi a paraméter értékét. Gondolom azt tudod, hogy ilyenkor megadható egy cella, ahonnan a paramétert vegye, sőt, megadható, hogy mindig innen vegye, vagy frissüljön a lekérdezés, ha változik a paraméter cella értéke.Kapcsolati útvonal
——————-
Ezt pedig ki lehet exportálni egy *.odc nevű fájlba. Ez XML formátumú, és tartalmazza a kapcsolat tulajdonságait, így a kapcsolat nevét és az útvonalat is.
Adatok->Kapcsolatok->Tulajdonságok->Definíció fül->Kapcsolatfájl ExportálásaÚj kapcsolatkor pedig be lehet importálni.
Tehát ha import előtt módosítod egy sima szerkesztővel, akkor az új gépen már a módosított útvonalon fogja keresni.
Ez két lépéses buli
1. Adatok->kapcsolatok->Hozzáadás… ->Kitallózod a módosított kapcsolati fájlt
2. Üres cella (munkalap)->Adatok->Meglévő kapcsolatok->KiválasztodErre gondoltál?
Imre
- A hozzászólás módosításra került: 8 years telt el-horvimi.
Szia!
Találtam két oldalt, amelyeken lévő infók alapján készítette két makrót, ami UDF-ként is használható.
http://www.baanboard.com/baanboard/showthread.php?t=66577
A kínai karakterek UDF kódolásúak, nem ASCII karakterek, a kódjuk negatív.
Ez igaz lehet a Koreai, Arab, stb karakterekre is, nem teszteltem.A megoldást két oszlopba tettem, mindkettő másik függvényt használ.
Az első megszámolja, hogy hány un. non-ascii karakter van a B oszlopban.
Itt vannak olyan sorok, ahol ez 1-et ad, de a szövegben nem kínai, hanem más, pl.görög betű van.Neked szerintem a második oszlop lesz jó, ami megmondja, hogy van-e nullánál kisebb kódú karakter a B oszlopban
Szűrj az IGAZ sorokra!megnyitáskor, és mentéskor szólni fog a makrók miatt.
De más megoldást egyelőre nem találtam.Imre
Attachments:
You must be logged in to view attached files.Szia!
Jól értem, hogy a C oszlop utolsó adatának sora+1-től, az A oszlop utolsó adatának soráig kell törölnöd?
lehetnek üres cellák akár a C, akár az A oszlopban?utolso = Cells(Rows.Count, “C”).End(xlUp).Row
Ez csak akkor nem jó, ha valójában a C oszlopban lévő cellák nem üresek, hanem az A oszlop végéig azokban is van valami.
Próbáld ki az isempty() VBA függvénnyel, vagy au ISBLANK() munkalap függvénnyel.Imre
Szia!
Egy darabig elvoltam, mire megértettem amit kérdezel. 🙂
Talán sikerült.A megoldás az ÁTLAGHATÖBB függvény, aminek két feltételt kell adni, ráadásul a feltételeket cellából kell kiolvasni. Nem triviális, de megoldható.
Ha az alsó hatás az E2-ben, a felső határ az F2-ben van, akkor a megoldás ez lesz.=ÁTLAGHATÖBB(C2:C11;B2:B11;">="&E2;B2:B11;"<="&F2)
Visszatöltöttem, és külön fülre tettem a megoldást.
remélem jól értelmeztem a feladatot.
Imre
- A hozzászólás módosításra került: 8 years telt el-horvimi.
Attachments:
You must be logged in to view attached files.Szia!
Ez nem hangzik túl jól.
Grafikonokban nem vagyok még nagyon otthon, de szívesen megpróbálok segíteni, viszont ehhez kellene egy minta, amit feltöltesz.Imre
Szia!
Hát Igen, ez nem egyszerű dolog.
Makró nélkül nemigen oldható meg.Én ezt csinálnám:
1. Felvennék egy kétoszlopos szótár tartományt. (Magyar és Angol megfelelőik)
2. Felvennék egy tartományt, ahová azoknak a celláknak a címeit írnám, amiket fordítani kell
3. A nyelvválasztó eseménykezelőjébe megírnám azt a makró programot, ami ha változik a nyelvválasztó értéke, és az nem egyezik meg a korábban ott lévővel, akkor a megadott cellákban kicserélgeti az értékeket a szótár alapján.Így az összes, legördülő lista adatforrásaként definiált tartományt csak egyszer kell magadni, de az aktuálisan kiejölt menüpontok lecserélődnek.
érdekes feladat.
Imre
-
SzerzőBejegyzés