• 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.

Te lange macro's opsplitsen in deelopdrachten?

Status
Niet open voor verdere reacties.

Pjotr2

Gebruiker
Lid geworden
30 mei 2012
Berichten
19
Nadat ik onlangs geweldig ben geholpen hier ben ik volop verder gegaan. Ik heb een heel groot document met 25 tabbladen. Op elk van die tabbladen staan ongeveer 100 in te vullen velden. Ik had een maktro verzonnen dat na bepaalde periode alle die info wordt weggeschreven naar een speciaal tabblad en alle velden op alle tabbladen worden leeggemaakt... echter die makro zou te lang zijn geweest (was ook een enorme lap tekst)...

Ik heb zelf verzonnen om de makro op te splitsen in (bijv) 6 deelmakro en 1 hoofdmakro te maken die deze 1 voor 1 uitvoert. Maar kan dit, en belangrijker... kan het niet 'mooier' of handiger.

Ik vind het geweldig dat er hier mensen zijn die vragen om het bestand en het 'even' fixen voor me... maar ben vooral op zoek naar de richting omdat ik denk dat van het zelf doen ik het het beste leer (wil volgende keer het zelf kunnen zonder hulp) :o
 
ja dat kan
je kan ook functies maken
stuur eens een voorbeeldje en doe een voorstel hoe te splitsen

groet sylvester
 
Laatst bewerkt:
Ik zou eerst kijken naar beheersbaarheid. Zolang de data te herkennen is, kan dit zeer eenvoudig zijn. Mogelijk is het enige wat nodig is alle invoercellen een bepaalde kleur geven. Als alle invoer data onder elkaar staat kun je alleen die kolom bewerken, etc.

Vaak is het veel beter om de data bereikbaar te maken en niet om je macro te specialiseren.
 
Een macro in stukken knippen en de afzonderlijke macro's aanroepen is heel makkelijk.

Stel je hebt 4 macro's en die heten

GegevensOphalen
BerekenningUitvoeren
GegevensWegschrijven
TabbladenLeegmaken


In je hoofdmacro kun je ze heel eenvoudig aanroepen je zet namelijk gewoon de naam van de macro in de code na uitvoering van elk deel komt hij vanzelf terug in je hoofdmacro en kun je ook andere code tussenvoegen zie een voorbeeld hieronder.


Code:
Sub Hoofdmacro() 

[INDENT]
GegevensOphalen

Msgbox "Gegevens zijn opgehaald" 

BerekenningUitvoeren 

Msgbox "Berekeningen zijn uitgevoerd" 

GegevensWegschrijven

TabbladenLeegmaken
[/INDENT]

End Sub

maar deelmacro's zijn dus heel makkelijk aan te sturen. het kan ook heel handig zijn als je 1 stap opnieuw wilt doen.
 
Heej, geweldig... Ben echt aan het leren

(ik had verzonnen een nieuw tabblad, daar 4 'knoppen' op en elk van die knoppen verbinden aan een makro. vervolgens een nieuwe makro opnemen en daarin dat tabblad laten verschijnen, ze een voor een indrukken en vervolgens het tabblad weer onzichtbaar maken... iets zei me dat dit niet de handigste manier was)

Voor wat betreft het tekstje van Wampier... Je zult ongetwijfeld gelijk hebben, maar mijn opdracht was zo gegeven dat elk van de tabbladen er grafisch 'lekker moest uit zien in huisstijl' en ik moest de opmaak vaneen vorige versie zo veel mogelijk intact laten omdat er ook mensen mee moeten werken die... ehm... niveau pindarots zijn.

Ik denk dat dit echt de oplissing is die ik in mijn hoofd had.

Nogmaals thnx jullie allemaal :)
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan