Avatar billede madklub Guru
21. marts 2014 - 15:28 Der er 5 kommentarer og
1 løsning

Brugerdefinerede funktioner

Jeg har lige lært at lave brugerdefinerede funktioner i VBA til Excel 2010.

Men jag vil gerne have at mine nye funktioner virker i alle nye og gamle ark.

Som det er nu virker de kun i selve det ark hvor koden er.

Kan jeg gøre noget ved det?
Funktionerne skal kunne bruges på alle maskiner på vores lokalnetværk.
Vi har et fælles ark, der altid åbnes skjult. Jeg regnede med at jeg kunne ligge koden der, men så skal jeg skrive hele stien i funktionen. Fx: 'NavnPåDetFællesArk.xlsb!Funktion(Tal)'.
Jeg vil kun skrive 'Funktion(Tal)'

Windows 7
Excel 2010 (snart 2013)
Avatar billede finb Ekspert
21. marts 2014 - 16:29 #1
Prøv at døbe (navngive) funktionen,
se om den virker overalt.
-Eller-
Har I egen server ? Prøv at
lægge funktionen der.
Avatar billede madklub Guru
21. marts 2014 - 16:35 #2
Navngive den hvad?
Vi har en server, hvor vores fælles ark åbnes fra. Skrivebeskyttet.
Avatar billede Dan Elgaard Ekspert
21. marts 2014 - 20:40 #3
Du skal gøre to ting:

1) Lig funktionen i et almindelig standard 'Module' i jeres fælles ark (NavnPåDetFællesArk.xlsb):

Se evt: http://www.EXCELGAARD.dk/Bib/Makroer/Indsaet/Module/

2) Dernæst skal du gøre funktionen 'Public'.

Dette gøres ved at tilføje ordet 'Public' foran funktioen i din VBA kode, f.eks. Public Function NavnPåFunktion()


Herefter vil din funktion virke på alle maskiner, der åbner 'NavnPåDetFællesArk.xlsb' i baggrunden.
Avatar billede falster Ekspert
21. marts 2014 - 20:42 #4
"Funktionerne skal kunne bruges på alle maskiner på vores lokalnetværk."

Tilføjelsespogrammerne skal vel så installeres som xla eller xlam på de Excel-pc'er, som skal bruge dem.

Så virker funktionerne ved hjælp af navn, ligesom de indbyggede gør.

http://office.microsoft.com/da-dk/excel-help/tilfoje-eller-fjerne-tilfojelsesprogrammer-HP010342658.aspx
Avatar billede Dan Elgaard Ekspert
21. marts 2014 - 22:19 #5
Der er to muligheder:

1) Enten, at bygge funktionerne ind i et tilføjelsesprogram (.XLA/.XLAm), og så indstallerer tilføjelsesprogrammet på de maskiner, som skal bruge funktionerne.

...eller, som du selv nævner, at I gør...

2) Ligger funktionerne i en fælles template, som alle åbner, når I åbner Excel på jeres netværk.

Fælles for begge metoder er dog stadig, at funktionerne skal ligge i et standard 'Module' og være gjort 'Public'.

Metode 1 har den fordel, at funktionerne også vil virke off-line, hvis f.eks. en sælger har en bærbar computer med ude af huset og ikke er på jeres lokal netværk.

Metode 2 har den fordel, at det er let, at opdaterer funktionerne centralt, uden bagefter at skulle ud og gen-installerer tilføjelsesprogrammet på alle maskiner.
Avatar billede madklub Guru
24. marts 2014 - 11:16 #6
Min funktion er public, men der virker ikke.

Her skal funktionen bruges:
https://dl.dropboxusercontent.com/u/2736135/NyRecept.xlsm

Her skal funktionen ligge:
https://dl.dropboxusercontent.com/u/2736135/NytSkema.xlsm

Hvad er der galt?
Avatar billede Ny bruger Nybegynder

Din løsning...

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.

Loading billede Opret Preview
Kategori
Excel kurser for alle niveauer og behov – find det kursus, der passer til dig

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester