Die Sache mit dem Punkt - with Sheets("XXX")
07.03.2014 15:46:50
Peter
Nun möchte ich, dass nicht zwingend diese Tabelle aktiv sein muss, wenn ich diesen Code aufrufe.
Der Code läuft. Was mich jedoch irritiert ist, dass ich einen Fehler erhalte, wenn ich bei der Zeile
SonderzeichenEntfernen(.Cells(Range("Auswertung_Print_Area_" & Right ....
nebst vor Cell auch vor Range einn Punkt setze, da ja dieser Range in der Tabelle "U_F" zu finden ist.
Gruss, Peter
Sub AlleTA_pdf()
Dim pdfName As String
Dim pdfOpenAfterPublish As Boolean
Dim i As Long
With Sheets("U_F")
With .PageSetup
.PrintArea = Sheets("U_F").Range("_Auswertung_AT").Address
.Zoom = False
.Orientation = xlLandscape
.FitToPagesTall = False
.FitToPagesWide = 1
End With
pdfOpenAfterPublish = False
For i = 1 To 11 '' entspricht .Range("_Auswertung_Print_Area_01") bis .Range("_Auswertung_Print_Area_11")
'' bei zusätzlichen Bereichen (_12 ff) muss bei to 11 entsprechend angepasst werden
pdfName = ThisWorkbook.Path & "\" & "Zeitsaldi" & "_" & Format(Range("_bis"), "YYYYMMDD") & "_" & _
SonderzeichenEntfernen(.Cells(Range("_Auswertung_Print_Area_" & Right("0" & i, 2)).Row, 1).value) & ".pdf"
.Range("_Auswertung_Print_Area_" & Right("0" & i, 2)).ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName, _
Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
OpenAfterPublish:=IIf(pdfOpenAfterPublish, True, False)
Next
With .PageSetup
.PrintArea = ""
End With
End With
End Sub
Public Function SonderzeichenEntfernen(strText As String) As String
''' Die Variable strSz enthält immer aufeinanderfolgend das Sonderzeichen und dann das _
Ersatzzeichen.
Dim strSz As String ' Sonderzeichen
Dim i As Long
strSz = ",_._ _"
For i = 1 To Len(strSz) Step 2
strText = Replace(strText, Mid(strSz, i, 1), Mid(strSz, i + 1, 1))
Next
SonderzeichenEntfernen = strText
End Function