Help!

PC-Problemen?
De vrijwilligers van Oplossing.be zoeken gratis met u mee!

Hulp bij posten

Recente topics

Auteur Topic: Geselecteerde tabbladen opslaan als 1 PDF-bestand dmv een macro  (gelezen 92202 keer)

0 leden en 1 gast bekijken dit topic.

Offline Della Jordan

  • Volledig lid
  • **
  • Berichten: 223
  • Geslacht: Vrouw
Re: Geselecteerde tabbladen opslaan als 1 PDF-bestand dmv een macro
« Reactie #15 Gepost op: 23 juli 2024, 18:52:04 »
Ok, Softaid
Hier een voorbeeld.
bijlage 1 resultaat. (pdf)
bijlage 2 excel voorbeeld
Citaat
... je code werkt niet?
dus mijn code werkt zeker.
Citaat
en je had in de array slechts 2 tabbladen opgenomen, geen drie.
Volgens mij zijn er nog altijd drie
With Sheets(Array("Gegevens", "Import", "Fotos"))
Citaat
Variabelen declareren doe ik steeds omdat er ook mensen meekijken die met oude versies van Excel werken.
Deze code werkt evengoed in office 2007 zonder de variabelen te declareren


Groetjes,Della

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.331
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Geselecteerde tabbladen opslaan als 1 PDF-bestand dmv een macro
« Reactie #16 Gepost op: 23 juli 2024, 19:14:12 »
Hallo Della,

in mijn laatste bericht meld ik al dat je code wel werkt als je de namen van de tabbladen juist vermeld.
Als jij de tabbladen veranderd van naam, en ook in je macro, zonder dit door te geven, dan testen wij (ik) dat met de gekende namen, en dat had ik dus pas gemerkt na mijn voorlaatste post. Maar ik heb het gecorrigeerd naar jou toe.

Wat de array betreft heb je gelijk, er stonden 3 tabbladnamen in.
Wat veroorzaakte mijn vergissing?
Je gebruikt
"Gegevens", "Import" en "Fotos"waar origineel
"Gegevens Import", "Fotos" en "Belijningsvlakken - inspectie"stonden. Je hebt daarvan
"Gegevens","Import","Foto's"
gemaakt, wat voor de verwarring zorgde.

Daarmee heb je je punt, maar niet wat betreft het gebruik van With en End With in plaats van Select.
Als je er nul,nul mee wint, dan laat ik liever het duidelijkere Select staan.

En er zijn oudere versies van Office dan 2007. Veel bedrijven werken nog steeds met '98 (en daar moet je wel declareren).

:) SoftAid :)             

Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline JEC

  • Excel-Expert
  • Ervaren lid
  • *****
  • Berichten: 425
Re: Geselecteerde tabbladen opslaan als 1 PDF-bestand dmv een macro
« Reactie #17 Gepost op: 23 juli 2024, 22:29:33 »
Declareren van variabelen is altijd beter. Je kunt foutmeldingen krijgen bij bepaalde procedures zonder declaraties. Sterker nog, 9 van de 10 keer is het verplicht.

Verder valt dit onder de ‘1%’ waarbij je select zeker kan gebruiken. Al die variabelen heb je helemaal niet nodig in dit geval

Offline StefanDeHeuvel

  • Nieuw lid
  • Berichten: 5
  • Geslacht: Man
  • Hey, ik ben nieuw hier !
Re: Geselecteerde tabbladen opslaan als 1 PDF-bestand dmv een macro
« Reactie #18 Gepost op: 24 juli 2024, 08:13:09 »
Citaat
Hallo Stefan,

goed, dat kan werken. Vraag is meervoudig:

- Is het nodig dat werkblad "Fotos" naar achteren verhuisd wordt?
- Welke werkbladen wil je samenvoegen in het PDF en in welke volgorde?
- Waarom wil je werkblad "Belijningsvlakken - inspectie" onzichtbaar maken als je het niet wilt meenemen naar de PDF?
- Wat is er mis met de heel eenvoudige code van JEC ?

Ik heb even alle "bagger" uit je code gehaald, en de naam van het gebruikte (oorspronkelijke) .xlsm bestand gebruikt als naam voor het PDF (je krijgt hier dan bvb Map1.xlsm.PDF als naam.

SoftAid,
Ben superblij met de opgeschoonde code! Was zelf te bang om teveel weg te halen zodat het niet meer zou werken......

Hieronder de antwoorden op je vragen:

- Het tabblad "Fotos" had ik naar achteren verhuisd ivm de printvolgorde
- De volgorde in de PDF is "Gegevens Import" - "Fotos"
- Het tabblad ("Belijningsvlakken - inspectie") in dit geval. (Kan ook een andere naam hebben) is een bronblad voor gegevens waar verders niets mee gedaan mag worden. Deze verberg ik zodat er niet per ongeluk wijzigingen in worden aangebracht.

Is het mogelijk en hopelijk niet teveel gevraagd om de .xslm bestandstoevoeging voor .pdf weg te laten?

Gr. Stefan

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.331
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Geselecteerde tabbladen opslaan als 1 PDF-bestand dmv een macro
« Reactie #19 Gepost op: 24 juli 2024, 14:27:13 »
- Het tabblad "Fotos" had ik naar achteren verhuisd ivm de printvolgorde
OK, maar dat kan je toch standaard achteraan zetten, eens als laatste, altijd als laatste. Of...je moet goede redenen hebben om het toch steeds te controleren via de macro, maar dan weet je wel hoe dat te doen
- De volgorde in de PDF is "Gegevens Import" - "Fotos"
Dat mag dan zo blijven.
- Het tabblad ("Belijningsvlakken - inspectie") in dit geval. (Kan ook een andere naam hebben) is een bronblad voor gegevens waar verders niets mee gedaan mag worden. Deze verberg ik zodat er niet per ongeluk wijzigingen in worden aangebracht.
Ik heb de code terug geplaatst om dit tabblad te verbergen. Wel wat samengevoegd tot 1 lijn.
Is het mogelijk en hopelijk niet teveel gevraagd om de .xslm bestandstoevoeging voor .pdf weg te laten?

Geen enkel probleem, vraag zo veel je wil, we trachten altijd te helpen.
De naam van het werkboek (myFile) (bvb Map1.xlsm) gebruik ik in het werkboek "Fotos" cel B1, om er via een formule in "C1" de string ".xlsm" weg te halen. Daarna wordt de variabele myFile = "Map1" en kan je deze gebruiken om te exporteren.
Mogelijk bestaat er ook een mogelijkheid om dit in de Editor te doen, maar ik ben ook maar een groentje op Excel gebied....  :-[
Hier de code:

Sub SaveSheetsAsPDF_SA()

Sheets(Array("Gegevens Import", "Fotos")).Select
Set wbA = ThisWorkbook
    myFile = wbA.Name
    Sheets("Fotos").Range("B1") = myFile
    myFile = Sheets("Fotos").Range("C1")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=myFile
Sheets("Belijningsvlakken - inspectie").Visible = False
End Sub

Ik hoop dat je hiermee geholpen bent. Anders horen we het graag.

Groeten,

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

Offline StefanDeHeuvel

  • Nieuw lid
  • Berichten: 5
  • Geslacht: Man
  • Hey, ik ben nieuw hier !
Re: Geselecteerde tabbladen opslaan als 1 PDF-bestand dmv een macro
« Reactie #20 Gepost op: 25 juli 2024, 10:48:18 »
Hi SoftAid,

Super bedankt! Hij doet nu alles wat nodig was. Ik heb alleen de printerinstellingen toegevoegd/aangepast omdat nu de gegevens in B1 en C1 op het tabblad "Fotos" ook afgedrukt werden.
Heb de code zoals ik hem nu gebruik hieronder geplaatst.
Nogmaals dank voor alle hulp!

Gr. StefanSub Save_PDF()

Sheets("Fotos").Select
Columns("B:C").Select
    Selection.EntireColumn.Hidden = True
    Sheets("Fotos").Move After:=Sheets(3)
    Sheets(Array("Gegevens Import", "Fotos")).Select
    Application.PrintCommunication = False
    With ActiveSheet.PageSetup
        .PrintTitleRows = ""
        .PrintTitleColumns = ""
        .FitToPagesWide = 1
        .FitToPagesTall = 0
    End With
    Application.PrintCommunication = True
    Sheets("Gegevens Import").Activate
Sheets(Array("Gegevens Import", "Fotos")).Select
Set wbA = ThisWorkbook
    myFile = wbA.Name
    Sheets("Fotos").Range("B1") = myFile
    myFile = Sheets("Fotos").Range("C1")
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, fileName:=myFile
Sheets(1).Visible = False
End Sub

Offline SoftAid

  • Administrator
  • Ambassadeur
  • *****
  • Berichten: 20.331
  • Geslacht: Man
  • Nobody is perfect, not even me...
Re: Geselecteerde tabbladen opslaan als 1 PDF-bestand dmv een macro
« Reactie #21 Gepost op: 25 juli 2024, 10:55:40 »
Hallo Stefan,

fijn dat het nu goed werkt.

Je had de printerinstellingen niet in je code moeten opnemen, je kon ook gewoon de tekstkleur van B1 en C1 op Wit zetten, dan waren die cel-inhouden ook niet zichtbaar. Maar prima als het zo goed is voor je.

Groeten, en tot de volgende vraag  ;D

:) SoftAid :)             
Maximum grootte bijlagen vergroot naar 4 MB
Dubbelposten, het posten op verschillende forums van dezelfde vraag, dient op
voorhand gemeld te worden, met een link naar het topic op de andere site.
Overtreding van deze regel kan bestraft worden met verbanning !

 


www.combell.com