14. juni 2004 - 14:24Der er
13 kommentarer og 1 løsning
Selv lave funktion
Jeg kunne egentlig godt tænke mig at vide, om man selv kan lave en funktion, som kommer til at ligge sammen med alle de andre funktion i Excel, og hvordan det så skal gøres
Jeg hjælper en ven, som bl.a. gerne vil have Pytagoras' læresætning som funktion. Jeg har uden problemer lavet formlen, og kan også lav det som en makro, men han vil gerne have dem på listen funktioner i Excel.
Hvad er det du ikke forstår ? Hvis funktionen skal være tilgængelig altid, er man nødt til at indsætte den i et regneark, der altid er åben. Person.xls er altid åben (men Gemt). Person.xls er ikke oprettet fra start, men oprettes således: Start med at ville optag en tilfældig makro. I dialogboksen hvor man kan indsætte shortcut, makronavn mv. skal man under "gem makro i" vælge "personlig makro projektmappe" Dette gør at person.xls oprettes i baggrunden. når du afslutter optagelse af makroen, kan du med Alt-F11 hoppe til Makro-editoren. Her kan du nu indsætte alle de funktioner du har lyst til. Disse vil så for eftertiden være tilgængelige i dine projektmapper og findes i excel når du klikker på fx i menubaren. (under kategorien "brugerdefineret")
Desværre vil funktionerne kun være til rådighed på din maskine. Hvis de skal kunne bruges af andre, skal funktionerne indsættes i et makromodul i den fil, de benyttes i.
Okay, det var lige det med person.xls, som jeg ikke fangede skulle være en simpel ny fil. Men kan man ikke på nogen måde, gøre så denne fil ikke skal være åben hele tiden, og tilgængelige for alle, uden brug af makro ?
Nej, Hvis den skal være tilgængelig under funktioner skal funktionen indsættes i et makromodul. Det kan være i den aktuelle mappe, den personlige projektmappe eller som et xla tilføjelsesmodul.
bak-> Hvis man skal kunne bruge funktionen uden at referere til mappen, altså så man ikke behøver at skrive =PERSON.XLS!Pyth(3;4) men kan nøjes med pyth(3;4), mener jeg at person.xls skal tilføjes som Reference. Eller husker jeg forkert?
Okay, det vil sige at det simpleste næsten er at skrive den hver i hvert dokument man skal bruge den i, den er jo trols alt ikke så kompleks. Ved I om den ligge i den udvidelsespakke man kan købe til Excel ?
Hvad er det for en udvidelsespakke ? Selvom man køber en udvidelsespakke med funktionen, så betyder det at alle der åbner en fil med den funktion i også skal have pakken.
Jeg har bare hørt om at man kan købe en udvidelsespakke med flere funktioner til Excel, hvis den ligger der i kunne de jo købe en licens til hver computer, selvom det nok bliver rimeligt dyrt.
I det tilfælde ville jeg nok lave min egen udvidelsespakke, med de funktioner jeg (og andre) brugte og distribuere denne.
Det er i princippet ikke noget problem. Start med en blank projektmappe og lav dine egne funktioner i VBA-editoren. Gem så filen som en *.XLA fil (tilføjelsesprogram) send den til alle brugere bed dem om at gå ind under Funktioner / Tilføjelsesprogrammer og finde din fil og vinge den af. Nu har de alle sammen dine funktioner til rådighed.
jeg har lavet en lille eksempelfil til dig med et tilføjelsesprogram til excel. Du kan hente den her. Pak den ud og gem filen egne_funktioner.xla i et bibliotek I excel går du nu ind i Funktioner / Tilføjelsesprogrammer og browser efter filen og vinger den af. De ekstra funktioner er nu til rådighed for dig i alle de filer du bruger i excel. Funktionerne er nu også i funktionslisten under Brugerdefinerede funktioner. I VBA-editoren (Alt-F11) kan du så se opbygningen af funktionerne.
Fantatisk, det var netop dette jeg søgte efter. Jeg har dog lige en ekstra ting, vil det være muligt også at skrive en lille hjælpetekst, som også vises i funktionsmenuen
Jo, det kan man godt, omend det er lidt besværligt. Tryk Alt-F8 for at komme til makroer. Skriv det nøjagtige funktionsnavn ind (man kan ikke vælge funktioner) og tryk på "indstillinger". Her kan du så skrive en generel hjælpetekst til funktionen og gemme. Bemærk at man ikke kan skrive hjælpetekst til funktionsparametrene.
Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.