Volledige versie bekijken : Functies aanmaken in excel



filip
2 September 2007, 22:12
Bij de standaard meegeleverde functies in excel staat er steeds enkele regels uitleg bijgevoegd als je die oproept, mijn vraag is nu als je zelf functies aanmaakt hoe je die uitleg over de functie daar kan invoegen ?
Indien dit gaat graag de programmeercode meesturen a.u.b.
Hier is nergens iets over te vinden.
Reeds bedankt.
Filip.:wall:

Baloeke
2 September 2007, 22:27
over welke versie van excel gaat het hier

filip
2 September 2007, 22:31
Versie 2007 maar de VBA code zal niet veel veranderd zijn tja ik heb dat in vorige versies nooit getest omdat ik niet weet hoe het moet he Baloeke

compuchrisje
2 September 2007, 22:45
Ik weet al wie hier het antwoord zal geven, nog even wachten op hem dus Filip. Welkom terug trouwens!

Baloeke
2 September 2007, 22:48
Heb ook al een vermoeden wie hier een oplossing gaat geven, even geduld de specialist zal zeker antwoorden

Jule
3 September 2007, 08:56
Ik gebruik excel 2003 en ken niks van programmeren. Hetgene u vraagt lijkt mij voor zeer vergevorderden. Ik geef een voorbeeld. De functie "DATUMVERSCHIL" is geen standaardfunctie in excel 2003. Maar ze werkt wel. Enkel online kan u hieromtrent uitleg vinden. Indien u =DATUMVERSCHIL typt in de werkbalk (of cel), is de enige uitleg die u te zien krijgt DATUMVERSCHIL(). Nergens staat er iets waar de hoogste datumwaarde moet staan, of de laagste en ook geen uitleg omtrent "Y", "YM", "MD" of "YD". En u wil dit wel voor zelf aangemaakte functies? Ik vrees dat u uw schrijven best richt naar een zekere Bill Gates. Ik beloof u niet dat u een antwoord krijgt, hij heeft toch reeds uw geld ontvangen ... :D

Ik hoop voor u, tezamen met Baloeke en Compuchrisje, dat de 'specialist' ter zake u hier een antwoord komt geven. Ik ben nieuwsgierig wie dat zal zijn.

J.W.
3 September 2007, 13:57
Ik gebruik excel 2003 en ken niks van programmeren. Hetgene u vraagt lijkt mij voor zeer vergevorderden. Ik geef een voorbeeld. De functie "DATUMVERSCHIL" is geen standaardfunctie in excel 2003. Maar ze werkt wel. Enkel online kan u hieromtrent uitleg vinden. Indien u =DATUMVERSCHIL typt in de werkbalk (of cel), is de enige uitleg die u te zien krijgt DATUMVERSCHIL(). Nergens staat er iets waar de hoogste datumwaarde moet staan, of de laagste en ook geen uitleg omtrent "Y", "YM", "MD" of "YD". En u wil dit wel voor zelf aangemaakte functies? Ik vrees dat u uw schrijven best richt naar een zekere Bill Gates. Ik beloof u niet dat u een antwoord krijgt, hij heeft toch reeds uw geld ontvangen ... :D

http://www.computervaardigheden.nl/images/tips/CVR/CVR_datumverschil.jpgAls u van twee datums bijvoorbeeld wilt weten hoeveel jaren er tussen zitten, kunt u gebruik maken van de functie DATUMVERSCHIL. Deze functie wordt weinig gebruikt, maar kan uitermate handig zijn. Ga als volgt te werk:

Typ in C1 een datum.
Typ in C2 een datum.
Neem in E1 de functie precies zo over als hiernaast in de afbeelding is aangegeven.
U ziet nu het verschil in jaren. Wilt u een verschil in maanden, typ dan een 'm' in plaats van een 'y'. Typ een 'd' als u het verschil in dagen wilt weten.

Voor meer uitleg: http://office.microsoft.com/nl-be/help/HA011609811043.aspx

Jule
3 September 2007, 16:50
Beste J.W.;
Hier_kan_u_een_excelletje_van_mijn_hand_downloaden . (http://www.minatica.be/showthread.php?t=47671) Als u naar geboortedatums gaat en daar de cel E3 aanklikt, zal u zien dat ik de functie "DATUMVERSCHIL" reeds begrijp. De vraag van Filip is echter hoe je bij deze functie de uitleg invoegt, dat de datumwaarde, in uw aangehaald voorbeeld, in cel C2 hoger moet zijn dan in cel C1, indien u wil dat de formule werkt. U moet in uw voorbeeld beide datums maar van plaats verwisselen en u krijgt als foutwaarde ##GETAL. Bij de standaard functies krijgt u deze uitleg op een schaaltje geserveerd ... :D

compuchrisje
3 September 2007, 17:05
Ik wil hier even nog wat toelichten, Filip is allang geen beginneling meer, vooral in Excel. Als dié dus een vraag heeft, is het wel ietsje meer dan verschil dag B - A. Jule heeft net dat ietsje beter gelezen. Momenteel is degene, die iets meer kent van VBA en Access, in panne met zijn pc, maar ik zal meteen naar hier verwijzen als de herstelling daar lukt. Dan kunnen zowel Filip als Jule terug rustig slapen haha.

filip
3 September 2007, 22:50
Jule,
Bedankt voor uw verduidelijking want we dwalen af , de reden om zelf een functie te maken is eigenlijk dat dan je mogelijkheden onbeperkt zijn je kan de code zo lang maken als je wil en dan ben je er op je excelblad met 1 simpele klik om ergens die functie in te voeren , maar dit werkt allemaal prima het enige probleem dat ik heb is dat ik er geen help of verduidelijking kan bijplaatsen als je de functie oproept dus zoals bij de functie
DATUMVERSCHIL() daar kan je er ook naar raden, trouwens deze functie is bij de 2007 ook nog niet afgewerkt er zitten nog bugs in en nog geen uitleg.:bow:

Jule
3 September 2007, 23:53
Ik kan het nut van een eigen aangemaakte functie op zich wel begrijpen. Alleen, er zitten er reeds zoveel in ... Ik kom veel fantasie tekort om er nog bij te bedenken. :lol:
Het probleem zit 'em vooral hoe u dit tekstvenster moet aanspreken. Als Microsoft daaromtrent geen naambepaling heeft vrijgegeven, is het zoeken naar een naald in een hooiberg. Ook al schrijft u dagelijks pagina lange VBA codes. :lol:
Eigenlijk zou u tweemaal dezelfde functie moeten aanmaken. U geeft ze een wel een andere benaming. Voor beginnelingen is de standaardfunctie zichtbaar. Bij het aanklikken van de functie opent zich een nieuw venster met de nodige uitleg en met de benaming van dezelfde functie zonder dat het tekstvenster verschijnt met de uitleg. Want als de functie regelmatig opgeroepen wordt, zal het tekstvenster met de uitleg ook beginnen op de zenuwen te werken ...
En als het een zeer gecompliceerde functie betreft zet u er knopje op met "volgende >>" om een nieuw venstertje te openen met meer uitleg (voor domme mensen als ik) terwijl het oude venstertje zichzelf afsluit ....
Ik speel maar met ideetjes ... ;)

compuchrisje
3 September 2007, 23:58
Had Filip even online hier, de functie-help bestaat nog niet, dus wil hij die zelf aanmaken. Mogelijk bestaat ze wel als je niet de straal maar wél de diameter (dus 2r) als zoekoptie instelt?

Jule
4 September 2007, 00:27
Sinus, cosinus, tangens, Pi, graden, radialen ... Maar straal of diameter kent excel niet. Op zich is straal een getal. En daar excel Pi kent, is het makkelijk om alle mogelijke formules aan te maken die met cirkels te maken hebben. Tja, u kan daar een functie van maken dat excel een getal ziet als straal en zo automatisch iets berekent ... Net zoiets als bij tijd en datums, deze hebben ook een getalwaarde in excel.

Baloeke
4 September 2007, 11:21
Ik hoop voor u, tezamen met Baloeke en Compuchrisje, dat de 'specialist' ter zake u hier een antwoord komt geven. Ik ben nieuwsgierig wie dat zal zijn.
Ik dacht dat jij het zou weten Jule ;). Blijkbaar verkeerd gedacht:wall:

Jule
4 September 2007, 13:08
Tja, hetgeen dat Filip vraagt, gaat net iets verder dan een gewoon excelletje ... :lol: :D
Vooral blijven denken, naar het schijnt houdt het de geest jong ... Alleen vraag ik me af: Welke geest??

filip
4 September 2007, 17:53
Gemakkelijke manier maar met de minste mogelijkheden is als volgt
Maak eerst een functie aan en sluit VBA-editor af als ze werkt.
Ga naar Excel (niet naar de VBA-editor) en druk op Alt+F8.
De naam van uw functie staat niet in de lijst (enkel subs, geen functions).
Typ de naam van de functie in het vak macronaam. Let op de spelling.
als het een lange naam is kopieer hem erin.
Klik op de knop opties.
Vul een omschrijving in.
Druk op OK, dan op Annuleren.

Done .....:good:

filip
4 September 2007, 18:07
Zorg dat je een sub hebt die uitgevoerd wordt bij het openen (bijv. in Workbook_Open)
Zet daarin volgende code:
Application.MacroOptions Macro:="NaamVanDeFunctie" Description:="Omschrijving"
Eventueel kan je de functie zelfs in een categorie steken:
Application.MacroOptions Macro:="NaamVanDeFunctie" Category=categorienummer
Dit zijn de categorieën:
0 Alles
1 Financieel
2 Datum
3 Wiskunde
4 Statistiek
5 Zoeken
6 Database
7 Tekst
8 Logisch
9 Info
10 Opdrachten
11 Aangepast
12 Macrobesturing
13 DDE
14 User defined
15 Technisch
Op deze 2 manieren kan je alleen maar een beschrijving toevoegen.
Ik weet van geen enkele manier om een help te geven voor de verschillende functie-argumenten.
Je moet er dus voor zorgen dat er voldoende uitleg staat in de beschrijving.

Ter verduidelijking maak ik een voorbeeldje want sommigen begrepen niet goed wat ik bedoelde.

Done .....:good:

filip
4 September 2007, 18:28
Voorbeeld
http://users.telenet.be/simcity/getal_naar_tekst.JPG
hier zie je nu de hulp afgebeeld staan

het bestandje met de nieuwe functie is in excel 97-2003
http://users.telenet.be/simcity/getal-tekst.xls

Groetjes........

mag afgesloten worden .:good:

Jule
4 September 2007, 18:40
Bedankt!! Nu nog zoeken hoe zoiets kan in Oocalc ... :D Daar ontbreken meer functies dan in excel.
Uw aangemaakte functie bestaat reeds in Oocalc, maar niet in excel! Bedankt voor het delen!

filip
4 September 2007, 19:41
Jule,
indien je nu ook de smaak te pakken hebt en je wil zelf functies aanmaken die je steeds ter beschikking hebt maak dan al je functies in hetzelfde werkblad dan zitten ze samen en laat dat werkblad steeds openen als je excel start dit doe je op volgende manier maak een map aan voor je excelbestand en voeg dat pad in bij de opties voor excel zie voorbeeldje hieronder.

http://users.telenet.be/simcity/locatie.JPG

Daarna kan je in elk werkblad de functies gebruiken :good:

Jule
4 September 2007, 23:11
Zover ben ik nog niet ... :lol: Bedankt voor de info! :good:
Euh, ik heb nog nooit geen enkele les gehad hierover. Nadat ik uw module eens bekeken heb, denk ik, dat u er op z'n minst toch meer over gelezen heeft dan ik. :lol: