• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Opslaan van makro's

Status
Niet open voor verdere reacties.

Colombe

Gebruiker
Lid geworden
28 jan 2001
Berichten
754
Bij het maken van makro's -opgeslagen in huidige werkblad- krijgen ze steeds de naam "Module5.naam" (en in volgende sessies "Module6.naam" enz.) een voorvoegsel dus. Allemaal niet zo'n ramp tenzij je makro's aan knoppen toewijst. Ik heb nl een makro opnieuw opgenomen en onder dezelfde naam -dus zonder voorvoegsel- opgeslagen, waarna hij "Module7.naam" heet. En die knop heeft de makro "Module6.naam" toegewezen gekregen en werkt dus niet meer!
Is dat te voorkomen?

Bedankt
 
Hoi Colombe,

Niet onmiddellijk een antwoord op je vraag (alhoewel)...

Maar het lijkt me dat jij al vertrekt vanaf een foutieve basis.

Natuurlijk weet ik onvoldoende van uw bestand om een minder vaag antwoord te kunnen geven. Maar ik meen uit uw vraag het volgende te verstaan:

1- Jij slaat de macro's op in de programmacode van uw werkblad.
2- Het gaat telkens om dezelfde macro.
3- Deze macro wordt gewoon gekopieerd naar een nieuw werkblad (Vermoedelijk door het werkblad te kopieren.
4- Macro's worden bediend door middel van formulierknoppen op je werkblad.

Op zich zijn deze puntjes niet echt fout (behalve misschien punt 2 en 3)... maar de combinatie van die 4 lijkt me niet echt goed.

Ga nu even dezelfde punten overlopen:

1- Macro's die voor uw ganse bestand moeten werken, sla je op bij voorkeur in modules (Eventueel in ThisWorkbook)
2- Absoluut fout!!!! Je kan macro's kopieren uit een ander bestand... maar identieke macro's in hetzelfde bestand plaatsen lijkt toch echt overbodig. (Sterker nog: Herhalende code, zelfs al gaat het niet om een volledige macro is al te veel)
3- Antwoord is in twee vorige punten gegeven.
4- OK... dat kan. Indien het om enkele buttons gaat op één werkblad... maar niet echt goed indien dezelfde buttons zich herhalen op elk werkblad. Hiervoor hebben we immers werkbalken.

Dit alles vraagt echter moeilijkere, maar betere programmacode.

Luc
 
Hartelijk dank Luc voor je uitgebreide antwoord. Voor alle duidelijkheid geef ik wat meer details:
Het gaat om een werkblad dat ik ieder jaar weer opnieuw gebruik voor mijn administratie voor het lopende jaar, dus een andere naam geef. Dit jaar wilde ik er een paar knoppen in maken en maakte dus voor iedere maand een makro, opgeslagen in het de programmacode van het werkblad, waarbij ik de cursor stuur naar het begin van de maand (Module6.jan etc.) waarbij ik verwees naar ranges ("januari" etc.); iedere makro kreeg een eigen knop.
Omdat mij (weer eens) dat Excel in sommige opzichten wat "mager" is, omdat zelfs rangenamen in makroverwijzingen absoluut zijn, moest ik alle makro's opnieuw maken, maar dan met relatieve verwijzingen. (zie hiervoor overigens: werkbalk "makro opnemen" verdwenen )
liep ik tegen het geschetste probleem aan.
Als ik jouw antwoord goed begrijp liggen de feiten dus iets anders. Misschien heb je nog een andere suggestie?
Bedankt en groet
 
Hoi,

Hetgeen ik je voorgesteld heb, is natuurlijk niet zomaar te maken. Daarvoor moet je een goede kennis van VBA hebben, en de zaken van in den beginne goed aanpakken.

Je kan alles natuurlijk laten maken door iemand anders (Ik ben kandidaat... maar indien het véél werk is, vraag ik wel een vergoeding)

Of je doet het anders (Zomaar een ideetje)
Gebruik telkens hetzelfde werkblad, en op het eind van het jaar kopieer je dit werkblad (enkel waardes en opmaak), en plaatst dit in een nieuw werkblad met de naam van het afgelopen jaar.
Zo werk je namelijk altijd met hetzelfde werkblad.

Luc
 
Als ik je goed begrijp, Luc, wordt het probleem dus veroorzaakt door het feit dat ik het werkblad admin2003 gekopieerd heb naar admin2004.
Maar dat zou betekenen dat je iedere keer dat je een werkblad van naam verandert problemen kan krijgen met de in het werkblad opgenomen makro's! Ik weet dat Excel niet feilloos is, maar dat lijkt me toch wat onwaarschijnlijk. Misschien is er toch een andere oorzaak.
 
Daar is moeilijk een antwoord op te geven. Ik blijf bij m'n verklaringen, en mogelijke oplossingen. Zal ook niet makkelijk zijn zonder een goede VBA kennis. Maar voor de rest weten we echt te weinig van uw bestand om een kant en klare oplossing aan te bieden.

Luc
 
Om te testen heb ik in een bestand een aantal makro's opgenomen en vervolgens het bestand van naam veranderd, nieuwe makro's gemaakt. Weer van naam veranderd, weer nieuw makro's gemaakt, makro's gewist en opnieuw gemaakt etc.etc. De in mijn oorspronkelijke vraag genoemde problemen doen zich niet voor!
Ik wil niet eigenwijs zijn, maar ik blijf geloven dat de oorzaak ergens anders ligt.
Iemand nog een idee?
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan