Avatar billede sevenofnine Nybegynder
19. oktober 2006 - 10:53 Der er 15 kommentarer

Macro i excel

Hvordan gemmer jeg en macro i excel, lavet i Visual basic så den er permanent gemt og kan bruges i andre dokumenter uden den skal laves igen?
Avatar billede ladyhawke Novice
19. oktober 2006 - 11:24 #1
Det mener jeg ikke umiddelbart du kan, makroer er indlejret i en bestemt fil (regneark eller template). Så enten skal du bygge en add-in til Excel der gør det du vil lave i makroen eller lave en template som basis.
Avatar billede bak Forsker
19. oktober 2006 - 11:44 #2
Du kan sætte din makro ind i den skjulte projektmappe Person.xls.
Den fil åbnes skjult hver gang excel åbnes og makroen er klar til brug.
Hvis den ikke findes ved dig, så start indspilning en lille makro og ved første boks der fremkommer vælger du under "gem makro i" : Personlig makroprojektmappe, så oprettes den automatisk.

Et Alternativ er at gemme filen med makroen som Add-in. Dettte gøres ved at gemme filen som Microsoft Office Excel tilføjelsesprogram (*xla)
Når filen er gemt, kan du herefter indvælge den til at starte sammen med excel under funktioner / tilføjelsesprogrammer
Avatar billede x-lars Novice
19. oktober 2006 - 11:46 #3
Det kan du nu sagtens:

Funktioner > Makro > Indspil ny makro. I den dialogboks, der nu åbner sig, skal du vælge "Personlig makroprojektmappe" i stedet for "Denne projektmappe" til spørgsmålet om, hvor du vil gemme makroen. Få din makro til at gøre et eller andet, f.eks. at sætte fed skrift på den aktive celle og og tryk "Stop indspilning".

Når du åbner VBA-editoren (ALT + F11), kan du nu finde en projektmappe, der hedder Person.xls i det venstre panel. Når du dobbeltklikker på denne vil du se, at den indholder nogle faneblade og et modul. Dette modul indeholder den makro, du lige har lavet. Hvis du har den anden projektmappe, hvis makroer du gerne vil have almindeligt tilgængelige, åben, kan du også finde denne i venstrepanenelet. Dobbeltklik på denne og kopier indholdet af de moduler, du skal bruge, gå tilbage til Person.xls og sæt ind. Luk vinduet, luk Excel og sig "Ja" til at gemme ændringer i den personlige makroprojektmappe.

Når du åbner Excel næste gang, vil dine makroer nu være almindeligt tilgængelige. Projektmappen Person.xls åbner nemlig automatisk sammen med Excel, men kører skjult, så du ikke kan se den. Hvis du vil se den, kan du gøre det via Vindue > vis.....
Avatar billede x-lars Novice
19. oktober 2006 - 11:46 #4
Æv, for sent! :(
Avatar billede bak Forsker
19. oktober 2006 - 11:51 #5
måske, men forklaringen er bedre :-)
Avatar billede sevenofnine Nybegynder
19. oktober 2006 - 18:04 #6
Hej bak og x-lars.
Mange tak for jeres kommentarer,det virker lige på nær, når jeg lukker excel og åbner det igen, så virker det ikke før jeg manuelt klikker vindue --> vis... og vælger PERSON, det virker efterfølgende kun i dette vindue, er der noget jeg gør forkert??
I bliver vidst nødt til at svarer istedet for at kommenterer, ellers kan jeg ikke give point.
Avatar billede x-lars Novice
19. oktober 2006 - 20:13 #7
Næh, det lyder rigtigt nok! Person.xls skal køre skjult (så du ikke kommer til at skrive tal og formler i den!)

Uden at have kørt Vindue > Vis...: Når du tager Funktioner > Makro > Afspil, kommer dine makroer så ikke til syne dér?

PS: Vi skal nok lægge svar, når vi er sikre på, at det virker!
Avatar billede bak Forsker
19. oktober 2006 - 20:58 #8
vis os lige din makro, for noget i den laver fejlen
Avatar billede svla Mester
19. oktober 2006 - 21:31 #9
Hej
Lige et spørgsmål da jeg har fulgt med i jeres kommentarer.
- Hvorledes fjernes i VBA, den "mappe" som hedder Person.xls , hvis man ønsker den fjernet igen, eller på et senere tidspunkt.
Avatar billede x-lars Novice
19. oktober 2006 - 21:46 #10
Den kan desværre ligge forskellige steder. Prøv at søge efter den. Standardplaceringen er:

C:\Documents and Settings\dit_brugernavn\Application Data\Microsoft\Excel\XLSTART

Alle filer, der ligger i XLstart-mappen, vil Excel prøve at åbne, når programmet åbnes.
Avatar billede sevenofnine Nybegynder
20. oktober 2006 - 11:14 #11
Min macro er en funktion som ser ud som følgende:

Function PVFA(n, i)

PVFA = (1 - (1 + i) ^ -n) / i

End Function

Jeg har aldrig arbejdet med macroer før, så jeg har altså virkeligt ikke meget forstand på emnet.
Avatar billede bak Forsker
20. oktober 2006 - 11:37 #12
Den skal nu nok virke.

Du kan enten hente funktionen ved at trykke på Fx og vælge den under brugerdefineret eller i en celle skrive
=PERSON.XLS!PVFA(0,3;0,1)
Avatar billede bak Forsker
20. oktober 2006 - 11:44 #13
For at komme uden om dette kan oprette en ny projektmappe, indsætte et nyt modul i denne og paste dine funktioner derind.
gem nu filen som Microsoft Office Excel tilføjelsesprogram og luk den.
Under Funktioner / Tilføjelsesprogrammer indvælger du nu dit nyt tilføjelesesprogram og nu er funktionen til rådighed herefter.

Dette tilføjelsesprogram (Add-IN) kan du nu også videregive til andre hvis du ønsker.
Avatar billede svla Mester
20. oktober 2006 - 16:39 #14
Til x-lars
Tak for svaret, jeg har lavet mange makroer, men vidste ikke noget om Person.xls, og den vil jeg da bruge fremover.
Avatar billede sevenofnine Nybegynder
22. oktober 2006 - 09:09 #15
Tusind tak Bak, det virker bare helt perfekt:D Nu må du gerne sende et svar så jeg kan give dig point...
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