Toon posts:

Excel werkbladen opslaan als bestanden

Pagina: 1
Acties:

Onderwerpen

Vraag


Acties:
  • 0 Henk 'm!

Verwijderd

Topicstarter
Hallo allemaal,

Ik heb een draaitabel op budgethouder, door middel van rapportfilterpagina weergeven krijg ik op ieder werkblad het overzicht per budgethouder.

Nu wil ik al deze werkbladen als aparte bestanden opslaan.
Ik doe dat nu handmatig door tabblad te verplaatsen en dan op te slaan.

Ik weet dat dit d.m..v. een macro kan, echter geen ervaring mee.

Kan iemand uitleggen wat ik moet doen.
De naam van de bestanden moet naam van werkblad zijn plus huidige maand.

Dus Jan Janssen- Maart 2017, Saskia Smit- maart-2017 ezv.

Alle reacties


Acties:
  • 0 Henk 'm!

  • F_J_K
  • Registratie: Juni 2001
  • Niet online

F_J_K

Moderator CSA/PB

Front verplichte underscores

Welkom!

Je kunt inderdaad een macro maken:
- via een loopje alle worksheets langs gaan
-- met workbooks.add een nieuw workbook maken
-- kopieer worksheet naar dan nieuwe workbook
-- sla dat workbook op met workbook.saveas en een naam obv. bijv de worksheet-naam en een bepaalde cel in het betreffende worksheet.
- En overigens wel even opletten of de data bewaard blijft in een nieuwe sheet (of dat verwijzingen verloren gaan als het org bestand verdwijnt).

Waar loop je vast, wat is je huidige code, waar twijfel je? (Je kunt niet verwachten dat alle code hier wordt gegeven, wel dat we met je meedenken als je ergens vastloopt). Als je nog nul ervaring hebt met VBA of andere talen, dan zou ik je aanraden eerst wat eenvoudige tutorials te volgen, om te voorkomen dat je pijnlijke fouten gaat maken.

'Multiple exclamation marks,' he went on, shaking his head, 'are a sure sign of a diseased mind' (Terry Pratchett, Eric)


Acties:
  • 0 Henk 'm!

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Met ^^^ maar...
F_J_K schreef op woensdag 29 maart 2017 @ 12:25:
Je kunt inderdaad een macro maken:
- via een loopje alle worksheets langs gaan
- sla elk sheet op met worksheet.saveas en een naam obv. bijv de worksheet-naam en een bepaalde cel in het betreffende worksheet.
- En overigens wel even opletten of de data bewaard blijft in een nieuwe sheet (of dat verwijzingen verloren gaan als het org bestand verdwijnt).
Ook het worksheet heeft een saveas functie. Het is dus niet nodig om een apart workbook aan te maken en het sheet te kopieren. :) De basiscode is dan niet meer dan
code:
1
2
3
For each ws in activeworkbook.sheets
      ws.saveas ws.Name & "_" & format(date,"mmmm-YYYY")
next ws


Maar zoals F_J_K terecht opmerkt: dit is alleen de basis. Je wilt ook zorgen dat de code doorloopt bij onvoorziene omstandigheden. :)

De oever waar we niet zijn noemen wij de overkant / Die wordt dan deze kant zodra we daar zijn aangeland