Check alle échte Black Friday-deals Ook zo moe van nepaanbiedingen? Wij laten alleen échte deals zien

Excel tabs opslaan automatisch script

Pagina: 1
Acties:
  • 3.026 views

  • RolenID
  • Registratie: November 2013
  • Laatst online: 13:51
Hallo,

ik moet voor werk 1x in de maand een grote maandrapportage maken van data verloop van netwerk schrijven. Dit wordt netjes bijgehouden in een groot excel document en wordt uiteindelijk verwerkt in PDF (met de optie in excel: opslaan als en dan naar pdf)

Nou is mijn vraag kan dit niet geautomatiseerd?
Wat ik hiermee bedoel is dat ik een script heb die (zoals in het foto voorbeeld) de tabjes 1.1 tot 1.3 automatisch gaat opslaan in pdf en de tabjes 2.1 tot 2.3 in een ander pdf document ook weer opslaat. achter elkaar door dus.

voorbeeld excel sheet: http://i.imgur.com/8aII7Ik.png

ik hoop dat het een beetje duidelijk is en wacht geduldig op jullie reactie het zou mij in ieder geval een hoop werk schelen. Het zijn ongeveer 50 tabjes :o

  • MarcoC
  • Registratie: September 2003
  • Laatst online: 19-11 22:36
Dat zal ongetwijfeld kunnen. Probeer eens te kijken hoe ver je komt met VBA in Excel.

  • Arjan90
  • Registratie: September 2005
  • Laatst online: 12:35
Wat heb je zelf al geprobeerd of opgezocht via internet? Alle individuele tabs opslaan als PDF is niet zo'n probleem, dat kan sowieso. Jouw uitdaging is alleen dat je kennelijk wil verzamelen als de tekens voor de punt (1, 2) gelijk zijn.

Het is prima mogelijk in Excel middels VBA. Je kan een selectie maken van meerdere tabbladen en die opslaan als PDF, je zal dus eerst in VBA de juiste PDF's moeten selecteren en dan pas moeten opslaan. Vervolgens moet je die stap herhalen tot je alle 50 tabs hebt gehad :)

"Everybody is a genius. But if you judge a fish by its ability to climb a tree, it will live its whole life believing that it is stupid."


  • CappieL
  • Registratie: November 2006
  • Laatst online: 15:31
Je zou deze macro zelfs zelf op kunnen nemen.

Maar ik kan je een voorzetje geven met de functie:
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= "C:\eerste PDF.pdf", Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:= False

  • RolenID
  • Registratie: November 2013
  • Laatst online: 13:51
Ik ga even verder zoeken met VBA.
Hier had ik zelf nog nooit van gehoord

  • RolenID
  • Registratie: November 2013
  • Laatst online: 13:51
CappieL:

zie jij wat in de link wat van toepassing kan zijn?
http://stackoverflow.com/...rt-selected-sheets-to-pdf

  • CappieL
  • Registratie: November 2006
  • Laatst online: 15:31
Deze zou je kunnen gebruiken:

Sub luxation()
ThisWorkbook.Sheets(Array("Sheet1", "Sheet2", "Sheet3")).Select
Selection.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:="C:\TestFolder\temp.pdf", _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=False, _
OpenAfterPublish:=True
End Sub

Nu moet je alleen nog een scripje schrijven om de goede tabjes met elkaar samen te laten voegen

  • RolenID
  • Registratie: November 2013
  • Laatst online: 13:51
klinkt goed maar dit is gemaakt voor excel macro. kan ik dat script dan bijvoorbeeld ook als batch maken? of heb jij hier al een keertje mee gewerkt?

  • Paultje3181
  • Registratie: November 2002
  • Laatst online: 12:18
Wat je dan doet is:
Open Excel
Alt-f8
Klik de juiste macro aan
Uitvoeren

  • RolenID
  • Registratie: November 2013
  • Laatst online: 13:51
oke en hoe maak ik dan die macro aan paultje3181 van dat script wat CappieL stuurde?

  • CappieL
  • Registratie: November 2006
  • Laatst online: 15:31
Ik heb geen ervaring met batch, maar gewoon een macro-script in VBA.

Je zou Paultje3181 zijn actie nog kunnen vereenvoudigen met een knopje of een toetscombinatie.

[ Voor 41% gewijzigd door CappieL op 09-10-2015 16:46 ]


  • RolenID
  • Registratie: November 2013
  • Laatst online: 13:51
Dat snap ik alleen het uitvoeren en werken met VBA ben ik weer niet bekent mee. zou jij toevallig iets voor mij kunnen betekenen daarin?

  • CappieL
  • Registratie: November 2006
  • Laatst online: 15:31
Moeten er elke keer clusters van 3 tabbladen worden verzameld in 1 pdf?
Dan kan ik wel een code doorgeven die elke keer 3 tabbladen PDF-t en dan de volgende 3.. etc etc

[ Voor 40% gewijzigd door CappieL op 09-10-2015 16:49 ]


  • RolenID
  • Registratie: November 2013
  • Laatst online: 13:51
ja dat is correct.

  • CappieL
  • Registratie: November 2006
  • Laatst online: 15:31
Als je in een Module onderstaande code plakt, zal hij van elke 3 opvolgende sheets een PDF maken.

code:
1
2
3
4
5
6
7
8
9
10
11
12
Sub PDF()

Dim i As Integer

For i = 1 To (Sheets.Count / 3)
ThisWorkbook.Sheets(Array(i * 3 - 2, i * 3 - 1, i * 3)).Select
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:= _
    "C:\Test folder\Sheets " & i & ".pdf", Quality:=xlQualityStandard, _
    IncludeDocProperties:=False, IgnorePrintAreas:=False, OpenAfterPublish:= _
    False
Next
End Sub

  • RolenID
  • Registratie: November 2013
  • Laatst online: 13:51
Thanks cappieL!!
Ik ga hier maandag verder mee stoeien.

Alvast bedankt voor de moeite en kan ik terug komen als ik vragen heb?

  • Bolletje
  • Registratie: Juni 2008
  • Laatst online: 18-11 13:05

Bolletje

Moderator Harde Waren
Fraaier zou zijn als je een controlepaneeltje bouwt op een andere sheet (of in CustomUI) en dat je dan kan selecteren van welke tabbladen die een PDF moet maken. Ook dus een knop waar die macro dan achter hangt.

Als je het wat gebruiksvriendelijker maakt dan kunnen collega's van je het ook een keer doen als jij niet kan.

  • RolenID
  • Registratie: November 2013
  • Laatst online: 13:51
Bolletje: klinkt goed!
Heb jij toevallig een opzetje hiervoor of een voorbeeld?

  • RolenID
  • Registratie: November 2013
  • Laatst online: 13:51
Ik kom echt zelf niet verder..

Het is een bestand met 50 werkbladen gerangschikt zoals hieronder een voorbeeld is:

"ama1" "ama2" "FM1" "FM2" "beij1" "beij2" "beij3"

Nou wil ik dat een Excel Macro automatisch bijv. de werkbladen "ama1"en "ama2" op een aanpasbare locatie (bijv C:\maandrapportage\pdf) opslaat in PDF met een variable naam die ik zelf ik kan vullen dus.

kan iemand mij hierbij helpen of zo'n code kunnen schrijven en uitleggen?
Ik heb zelf al 2dagen lopen zoeken naar codes maar geen van alle is duidelijk of werkt uberhaupt naar behoren.
Heel erg bedankt voor diegene die mij verder kunnen helpen! en ik hoor het wel als er onduidelijk heden zijn

  • Lustucru
  • Registratie: Januari 2004
  • Niet online

Lustucru

26 03 2016

Het probleem waar je tegenaan loopt is dat je panklare antwoorden zoekt op een heel specifieke situatie. Met de links die je zijn aangereikt moet je er prima uit kunnen komen, als je eerst wilt verdiepen in de basis. Dat kost tijd, maar die verdien je de rest van je leven ruimschoots terug.

Natuurlijk kun je ook een iemand vragen om het werk voor jou te doen. Dat is een prima idee als je zelf geen tijd, zin of capaciteit hebt om je de basis eigen te maken. Daarvoor kun je een advertentie plaatsen in vraag- en aanbod, maar het forum is daar nadrukkelijk niet voor bedoeld.

Dit topic gaat daarom op slot. Als je besluit dat je het zelf wilt maken en onderhouden kun je prima een nieuw topic starten, maar dan zal dat aan jouw kant meer moeten inhouden dan dit topic. Ga bv in op scriptvoorbeelden die je zijn aangereikt en geef dan precies aan waar je op vastloopt.

[ Voor 19% gewijzigd door Lustucru op 15-10-2015 10:54 ]

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

Pagina: 1

Dit topic is gesloten.