Druckproblem

Bild

Betrifft: Druckproblem von: Heike
Geschrieben am: 11.02.2005 08:41:37

Hallo,
hab folgendes Problem: möchte beim Ausdruck eines Tabellenblattes nur die Zeilen drucken, die in einer bestimmten Zelle (in dieser Zeile) einen Wert ungleich Null haben. Alle anderen Zielen sollen nicht gedruckt werden.

Danke
Heike

Bild


Betrifft: AW: Druckproblem von: UweD
Geschrieben am: 11.02.2005 09:43:57

Hallo Heike

so gehts:

  • VBA Editor öffnen (Alt F11)

  • Project Explorer öffnen (Strg+R)

  • "DieseArbeitsmappe" doppelklicken

  • Im neuen Fenster das Makro einfügen




      
Private Sub Workbook_BeforePrint(Cancel As Boolean)
    
Dim TB, TN, Sp, I%, LR%
    Cancel = 
True
    Application.ScreenUpdating = 
False
    
Set TB = ActiveSheet
    Sp = 3 
'Spalte C soll untersucht werden
    LR = TB.Cells.SpecialCells(xlCellTypeLastCell).Row 'Letzte Zeile
    TB.Copy After:=TB 'legt temporäre Kopie an
    Set TN = ActiveSheet 'neues Blatt
    
    
'löscht den Inhalt der Zeilen
    For I = 1 To LR
        
If TB.Cells(I, Sp).Value = 0 Then
            TB.Rows(I).Clear
        
End If
    
Next
    
    Application.EnableEvents = 
False
        TB.PrintOut 
'druckt aus
    Application.EnableEvents = True
        TN.Cells.Copy TB.Cells 
' stellt ursprüngliche Daten wieder her
    Application.DisplayAlerts = False 'schaltet Warnung aus
        TN.Delete ' löscht temporäre Kopie
    Application.DisplayAlerts = True
    TB.Activate
    Application.ScreenUpdating = 
False
End Sub 





Hier die Musterdatei:
https://www.herber.de/bbs/user/17838.xls


Gruß UweD


Bild


Betrifft: AW: Druckproblem von: Lars
Geschrieben am: 11.02.2005 09:50:45

Hi Heike und Uwe,

okay Uwe, du war schneller und besser! :) Ich gebs ja zu! ;)
Nice Work.

Gruß Lars


Bild


Betrifft: AW: Druckproblem von: Heike
Geschrieben am: 11.02.2005 13:50:41

Danke an Uwe und Lars!
Ich werde die Lösung ausprobieren und sehen, ob ich es hin kriege. Wenn nicht, melde ich mich hier nochmal, bis ich es schaffe.
Nochmals vielen Dank für die schnelle Antwort


Heike


Bild


Betrifft: AW: Druckproblem von: Lars
Geschrieben am: 11.02.2005 09:49:16

Hallo Heike

Ich hab auch mal was für dich geschrieben! :)

Sub druckvorlage()
Dim i As Integer
Dim zeile As Integer
Dim AnzZeilen As Integer
Dim colTeilprojektNr As Range
AnzZeilen = Worksheets("Dein Worksheet").Cells(65536, 1).End(xlUp).Row
zeile = 1
Set colTeilprojektNr = Worksheets("Dein Worksheet").Range("A1:A" & AnzZeilen & "")
For i = 1 To colTeilprojektNr.Rows.Count
    If Worksheets("Dein Worksheet").Cells(1, i) = "" Then
        'nothing
    Else
        Sheets("Dein Worksheet").Select
        Rows(i & ":" & i).Select
        Selection.Copy
        Sheets("Druckvorlage").Select
        Rows(zeile & ":" & zeile).Select
        ActiveSheet.Paste
        zeile = zeile + 1
    End If
Next i
End Sub


Da mußt du nur ein neues Blatt erstellen mit dem Namen Druckvorlage und überall das "Dein Worksheet" durch den namen deines Arbeitsblattes (default ist Tabelle1) ersetzen. aber mit den ""
und schon sollte er es machen. Dann hast du alle zeilen auf einem Blatt und kannst es in aller ruhe vor dem drucken noch einrichten.

Gruß Lars


Bild


Betrifft: AW: Druckproblem von: Heike
Geschrieben am: 11.02.2005 15:50:26

Hallo,
Habe den VBA-Code von Uwe ausprobiert. Es klappt soweit, nur werden die Zeilen, die in der zu untersuchenden Zelle einen Werte ungleich Null haben im orginal Abstand wie auf der Tabelle ausgedruckt. D.h. Zischen den Zeilen auf dem Ausdruck ist zuviel Zwischenraum. Ich benötige aber alle Druck-Zeilen direkt untereinander auf dem Ausdruck (Platzgründe und Übersichtlichkeit, da die Tabelle recht groß werden kann)
Ich habe im Code etwas herum gespielt und Clear durch Delete ersetzt. Dies bringt aber nur einen Teilerfolg, denn es werden jetzt auch einzelne Zeilen ausgedruckt, die in der zu untersuchenden Zelle gleich Null sind!
Des weiteren ist noch ein weiteres Problem aufgetaucht:
Ich muß mehrere (bis zu 4) Zellen je Zeile auf einen Wert ungleich Null untersuchen und diese dann ausdrucken. Es kann dabei vorkommen, daß eine, oder auch mehrere Zellen je Zeile gleichzeitig ungleich Null sind ! Diese Zeilen sollen dann auch gedruckt werden

Vielen Dank
Heike

P.S. Kann mir jemand Literatur für VBA-Anfänger empfehlen?


 Bild

Beiträge aus den Excel-Beispielen zum Thema "Blattschutz Debug"