Macro uitvoeren op meerdere (specifieke) werkbladen

Status
Niet open voor verdere reacties.

Oudholland

Gebruiker
Lid geworden
4 jun 2020
Berichten
24
Ik heb een excel met meerdere werkbladen (voor de simpelheid nu Blad1, Blad2, etc) waar ik op een aantal specifieke bladen hiervan een serie macro's wil laten lopen.
Voor alleen het actieve werkblad heb ik deze nu al samengevoegd met de aanroep Call, maar het is een wekelijks herhalend proces voor enkele tientallen werkbladen (de naamgeving daarvan is iedere keer hetzelfde). Dus om dat niet per werkblad te hoeven doen zou handig zijn.
Daarna worden deze werkbladen opgeslagen naar PDF; daar heb ik al de code voor om deze met 1 macro allemaal als aparte pdf op te slaan. Dus als de opmaak ook in 1x zou kunnen...

Code:
Sub MarcoTotaal()

Call VulWerkblad            ' haalt met VLOOKUP gegevens op uit het werkblad BRONDATA
Call Formules_vervangen_door_waarden
Call SpatiesWissen
Call Sorteren_AZ
Call KolomOpmaak

End Sub

Maar hoe kan ik dit in 1x voor meerdere werkbladen doen? (dus deze macro "MacroTotaal" laten lopen op meerdere, vooraf bepaalde, werkbladen)
Waarbij ik moet zeggen dat in het document meer bladen zitten dat degenen waar deze macro's op uitgevoerd moeten worden. Het tabblad Brondata moet bijvoorbeeld niet worden meegenomen in deze serie macro's.
 
zonder goeie omschrijving van welke bladen moeten afgelopen worden, blijft onderstaande een gok.
Komen er straks steeds nieuwe bij dan moet dat mogelijks handiger en beter opgelost worden.
Ik ging er van uit dat je steeds in het actieve werkblad bezig was, dus met een eenvoudige select klaar zou zijn.
Code:
Sub MarcoTotaal()
   For Each blad In Array("blad1", "blad3", "blad5", "blad7")   'hier een opsomming van de gewenste bladen
      Sheets(blad).Select
      Call VulWerkblad                           ' haalt met VLOOKUP gegevens op uit het werkblad BRONDATA
      Call Formules_vervangen_door_waarden
      Call SpatiesWissen
      Call Sorteren_AZ
      Call KolomOpmaak
   Next
End Sub

Je kan anders ook alle tabbladen aflopen en enkel de tabbladen met een specifieke naam behandelen, maar dan moet je een betere omschrijving geven van hoe die keuze gemaakt moet worden.
 
Laatst bewerkt:
Was het zo simpel? :eek:
Zo werkt het zoals ik wilde.

De bladen genoemd in de array worden aangepast en de rest niet. Precies goed!
Je hebt de omschrijving welke bladen afgelopen moeten worden goed geïnterpreteerd; in dit geval dus blad 1, 3, 5 & 7. Die namen pas ik zelf wel aan.

Er zullen zeer waarschijnlijk geen werkbladen bijkomen; de bladen zijn een vast gegeven (alle vestigingslocaties van het bedrijf).
 
En Call hoef je al heel lang niet meer toe te voegen :).
 
Ik had 'm hier vanuit het forum, maar inderdaad al vanuit een wat ouder topic.
Dus zo is voldoende?

Code:
Sub MarcoTotaal()
   For Each blad In Array("blad1", "blad3", "blad5", "blad7")   'hier een opsomming van de gewenste bladen
      Sheets(blad).Select
      VulWerkblad                           
      Formules_vervangen_door_waarden
      SpatiesWissen
      Sorteren_AZ
      KolomOpmaak
   Next
End Sub
 
OffTopic, een heel toepasselijke handtekening voor iemand met dergelijke alias, beter bestaat bijna niet.
Tenzij, ik heb nog geleerd dat het oorspronkelijk west-vlaams was. (zegt een West-Vlaming)
 
Laatst bewerkt:
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan