Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Excel PDF mit unterschiedlichen Seiten ränder
#1
Hallo zusammen,

ich habe einen VBA-Code geschrieben um eine Pdf Datei durch Button zu speichern. wie ist es im Code zu sehen es werden unterschiedlichen Seitenränder benötigt. Einmal wenn D15="SET" und einaml wenn D15="EINS". Das mit dem Speichern klappt gut, leider die Seitenränder sind entsprechen nicht die eingegebenen Werten im Code. 

Ich hoffe ich habe das Problem soweit gut erklärt.

Danke im Voraus für eure Vorschläge.




Zitat:
Code:
Private Sub CommandButton3_Click()

Dim xlNewFileName As String
Dim PageSetup As String

Rem Pfad und Name für PDF-Datei
xlNewFileName = "\\Emea.fag.com\Komponenten\Optimierung\" & Left(ThisWorkbook.Name, InStr(1, ThisWorkbook.Name, ".") - 1) & ".pdf"

Rem PDF-Datei erstellen
ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=xlNewFileName, _
                                Quality:=xlQualityStandard, IncludeDocProperties:=True, _
                                IgnorePrintAreas:=False, OpenAfterPublish:=False
                               
ActiveSheet.PageSetup.PrintArea = "A:I"
ActiveSheet.PageSetup.PrintTitleRows = "$1:$18"
If Range("D15").Value = "SET" Then
    With ActiveSheet.PageSetup
        .LeftMargin = Application.InchesToPoints(0.31496062992126)
        .RightMargin = Application.InchesToPoints(0.31496062992126)
        .TopMargin = Application.InchesToPoints(0.78740157480315)
        .BottomMargin = Application.InchesToPoints(0.78740157480315)
        End With
        End If

If Range("D15").Value = "EINS" Then
    With ActiveSheet.PageSetup
        .LeftMargin = Application.InchesToPoints(0.6)
        .RightMargin = Application.InchesToPoints(0.6)
        .TopMargin = Application.InchesToPoints(1)
        .BottomMargin = Application.InchesToPoints(14)
        End With
     End If
End sub
Antworten Top
#2
Hallo,

du speicherst das Blatt erst als PDF und danach änderst du die Seitenränder deines Excel-Blattes.

Wie sollen dann die geänderten  Seitenränder in der PDF sein? Die ist doch schon gespeichert.

Also andersrum: Erst Seitenränder ändern, dann als PDF speichern.

Gruß Werner
Antworten Top
#3
Dankeschön für die schnelle Antwort.

Ich mache es normalerweise genau so wie du es meinst. Ich habe mir aber gedacht, es wäre mit dem Code einfacher und ich muss nicht jedes Mal die Seitenränder manuell ändern.

VG
Yonas
Antworten Top
#4
Hallo,

dann mach das doch mit dem Code.

Aber erst die Seitenränder ändern und danach erst als PDF speichern.

Gruß Werner
Antworten Top
#5
Ich habe mein Fehler gefunden und zwar die Maßen, die in VBA eingegeben wurden entsprechen nicht die Maßen die man manuell eingibt. z.B. für den Seitenrand unten geben ich 5,6 statt 14 und dann passt.

Dies habe ich durch Makro Aufzeichnung herausgefunden.

VG
Yonas
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste