

beste mensen op dit Forum, ik hoop dat jullie kunnen helpen.
Ik heb een vrij grote Excel met een flink aantal macro's >50 en een hand vol UserForms. Nu heb ik er niet één van, maar een aantal. Tot nu toe wanneer er een goede wijziging is gemaakt aan een macro of userform, wordt deze handmatig aangepast in alle excels. De basis van de excels is telkens hetzelfde, alleen de data er in is anders.
Wat ik eigenlijk wilde doen is de excel opslaan als Macro.xls (oude formaat) of .xlam zodat alle macro's en userforms in één centraal bestand staan en alle 'data' excel bestanden gebruik kunnen maken van dezelfde macro's.
Toen ik dat deed, konden de data excels echter (uiteraard) de macro's niet meer vinden. En krijg je error te zien file!maco niet gevonden. Is er een mogelijkheid om bijvoorbeeld te definiëren:
- DefaultLocationMacroFile = file.xlam
zodat de excel niet probeert: databestandxlsopen!macro maar file.xlam!macro
Dan is volgens mij mijn probleem opgelost. Wel moet uiteraard de macro wel functioneren over het geopende data0xx.xls bestand.
Ik had ook nog geprobeerd de macro.xls file te gebruiken als add-in. Maar ook dan worden deze niet automatisch herkend. Iemand tips? Wat mis ik?
Als add-in moet het een .xlam zijn.
____________
mvg,
Harry
Lag nooit om de keuzes van dien vraauw, bist ter zulf aine van....
(Grunnegs-Gronings)
Maar de excel pakt dan niet 'automatisch' de macro die in de Add-in staat. Als ik ga naar ALT-F11, dan zie ik wel dat de Add-In is geladen.
Ik zie twee VBAProjects open: data.xls en macro.xlam
er wordt aangeroepen data.xls!dezemacrowilik
foutmelding is: data.xls!dezemacrowilik kan niet worden gevonden (klopt ook)
Als Add-In: in macro.xlam staat in een Module: sub dezemacrowilik()
hoe krijg ik dan data.xls de macro.xlam aan te roepen in plaats van zichzelf?
Zijn de macro's aan knoppen gehangen of zo iets? Misschien beter om de invoegtoepassing een eigen tab op het lint te geven, dan kunnen de knoppen weg uit de bestanden. MOet je wel iets inbouwen in je invoegtoepassing zodat die "eigen" bestanden herkent.
Groetjes,
Jan Karel Pieterse
Excel MVP jkp-ads.com
U kunt zich nu inschrijven voor onze Amsterdam Excel Summit!
Vanuit een ander document dan de xlam zelf kan je een macro in de xlam zo aanroepen:
Application.Run "'macro.xlam'!dezemacrowilik"
Beter is het om de complete functionaliteit in de addin in te bouwen die je dan met menu's en userforms kan gebruiken.
"Hardware: The parts of a computer system that can be kicked. "
Op rechtstreekse vragen via email reageer ik niet. Daar is het forum voor.
Macro's hangen inderdaad aan knoppen...
Als ik de knop direct verwijs naar de .xlam dan werkt het niet.
Als ik aan de knop een macro hang die uitvoert wat jij zegt: Application.Run "'macro.xlam'!dezemacrowilik"
dan werkt het welSUPER bedankt!
Ik verwacht wanneer ik de "ThisWorkbook" heb aangepast naar iets anders, dat het helemaal moet lukken.
ThisWorkbook -> ActiveWorkbook
![]()
Ok dan.
Zo zal je waarschijnlijk nog wel meer aanpassingen moeten doen.
Maar daar kom je vanzelf achter![]()
"Hardware: The parts of a computer system that can be kicked. "
Op rechtstreekse vragen via email reageer ik niet. Daar is het forum voor.
Waarom de macro's niet opnemen in Personal.xlsb?
Haije
___________________________________________________
Het voordeel van een invoegtoepassing is dat je die op 1 centrale plek kan zetten waar iedereen bij kan in plaats van bij iedere gebruiker in de XLSTART map.
Ook een eventuele aanpassing in de code van de invoegtoepassing is dan direct voor iedere gebruiker beschikbaar.
"Hardware: The parts of a computer system that can be kicked. "
Op rechtstreekse vragen via email reageer ik niet. Daar is het forum voor.
@edmoor, bedankt voor de uitleg!
Haije
___________________________________________________