Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1924to1928
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Festlegen des Druckbereichs im Makro

Festlegen des Druckbereichs im Makro
03.04.2023 09:23:10
Fynn Borchert

Moin Moin,

Ich erstelle aktuell ein Makro um Kollegen an nachstehender Stelle 50 Aktenordner im Jahr zu sparen.

Nun habe ich 50% des Makros fertig, bzw. eine der beiden Aktionen vollendet, für die andere muss ich das nun bestehende nur minimal anpassen wie folgt:

Befehl 1, druckt den definierten Druckbereich als PDF, filtert vorher eine Hilfsspalte auf die Farbe gelb, erstellt die PDF, exportiert sie in ein vorgefertigten Outlook-Element, dessen Grundsatzdaten jeweils auf dem aktiven Tabellenblatt angegeben werden (Empfänger, CC, Betreff).

Der Druckbereich ist hier Spalte A : W

Für den zweiten Befehl darf der Druckbereich allerdings nur A:D lauten, da die Kollegin hier einen für mich unsinnigen Extrawunsch hat, aber das war die Bedingung, dass mir überhaupt Gehört geschenkt wurde, dass man die Aktenberge doch abschaffen könne.

Folgend der denke ich wichtige Bereich des Makros:


 Rem PDF-Datei erstellen. Funktioniert nur in Excel 2007 oder höher, nicht in Excel 2003 oder älter
 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName, _
 Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
 OpenAfterPublish:=IIf(pdfOpenAfterPublish, True, False)

Lässt sich hier oder in einem vorangehenden Schritt der Druckbereich begrenzen? Bei meinen Versuchen mit ActiveSheet oder Range(X,Y).select bin ich immer nur auf Fehler gestoßen, eventuell kann ein Befehl ja nicht zweimal mit ActiveSheet.xyz im gleichen Schritt arbeiten, bin allerdings noch ein relativer Excelneuling.

Hier das komplette Makro, XYZ habe ich geschwärzt, da hier Firmendaten enthalten sind ^^:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
     Dim wksSheet As Worksheet
     For Each wksSheet In ThisWorkbook.Worksheets
         With wksSheet
             If .AutoFilterMode Then
                 If .FilterMode Then
                     .ShowAllData
                 End If
             End If
         End With
     Next wksSheet
 End Sub
 Sub AlsPDFVersenden()

 Dim pdfName As String
 Dim pdfOpenAfterPublish As Boolean
 Dim olApp As Object
 
'
' Filter_Reklamation Makro
'
' Tastenkombination: Strg+Umschalt+O
'
    ActiveSheet.Range("$V$6:$W$28").AutoFilter Field:=1, Criteria1:=RGB(255, _
        255, 0), Operator:=xlFilterCellColor


 Rem Rückfragen, ob Datei nach dem Erstellen geöffnet werden soll
 If MsgBox("Bitte die PDF vor dem Absenden der E-Mail kontrollieren!", vbYes, "PDF anzeigen") = vbYes Then pdfOpenAfterPublish = True

 Rem Pfad und Name der PDF-Datei
 pdfName = ThisWorkbook.Path & "\PDFs/" & ActiveSheet.Name & ".pdf"

 Rem PDF-Datei erstellen. Funktioniert nur in Excel 2007 oder höher, nicht in Excel 2003 oder älter
 ActiveSheet.ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName, _
 Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
 OpenAfterPublish:=IIf(pdfOpenAfterPublish, True, False)


 Rem Email erstellen
 Set olApp = CreateObject("Outlook.Application")
 With olApp.CreateItem(0)
 .To = Range("U5").Value
 .Subject = "Contract " & Range("N1").Value & " //Broker contract " & Range("N2") & " //Delivery destination " & Range("N4").Value  'Betreffzeile
 .htmlBody = "
Good afternoon," & "enclosed you´ll find an overview of your delivered quantities to the above mentioned contract with XYZ.
" & "Please only understand the yellow marked qualities as claim.
" & "
Please mention the broker contract orXYZ contract number on your invoices, it would help us to process your invoices faster." & "
Best regards!" 'Emailtext .Attachments.Add pdfName .Display End With Rem Boolean-Variable "pdfOpenAfterPublish" zurücksetzen pdfOpenAfterPublish = False End Sub

_________________________________-

Für jede Hilfe dankbar,
Lieben Gruß!

2
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Festlegen des Druckbereichs im Makro
03.04.2023 09:55:35
Rudi Maintaire
Hallo,
so geht das:
  Rem PDF-Datei erstellen. Funktioniert nur in Excel 2007 oder höher, nicht in Excel 2003 oder älter
  With ActiveSheet
    .PageSetup.PrintArea = "A:D"    'Druckbereich festlegen
    .ExportAsFixedFormat Type:=xlTypePDF, Filename:=pdfName, _
      Quality:=xlQualityStandard, IncludeDocProperties:=False, IgnorePrintAreas:=False, _
      OpenAfterPublish:=pdfOpenAfterPublish
    .PageSetup.PrintArea = ""  'Druckbereich löschen
  End With
Gruß
Rudi


AW: Festlegen des Druckbereichs im Makro
03.04.2023 11:30:21
Fynn Borchert
zSuper, klappt einwandfrei!
Hab's auch direkt im anderen Modul aufgenommen, damit keiner auf die Idee kommt den Druckbereich manuell zu definieren und etwas durcheinander bringt!
Lieben Dank!

Anzeige

39 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige