• 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.

Opgelost Macro in excel faktuur opslaan als pdf

Dit topic is als opgelost gemarkeerd

Pummy

Gebruiker
Lid geworden
16 dec 2025
Berichten
9
Hallo,
zou graag macro maken om faktuur in excel opslaan als PDFfile met als titel Klntnr(A10)inhoud is vb (7vern an) + faktnr.(K10) (2025.12-001)
Heb al pogingen ondernomen maar lukt niet.
zou er iemand me kunnen helpen.
 
Welke versie van Office gebruik je?
Waar moet de PDF worden opgeslagen?
En plaats een voorbeeld documentje.
 
Het zou zoiets kunnen zijn, maar wel het pad aanpassen en eventueel wat er in M1 staat.
Het zal ongetwijfeld door de experts beter kunnen maar zoiets als dit gebruik ik.

Code:
Option Explicit
Sub PDF()
Dim FacName As String
FacName = ActiveSheet.Range("M1").Value
If Dir("C:\Users\Facturen Excel en PDF\" & FacName & ".pdf") <> "" Then
MsgBox "Het bestand: " & FacName & ".pdf bestaat reeds"
Exit Sub
Else
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:="C:\Users\Facturen Excel en PDF\" & FacName & ".pdf", Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, From:=1, To:=1, OpenAfterPublish:=True
End If
End Sub
 
Factuur
TelNaam:
BTWAdres:
Postcode:
Plaats:
Land:
KlantnummerOnderneminsnr.DatumVervaldatumFactuurnr.
21 SVEGOO 16/12/202516/12/202520250001
ArtikelOmschrijvingAantal (ref)Prijs/stukKortingTotaalBTW
OFFICE 365
ZOU GRAAG KLNR + FACTUURNR
ALS FILENAAM GEBRUIKEN
21 SVEGOO 20250001
PAD=users/reynd/dropbox/faktuur klanten
macro excel faktuur opslaan naar pdf bestand met klnr +faktrnr als bestandnaam naar pad zie hoger
61221
Bedrag excl.
BTW
Totaal BTW
Totaal excl. BTW
TOTAAL
[td width="13.6364%"]
clip_image002.png
BTW %
[/td]​
 
Een plaatje is geen voorbeeld Excel document.
 
Johan dank voor snel antwoord, heb macro ingevuld maar werkt nog niet. moet vertrekken, maar probeer straks opnieuw.

Grtjs Willy
Bericht automatisch samengevoegd:

Zie hier het excel factuur bijgevoegd

Grtjs Willy
 
Laatst bewerkt:
Denk dat hij het zo al beter zal doen.
Heb ineens de suggestie van edmoor erin verwerkt.
Code:
Sub FT_Opslaan_als_PDF() 'Een bestandsnaam opgeven
    Dim Klantnaam As String, FTnummer As String
    Dim pdfLocatie As String, Volledigenaam As String
    With Blad1
        Klantnaam = .Range("A10").Text
        FTnummer = .Range("K10").Text
        pdfLocatie = Environ("Userprofile") & "\Dropbox\lanostravita - Facturatie\factuur klanten\"
        Volledigenaam = pdfLocatie & Klantnaam & " " & FTnummer
        ' Test of het bestand al bestaat
        If Dir(Volledigenaam) = "" Then ' Zo nee: het PDf bestand maken
            With .PageSetup ' De pagina-eigenschappen instellen
            .PrintArea = "$A$1:$M$42"
            .Orientation = xlPortrait
            End With
            .ExportAsFixedFormat Type:=xlTypePDF, Filename:=Volledigenaam
            ' Een mededeling
            MsgBox Prompt:="Het PDF bestand is opgeslagen op de locatie:" & vbNewLine & vbNewLine & _
                            pdfLocatie, Buttons:=vbInformation, Title:="PDF opgeslagen"
        Else ' Zo ja: de gebruiker melden dat het bestand al bestaat
            MsgBox Prompt:="Het PDF bestand was al eerder opgeslagen op de locatie:" & vbNewLine & _
                            vbNewLine & pdfLocatie, Buttons:=vbInformation, Title:="PDF al opgeslagen"
        End If
    End With
End Sub

PS: Staan wel klantgegevens in je bestand, weet niet of dit heel belangrijk is ????
 
Laatst bewerkt:
Om het flexibeler te maken qua gebruiker kan je dit doen:
Code:
pdfLocatie = Environ("Userprofile") & "\Dropbox\lanostravita - Facturatie\Opgemaakte Verkoopsfacturen\"
 
Heb alles netjes gecopieerd en in macro geplakt. Krijg dadelijk bericht compileerfout er word end sub verwacht.
Mijn vraag is waar end sub te plaatsen?
 
Dan heb je waarschijnlijk iets vergeten want dat moet helemaal onderaan de code.
 
Zoals al staat in #7.
 
zo staat het in de macro
ub Macro3()
'
' Macro3 Macro
'

'
Sub FT_Opslaan_als_PDF() 'Een bestandsnaam opgeven
Dim Klantnaam As String, FTnummer As String
Dim pdfLocatie As String, Volledigenaam As String
With Blad1
Klantnaam = .Range("A10").Text
FTnummer = .Range("K10").Text
pdfLocatie = Environ("Userprofile") & "\Dropbox\lanostravita - Facturatie\factuur klanten\"
Volledigenaam = pdfLocatie & Klantnaam & " " & FTnummer
' Test of het bestand al bestaat
If Dir(Volledigenaam) = "" Then ' Zo nee: het PDf bestand maken
With .PageSetup ' De pagina-eigenschappen instellen
.PrintArea = "$A$1:$M$42"
.Orientation = xlPortrait
End With
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Volledigenaam
' Een mededeling
MsgBox Prompt:="Het PDF bestand is opgeslagen op de locatie:" & vbNewLine & vbNewLine & _
pdfLocatie, Buttons:=vbInformation, Title:="PDF opgeslagen"
Else ' Zo ja: de gebruiker melden dat het bestand al bestaat
MsgBox Prompt:="Het PDF bestand was al eerder opgeslagen op de locatie:" & vbNewLine & _
vbNewLine & pdfLocatie, Buttons:=vbInformation, Title:="PDF al opgeslagen"
End If
End With
End Sub

er staat toch end sub
 
Dit staat niet in die macro:
Code:
ub Macro3()
'
' Macro3 Macro
'

'
Kennelijk staat er bij jou dan: Sub Macro3()
Zonder End Sub.
 
Kopieer en plak wat er staat in Post#7, zonder iets voor of achter.
 
ok, heb het overtollige gewist. macro laten lopen.
macro gestopt op vet gedrukt

Sub FT_Opslaan_als_PDF() 'Een bestandsnaam opgeven
Dim Klantnaam As String, FTnummer As String
Dim pdfLocatie As String, Volledigenaam As String
With Blad1
Klantnaam = .Range("A10").Text
FTnummer = .Range("K10").Text
pdfLocatie = Environ("Userprofile") & "\Dropbox\lanostravita - Facturatie\factuur klanten\"
Volledigenaam = pdfLocatie & Klantnaam & " " & FTnummer
' Test of het bestand al bestaat
If Dir(Volledigenaam) = "" Then ' Zo nee: het PDf bestand maken
With .PageSetup ' De pagina-eigenschappen instellen
.PrintArea = "$A$1:$M$42"
.Orientation = xlPortrait
End With
.ExportAsFixedFormat Type:=xlTypePDF, Filename:=Volledigenaam
' Een mededeling
MsgBox Prompt:="Het PDF bestand is opgeslagen op de locatie:" & vbNewLine & vbNewLine & _
pdfLocatie, Buttons:=vbInformation, Title:="PDF opgeslagen"
Else ' Zo ja: de gebruiker melden dat het bestand al bestaat
MsgBox Prompt:="Het PDF bestand was al eerder opgeslagen op de locatie:" & vbNewLine & _
vbNewLine & pdfLocatie, Buttons:=vbInformation, Title:="PDF al opgeslagen"
End If
End With
End Sub
 
De macro werkt prima.
Bestaat de pdfLocatie wel?
 
Hoe ziet je factuurnummer eruit want in je 1ste post schrijf je het zo 2025.12-001 en in je 4de post ziet
het er zo uit 202512001.
 
het is het 2de nummer
Bericht automatisch samengevoegd:

Edmor zou ik die lijn moeten vervangen door
pdfLocatie = Environ("Userprofile") & "\Dropbox\lanostravita - Facturatie\factuur klanten\"
 
Bestaat deze locatie echt op je HD ?
"C:\Users\reynd\Dropbox\lanostravita - Facturatie\factuur klanten\"
 
Terug
Bovenaan Onderaan