PDF File maken/opslaan van verschillende werkbladen

Status
Niet open voor verdere reacties.

Jeannette2509

Gebruiker
Lid geworden
11 nov 2019
Berichten
39
Hallo,

Ik ben nu al een tijdje aan het tobben om het volgende voor elkaar te krijgen. Ik hoop dat iemand mij op het juiste spoor kan zetten

Voor mijn werk heb ik een excelfile gemaakt met daarin diverse werkbladen en macro's en "simpele" VBA's.
De macro's doen wat ze moeten doen en als eindresultaat heb ik een aantal gevulde werkbladen, een totaalfactuur en een specificatie.

Niet alle werkbladen worden gevuld, maar zodra dat wel het geval is of als er een mutatie heeft plaatsgevonden, wordt deze rood.

Mijn uitdaging is nu als volgt:

Ik wil graag alleen de rood gekleurde werkbladen, de totaalfactuur en specificatie opslaan als 1 PDF file
Locatie en naam wil ik graag zelf bepalen.

Wie zou mij kunnen helpen? Alvast bedankt
 
Lijkt me geen probleem, maar klik eens op de link in mijn handtekening.
 
Bedankt voor uw reactie.

In de bijlage een eenvoudig voorbeeldje gemaakt. Ik hoop dat iemand mij kan helpen.

Alvast bedankt
 

Bijlagen

  • Voorbeeld.xlsm
    28,9 KB · Weergaven: 30
Niet echt een goed voorbeeld.
Alle bladen zijn rood en ik zie geen bladen met de naam titaalfactuur en specificatie.
 
Het rode gedeelte even aanpassen.
Code:
Sub hsv()
Dim sh As Worksheet
 For Each sh In Sheets
  If LCase(sh.Name) <> "specificatie" And LCase(sh.Name) <> "totaalfactuur" Then sh.Visible = sh.Tab.Color = 255
 Next sh
 ThisWorkbook.ExportAsFixedFormat 0, [COLOR=#ff0000]"c:\users\Jeannette2509\documents\allerodebladenenmeer.pdf"[/COLOR]
 For Each sh In Sheets
  sh.Visible = -1
 Next sh
End Sub
 
Harry, heel hartelijk bedankt voor je hulp.
Dit werkt fantastisch en ben ik heel erg blij mee.


Aanvullende wens, maar alleen als dat niet te veel moeite is:
Is het mogelijk dat voordat de pdf wordt opgeslagen er nog een vraag gesteld wordt voor uiteindelijke locatie en naam pdf?
 
Zo beter Jeannette?
Code:
Sub hsv()
Dim sh As Worksheet, naam As String
 For Each sh In Sheets
  If LCase(sh.Name) <> "specificatie" And LCase(sh.Name) <> "totaalfactuur" Then sh.Visible = sh.Tab.Color = 255
 Next sh
  naam = Application.GetSaveAsFilename(, "PDF Files (*.pdf), *.pdf", , "Voer bestandsnaam in")
  If InStr(naam, ".pdf") Then ThisWorkbook.ExportAsFixedFormat 0, naam
    For Each sh In Sheets
      sh.Visible = -1
    Next sh
End Sub
 
Harry, dit is helemaal geweldig en precies zoals ik het graag wilde.
Nogmaals hartelijk bedankt voor je hulp!
 
Graag gedaan hoor,

Je vraag kun je als opgelost markeren in je openingspost, Bvd.
 
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan