Koppelingen naar UDFs in Addins herstellen

Dit artikel is ook gepubliceerd op Microsoft Office Online (in het Engels)

Inleiding

Excel heeft honderden ingebouwde functies die je helpen bij het doen van allerlei berekeningen. Maar soms is het handiger om een zelfgemaakte functie te bouwen in VBA. Dergelijke functies worden ook wel "User Defined Function" genoemd, UDF.

UDF's worden normaal gesproken hetzij in het bestand gezet waarin ze nodig zijn, hetzij in een invoegtoepassing. Zo lang deze invoegtoepassing geinstalleerd is werken de UDF's dan zoals het hoort. Er onstaan echter problemen wanneer de lokatie van de invoegtoepassing wordt veranderd, bijvoorbeeld omdat je de invoegtoepassing aan je collega's hebt gegeven en die hebben hem in hun lokale addin map geplaatst (deze map is voor iedere gebruiker anders!).

Zodra een bestand geopend wordt dat gebruik maakt van de UDF op een systeem met een afwijkend pad naar de invoegtoepassing, zullen de formules die een functie uit de invoegtoepassing gebruiken als resultaat #NAAM! geven. Tevens zal het complete pad naad de oude lokatie van de invoegtoepassing in de formule staan:

='C:\data\FixLink2UDF.xla'!UDFDemo(A1,A2)

In dit artikel beschijf ik een aantal manieren om deze problemen het hoofd te bieden.

Inhoud

  1. #Naam! fouten oplossen
  2. Bestand openen detecteren
  3. Geopende bestanden aanpassen
  4. Werkmappen geopend via verkenner