Office Guru

Saját funkció hozzáadása a standard listához - plusz egy szinte lehetetlen küldetés

2016. november 30. - Office Guru

Ha bármit automatizálunk, customizálunk (nehéz már túllendülni ennek a szónak a magyarosított használatán), mindig fontos a megfelelő dokumentáció, egyrészt a későbbi fejlesztések, hibajavítások érdekében, másrészt a felhasználók segítésére. Ez utóbbiból mutatok be egy apró, szine minimális időráfordítással végrehajtható kis módosítást. Tehát szépen megírtuk a saját kis custom funkciónkat VBA-ban - az én példámban ez most egy végletekig egyszerű kis kódsor:

help02.jpgÉrtelemszerűen ez a funkció az első paramétereként megadott számot összeszorozza a második paramétereként megadott számmal, majd az eredményt az aktuális cellába írja be.

A Visual Basic Editorban a View menüre kattintva hívjuk meg az Object Browsert (ezt megtehetjük egyébként simán egy F2 megnyomásával is):

help04.jpgItt válasszuk ki a VBAProject könyvtárat a felső legördülő menüből:

help05.jpgAz itt felugró osztályok listájából értelemszerűen válasszuk ki a megfelelő funkciót majd a jobb gombbal való kattintás után felugró menüből válasszuk ki a Properties menüpontot:

help06.jpgItt szépen megadhatunk egy kis leírást a funkciónkhoz:

help07.jpgHa ezután pedig egy másik egyetlen soros makróval hozzáadjuk a funkciónkat valamelyik formula-kategóriához, akkor meg is fogjuk látni, hogy miért jó ez a leírás. A kis makrónk kulcsa a következő sor:

Application.MacroOptions Macro:="szorzas", Category:=3

Az Application.MacroOptions metódust használhatjuk fel arra, hogy az Insert Function párbeszédablakot megbuheráljuk - rengeteg paramétere van, a Macro paraméterrel a makrónk nevét adjuk meg, a Category paraméter pedig értelemszerűen azt határozza meg, hogy melyik függvénycsoportba helyezzük el a funkciónkat (a hármas a matematikai függvények csoportja). De adhatunk itt meg billentyűkombinációt vagy akár a paramétereinkhez is leírást, szóval elég nagy a lehetőségeink tárháza.

help08.jpgHa szükség van rá, természetesen arra is van mód, hogy custom függvénycsoportot hozzunk létre. Mindenesetre mi most maradunk az egyszerűbb megoldásnál és a fenti makró lefuttatásával (akár indításhoz is rendelhetjük és így tovább), máris láthatjuk az Insert Function listában a "szorzas" névre hallgató funkciónkat és még a leírásunkat is megtaláljuk a párbeszédablakban:

help09.jpgViszont arra, hogy custom funkciónkhoz felugró kis tippeket rendelhessünk hozzá, egyszerű megoldás nem áll rendelkezésünkre. Erre a kis sárga felugró ablakocskára gondolok:

help01.jpg

help03.jpgHa valaki mégis tud egy ilyen megoldást, bátran dobja be a közösbe, mert az általam ismert megoldás egy custom megoldás, azaz egy speciális add-int kell feltelepítenünk hozzá. De ettől független egyéb ötletek és kommentek jöhetnek bátran.

A bejegyzés trackback címe:

https://officeguru.blog.hu/api/trackback/id/tr4612013276

Kommentek:

A hozzászólások a vonatkozó jogszabályok  értelmében felhasználói tartalomnak minősülnek, értük a szolgáltatás technikai  üzemeltetője semmilyen felelősséget nem vállal, azokat nem ellenőrzi. Kifogás esetén forduljon a blog szerkesztőjéhez. Részletek a  Felhasználási feltételekben és az adatvédelmi tájékoztatóban.

Péter Bogdán 2016.12.02. 11:08:49

Tiszteletem! Nagyon tetszik a megoldás. Ezzel a módszerrel "csak" adott excel file-ban elérhető a függvény, ugye? Megoldható, hogy gyakran használt összetettebb függvényeket elmentsünk? Add-in-ként mondjuk, hogy az excelben minden munkafüzetben használhatóak legyenek?
Köszönöm

Office Guru 2016.12.03. 14:58:56

@Péter Bogdán: Igen, a leghatékonyabb és legkevesebb extra munkát igénylő módszer erre az Add-in készítése lenne. A gondolat teljesen jó, valamelyik következő posztban továbbviszem ezt a sztorit és készítünk egy Add-int is...
süti beállítások módosítása