• Privacywetgeving
    Het is bij Helpmij.nl niet toegestaan om persoonsgegevens in een voorbeeld te plaatsen. Alle voorbeelden die persoonsgegevens bevatten zullen zonder opgaaf van reden verwijderd worden. In de vraag zal specifiek vermeld moeten worden dat het om fictieve namen gaat.

Jaar voor jaardag plaatsen

Status
Niet open voor verdere reacties.

malsines

Gebruiker
Lid geworden
15 nov 2020
Berichten
104
Beste forum, ik gebruik de onderstaande vba code om meerdere sheets als pdf op te opslaan. Hij slaat ze zo op (023 Bestellingen 23-01-2022). hij haalt de datum van een cel, en ik had graag dat het jaar voor de jaardag komt. bijvoorbeeld (2020-023 Bestellingen 23-01-2022). ik heb een en al gegoogled maar ik ben niet zo goed in vba. graag jullie hulp bij deze simpele vraag voor jullie maar voor mij zeer moeilijk.



Code:
Sub PRINT_TO_PDF_ALL()
Dim sName$
Dim Path$
x = ActiveSheet.Name
Sheets("SOFOR").[K1] = "XD" 'zorgt ervoor dat klanten die niet bestellen, niet zichtbaar zijn op pdf
Sheets("SOFOR").Select      'zorgt ervoor dat klanten die niet bestellen, niet zichtbaar zijn op pdf
sName = Sheets(Array("sofor", "kend", "totaal", "40-45", "productie")).Select
Path = CreateObject("WScript.Shell").specialfolders("Desktop")
yearday = Format(DateDiff("d", CDate("1/1/" & Year(ActiveSheet.Range("B2"))), CDate(ActiveSheet.Range("B2"))) + 1, "000")
On Error Resume Next
ThisWorkbook.ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, _
Filename:=Path & "\" & yearday & " " & "Bestellingen" & " " & Format((ActiveSheet.Range("B2")), "dd-mm-yyyy"), _
    openafterpublish:=True
If Err.Number > 0 Then MsgBox "Error saving pdf."
With ActiveSheet.PageSetup
    .LeftMargin = Application.InchesToPoints(0.5)
    .RightMargin = Application.InchesToPoints(0.5)
    .TopMargin = Application.InchesToPoints(0.5)
    .BottomMargin = Application.InchesToPoints(0.5)
    .HeaderMargin = Application.InchesToPoints(0.2)
    .FooterMargin = Application.InchesToPoints(0.1)
    .PaperSize = xlPaperA4
    .Orientation = xlPortrait
    .Zoom = False
    .FitToPagesWide = 1
    .FitToPagesTall = 1
    Sheets(x).Select
    Sheets("SOFOR").[K1] = "" 'zorgt ervoor dat klanten die niet bestellen, niet zichtbaar zijn op pdf
End With
End Sub
 
terug een voorbeeldbestandje vergeten te plaatsen?
 
Code:
year(now)
en de rest van je code.
 
Hierbij het jaartal van nu.

Code:
Path & "\" & [COLOR=#ff0000]year(now) & "-" &[/COLOR] yearday & " " & "Bestellingen" & " " & Format(([COLOR=#ff0000]ActiveSheet.[/COLOR]Range("B2")), "dd-mm-yyyy")

Als je het jaartal van B2 ervoor wilt wordt het.
Code:
Path & "\" & [COLOR=#ff0000]year(range("b2")) [/COLOR]& "-" & yearday & " " & "Bestellingen" & " " & Format((ActiveSheet.Range("B2")), "dd-mm-yyyy")

Overigens is "Activesheet" overbodig.
 
Achter....

Code:
Filename:=
 
zo.
 

Bijlagen

  • test pdf.xlsm
    36,4 KB · Weergaven: 21
is het ook mogelijk bij multiple sheet pdf afdrukken dat als de cellen op tabblad "totaal" range C4:C20 als alle cellen leeg zijn, Niet wordt opgeslagen als PDF.. geldt ook voor de volgende tabblad : 40-45" range D5:D21. maar als er EEN cel ingevuld is, dat ie wel wordt opgeslagen als pdf
 
zoiets?
geef uw bladen een naam geen nummer
 

Bijlagen

  • test pdf (2).xlsm
    36,8 KB · Weergaven: 13
Status
Niet open voor verdere reacties.
Steun Ons

Nieuwste berichten

Terug
Bovenaan Onderaan