Thema Datum  Von Nutzer Rating
Antwort
Rot Ausgewählte Seiten in Excel WS drucken.
19.06.2017 23:56:00 Hannes
NotSolved
20.06.2017 11:29:20 BigBen
NotSolved

Ansicht des Beitrags:
Von:
Hannes
Datum:
19.06.2017 23:56:00
Views:
1121
Rating: Antwort:
  Ja
Thema:
Ausgewählte Seiten in Excel WS drucken.

Hallo, 
ich habe ein Excelblatt  in dem ich mehrere Seiten mit Lieferscheinen (ungefähr von dieser Form) habe, von denen nicht immer alle ausgefüllt sind. Nun möchte ich von diesen nur bestimmte Seiten (in denen ein festgelegter Bereich nicht leer ist) drucken. Das habe ich gemacht habe, indem ich über die Pagebreaks iteriert habe und für jede Seite getestet habe, ob der Bereich (Spalte C) leer ist. Wenn das nicht der Fall ist, wird die aktuelle Seite gedruckt. 
Das Problem bei diesem Vorgehen ist, dass ich für jede Seite einen neuen Druckauftrag erzeuge. Gibt es eine Möglichkeit, Meine Auswahl von Seiten in nur einem Druckauftrag sende?
Also ich habe bspw. die Seiten 1 bis 100. wobei Seite etwa die Seiten 3 und 54 leer sind. Gibt es einen Befehl der Art PrintOut(Seite 1, Seite 2, Seite 4, ... Seite 54, Seite 56,...Seite 100)?

So sieht mein Makro bisher aus:

 

Option Explicit
Sub LieferscheineDrucken()
Dim HPB As HPageBreak
Dim breakAdress As Integer
Dim pageNumber As Integer
Dim productNumber As Integer
Dim printCondition As Boolean
pageNumber = 1
printCondition = False

'Drucke Seite 1
For productNumber = 10 To 61
    ActiveSheet.Cells(productNumber, "C").Select
    If ActiveSheet.Cells(productNumber, "C").Value <> "" Then
    printCondition = True
    End If
Next

If printCondition = True Then
    ActiveSheet.PrintOut From:=1, To:=1, Copies:=1, Collate:=True
End If
printCondition = False
pageNumber = pageNumber + 1


'Drucken der restlichen Seiten
For Each HPB In ActiveSheet.HPageBreaks
    breakAdress = CInt(Mid(HPB.Location.Address, 4, 5))


    'Teste, ob Lieferschein Einträge enthält
     For productNumber = (breakAdress + 9) To (breakAdress + 60)
           If ActiveSheet.Cells(productNumber, "C").Value <> "" Then
                printCondition = True
           End If
     Next

    If printCondition = True Then
        ActiveSheet.PrintOut From:=pageNumber, To:=pageNumber, Copies:=1, Collate:=True
    End If

    pageNumber = pageNumber + 1
    printCondition = False

Next
End Sub

 

Vielen Dank für eure Hilfe!


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:

 
 

  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
Rot Ausgewählte Seiten in Excel WS drucken.
19.06.2017 23:56:00 Hannes
NotSolved
20.06.2017 11:29:20 BigBen
NotSolved