Hallo,
ich weiß gar nicht wie ich es erklären soll...
Also ich habe eine große Arbeitsmappe mit mehreren Tabellen in der Zeiten von Mitarbeitern ausgewertet werden.
Funktioniert auch alles prima.
So zum Problem, in einer Tabelle wird mit Auswahl von Monat und Mitarbeiter einen Stundenzettel für den Mitarbeiter erstellt.
auch das funktioniert. Ich habe auf diesem Tabbeleblatt einen Button 'drucken', der dann alle!! Stundenzettel der verschiedenen Mitarbeiter als einzelne
PDF Datei speichert. Das funktioniert seit diesem Monat nicht mehr, er bricht nach 9 Mitarbeitern mit Fehlermeldung ab.
Im Debug Modus wird mir dann als Inhalt der Variable: pvi.Name ein Name angezeigt der nicht mehr in der Firma tätig ist und auch nirgendswo in der Arbeitsmappe mehr vorkommt. Ich habe dan mal eine minimal Arbeitsmappe erstellt wo ich ALLE Tabellen etc. gelöscht habe die nicht für den Stundenzettel nötig sind und auch nur 3
verschiedene Mitarbeiter mit je nur einem Eintrag (Arbeitstag) in den Daten gelassen . Stundenzettel funktioniert nach wie vor aber der Druck bricht sofort ab mit jetzt
einem anderen NICHT vorhanden Mitarbeiternamen in der Variable pvi.Name......
Vieleicht kann mir ja jemand helfen .. ich weiß hier mit meinen Kenntnissen nicht weiter ;(
Hier mal die Sub die ich zum drucken benutze:
Public Sub PDF_Datei_Export_Monteur()
Dim pvt As PivotTable
Dim pvi As PivotItem
Dim rngPivot As Range
Dim strPath As String
Dim strFilename As String
Dim strMonteur_M As String
With ThisWorkbook
strPath = .Path & "\"
strFilename = Left$(.Name, InStrRev(.Name, ".") - 1) & ".pdf"
End With
Set pvt = ActiveSheet.Range("B3").PivotTable
Set rngPivot = pvt.TableRange2
strMonteur_M = pvt.PivotFields("Fahrer").CurrentPage
Application.ScreenUpdating = False
For Each pvi In pvt.PivotFields("Fahrer").PivotItems
If pvi.Name > "(blank)" Then
pvt.PivotFields("Fahrer").CurrentPage = pvi.Name (- HIER STEHT IMMER DER NICHT VORHANDENER MITARBEITER DRIN )
' PDF-Export
rngPivot.ExportAsFixedFormat _
Type:=xlTypePDF, _
Filename:=strPath & pvi.Name & " " & strFilename, _
Quality:=xlQualityStandard, _
IncludeDocProperties:=True, _
IgnorePrintAreas:=True, _
OpenAfterPublish:=False
End If
Next
pvt.PivotFields("Fahrer").CurrentPage = strMonteur_M
Set pvt = Nothing
Set pvi = Nothing
Set rngPivot = Nothing
End Sub
Ich sag schon mal danke :)
Gruß Hardy