Byder lige ind med noget der ligger i forlængelse af #1. Jeg er ikke helt med på hvad du mener med projektX, men her er en opskrift, testet i excel97 - test selv om det virker i 2013. Løsningen på din navnekonflikt skulle gerne fremgå af nedenstående.
Ser iøvrigt du bruger specielle nationale tegn - kan man det nu? - jeg ville holde mig fra æ,ø,å i alt hvad der har med kode at gøre - men måske er jeg gammeldags.
Det kan godt lade sig gøre at udfærdige sit eget 'library' med vba funktioner og procedurer man genbruger (uden at forfalde til klippebords-amøbe). Det giver nogle problemmer ved distribution - enten skal alle computere have disse libraries, eller excel-filen skal ompakkes før distibution.
1. Excel åbnes - ny fil som endnu ikke er saved.
2. tast <alt><f11> for at åbnes vba editoren.
3. lav et nyt modul gennem højreklik på noget i projektexplorer vinduet.
https://drive.google.com/file/d/0B7nnvgTdhUrbdUsxQmlNb2p1TzA/view?usp=sharing4. Modulet kom nok til hedde : modul1 eller andet fjollet, det kan vi IKKE bruge - modulets navn skal være karakteristisk for det vi putter i det. Med tiden får vi måske 1000 vis af funktioner og procedurer og hvordan skulle vi kunne finde rundt uden sigende navne. Et library her består af et eller flere moduler, hver med en eller flere funktioner/procedurer. Her vælges navnet test
5. Egenskabsvinduet skal være slået til - 'modul1' omdøbes til 'test' - bemærk lille forbogstav 'Test' ville have været et klassemodul (blot min smag, ikke noget programbundet!)
6. VBAProject ikonet øverst i projectexplorer vinduet markers og omdøs i egenskabsvinduet til, lad os sige 'My1Lib'
7. Vi skal finde ud af hvor det ville smart at gemme excel filen som indeholder My1Lib. Hvis det skal distribueres til andre computerere, må det gerne være mere office end bruger specifikt. I menulinien->funktioner->referencer markeres 'visual basic for applications' og stinavnet aflures (måske C:\Programmer\Fælles filer\Microsoft Shared\VBA) - filen gemmes nu som C:\Programmer\Fælles filer\Microsoft Shared\VBA\My1Lib.xsl
8. Følgende testkode puttes i programkode vinduet - det testes efterfølgende for syntaxfejl med menulinie->fejlfinding->kompiler
Function foo()
foo = "Jeg er funktionen foo."
End Function
Sub bar()
MsgBox "Jeg er procedure bar"
End Sub
9. Der gemmes og excel afsluttes.
10. excel åbnes igen med en ny fil.
11. I vba editoren: menulinie->funktioner->referencer->gennemse->alle file vælges My1lib.xsl
12. I en celle i en worksheet fane, skriv: =foo()
That's it!