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

VBA code printen als pdf geeft error #verw!

Status
Niet open voor verdere reacties.

shalhevet

Gebruiker
Lid geworden
9 okt 2007
Berichten
231
Hoi,

In mijn bestand gebruik ik een vba code om het document te printen als pdf.

De gegevens in de maand blad (Januari) worden opgehaald van de weken bladen (week1, week2).

Het probleem is dat als ik de macro uitvoer om te printen (in de maand blad) krijg ik ipv het ingevoerde gegevens een #verw! in de tabel.

Waar zou het aan liggen?

Bekijk bijlage _MNDJanuari.pdf

Bekijk bijlage Macro printen pdf.xlsm
 
Als die werkbladen er niet zijn krijg je inderdaad die #VERW! melding.
Dat betekend dat er in een formule een cel of werkblad wordt gebruikt die verwijderd is.
 
Dat was mijn eerste gedachte ook maar is niet het geval.

Als ik de uren in de week blad invoer krijg ik deze netjes te zien in de maand blad.

Het probleem is tijdens het printen naar pdf. dan worden alle gegevens "omgezet" naar de fout melding en worden ze zo uitgeprint.
 
Haal de regel (ThisWorkbook.ActiveSheet.Copy) maar eens weg, dan werkt hij bij mij goed. (in de macro)
 
Maak van de gegevens in een werkblad waarden (ipv formules) voordat je het omzet naar een PDF-bestand

Code:
Sub PDFMaken()
    With ThisWorkbook.ActiveSheet
      .UsedRange = .UsedRange.Value
      .ExportAsFixedFormat 0, ThisWorkbook.Path & "\UrenRegistratie\WK.pdf"
      .Parent.Close False
    End With
End Sub
 
Laatst bewerkt:
14Janzwart

Dat werkt idd wel maar hij sluit het Excel bestand ook direct af na het printen.

Wat moet ik veranderen om ervoor te zorgen dat het bestand gewoon open blijft?

Heb al geprobeerd de volgende rij te veranderen:

Code:
Sub PDFMaken()
    Dim pad As String
    pad = ThisWorkbook.Path & "\Uren Registratie\" & "_" & "WK" & ActiveSheet.Range("B13").Value & ".pdf"
     ActiveSheet.ExportAsFixedFormat xlTypePDF, pad, , True, , , , True
    [COLOR="#FF0000"]ActiveWorkbook.Close False[/COLOR]
    ThisWorkbook.Save
End Sub

naar

Code:
Sub PDFMaken()
    Dim pad As String
    pad = ThisWorkbook.Path & "\Uren Registratie\" & "_" & "WK" & ActiveSheet.Range("B13").Value & ".pdf"
    ActiveSheet.ExportAsFixedFormat xlTypePDF, pad, , True, , , , True
    [COLOR="#FF0000"]ActiveWorkbook.Close True[/COLOR]
    ThisWorkbook.Save
End Sub

maar dat werkt natuurlijk niet :-(

-----------------------******************-----------------------------

snb,

Ik begrijp het niet helemaal, moet ik mijn code vervangen door jouw code? of is het een toevoeging?
 
Haal gewoon deze regel eruit.
Code:
ActiveWorkbook.Close False
 
Werkt perfect!!

Voor een andere die hetzelfde probleem heeft, dit is de juiste code:

Code:
Sub PDFMaken()
    Dim pad As String
    pad = ThisWorkbook.Path & "\Uren Registratie\" & "_" & "WK" & ActiveSheet.Range("B13").Value & ".pdf"
    ActiveSheet.ExportAsFixedFormat xlTypePDF, pad, , True, , , , True
    ThisWorkbook.Save
End Sub

Bedankt allemaal!!! :thumb:
 
Status
Niet open voor verdere reacties.
Terug
Bovenaan Onderaan