Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
916to920
916to920
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Nur Zeilen mit einem X in Spalte A drucken
17.10.2007 21:59:00
Louis
Hallo Forum,
so, ich weiß jetzt nicht mehr weiter, gesucht wie blöd (vieleicht bin ich auch zu blöd zum suchen) aber keine Antwort gefunden.
Folgendes:
Tabelle mit etwa 6000 zum Teil gefüllten Zeilen.
Ich möchte aber nur die ausdrucken die ich zuvor in Spalte A mit einem x markiert habe.
Folgender Code soll mir dabei helfen.

Private Sub Workbook_BeforePrint(Cancel As Boolean)
For i = 5 To Cells(65000, 2).End(xlUp).Row
If IsEmpty(Cells(i, 2)) Then
Rows(i).Hidden = True
End If
Next
End Sub


Mein Problem:
Wenn ich das letzte x in Zeile 2500 habe druckt er mir alle Zeilen danach mit aus, weil die ja nicht ausgeblendet werden.
Und wie blende ich nach dem drucken die Zeilen wieder ein ?
Also, nur die Zeilen sollen gedruckt werden in deren Spalte A ein x steht.
Ich hoffe ich konnte es erklären?
Ich bedanke mich schon einmal im vorraus für die Hilfe.
mfg
Louis

17
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Nur Zeilen mit einem X in Spalte A drucken
17.10.2007 22:10:46
A.M.
Hallo Louis,
muss es denn ein VBA Code sein? Ich würde das mit einem Autofilter lösen, wenns nur fürs ausdrucken ist.
Gruß
Arne

AW: Nur Zeilen mit einem X in Spalte A drucken
17.10.2007 22:12:07
Uduuh
Hallo,
warumm setzt du nicht einfach einen Filter?
Gruß aus’m Pott
Udo

AW: Nur Zeilen mit einem X in Spalte A drucken
17.10.2007 22:17:00
Josef
Hallo Louis,
probier mal.
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit
Dim bPrint As Boolean

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim rng As Range

bPrint = Not bPrint
Cancel = bPrint
On Error Resume Next

Set rng = Columns(1).SpecialCells(xlCellTypeConstants, 23)

Rows.Hidden = True
rng.Rows.Hidden = False

With ActiveSheet
    .PageSetup.PrintArea = .UsedRange.Address
    .PrintOut
    .PageSetup.PrintArea = ""
End With

Rows.Hidden = False
ActiveWindow.ScrollRow = 1

Set rng = Nothing
End Sub

Gruß Sepp

Anzeige
AW: Nur Zeilen mit einem X in Spalte A drucken
17.10.2007 22:23:00
Nepumuk
Hallo Louis,
würde ich so in der Art machen:
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_BeforePrint(Cancel As Boolean)
    Dim objRange As Range
    Cells(Rows.Count, 1).Value = "x"
    Set objRange = Columns(1).ColumnDifferences(Cells(Rows.Count, 1))
    Set objRange = Union(objRange, Rows(Rows.Count))
    objRange.EntireRow.Hidden = True
    Cells(Rows.Count, 1).Value = ""
    Application.OnTime Time + TimeSerial(0, 0, 1), "Unhide_Rows"
End Sub

' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit


Public Sub Unhide_Rows()
    Rows.Hidden = False
End Sub

Gruß
Nepumuk

Anzeige
AW: Nur Zeilen mit einem X in Spalte A drucken
17.10.2007 22:57:00
Louis
Hallo Josef,
Hallo Nepumuk,
Danke für eure Hilfe!
habe eure Vorschläge mal ausprobiert und versucht zu verstehen (wobei es bei dem Versuch geblieben ist).
Es werden über 1000 Seiten gedruckt (das heißt sie laufen unbedruckt durch) obwohl ich nur zwei Zeilen markiert habe.
Je mehr ich in dem Forum rumstöbere, desto mehr merke ich das ich ganz schön rumstümpere.
Danke für Eure Geduld.
mfg
Louis

AW: Nur Zeilen mit einem X in Spalte A drucken
17.10.2007 23:07:00
Josef
Hallo Louis,
zeig mal den Code mit dem du die "X" reinmachst.
Gruß Sepp

Anzeige
AW: Nur Zeilen mit einem X in Spalte A drucken
17.10.2007 23:17:25
Louis
Hallo Josef,
aber nicht lachen!

Private Sub Worksheet_BeforeDoubleClick(ByVal Target As Range, Cancel As Boolean)
If Not Intersect(Target, [C5:C150]) Is Nothing Then
Datum.Show
End If
If Not Intersect(Target, Range("A5:A6500,E5:E6500,G5:G6500")) Is Nothing Then
If Target.Value  "X" Then
Target.Value = "X"
Else
Target.Value = ""
End If
Cancel = True
End If
End Sub


mfg
Louis

AW: Nur Zeilen mit einem X in Spalte A drucken
18.10.2007 07:16:33
Louis
Hallo Josef,
ich habe noch lange probiert aber ich bekomme es nicht hin.
Selbst wenn ich die Tabelle nur 10 Zeilen groß mache und 2 davon makiere, es werden alle 10 gedruckt.
Das habe ich mir einfacher vorgestellt.
vielen Dank für eure Geduld.
mfg
Louis

Anzeige
AW: Nur Zeilen mit einem X in Spalte A drucken
18.10.2007 18:20:55
Josef
Hallo Louis,
kopiere mal die entsprechende Tabelle und lade sie hoch.
Gruß Sepp

AW: Nur Zeilen mit einem X in Spalte A drucken
18.10.2007 22:37:00
Louis
Hallo Josef,
als erstes möchte ich mal los werden das ein toles Klima hier im Forum herscht.
Nun zum eigentlichen.
Ich habe heute den ganzen Tag gebastelt und bin auch zu einem Ergebnis gekommen.
Folgender Code funktioniert so "das es mir ausreicht". Obwohl:
Also ich habe das ganze einem Button zu gewiesen. Der Code läuft aber nur bei jedem Zweiten Klick richtig durch. Hast Du vieleicht eine Ahnung woran das liegen kann?
Habe die Abfrage übrigens in die dritte Spalte verschoben. Aber ich denke das siehst Du auch ohne das ich darauf hin weise.

Private Sub CommandButton1_Click()
With Range("C4:C3000")
.AutoFilter
.AutoFilter Field:=1, Criteria1:="X"
End With
Columns("C:C").EntireColumn.Hidden = True
ActiveSheet.PrintPreview
Columns("C:C").EntireColumn.Hidden = False
With Range("C4:C3000")
.AutoFilter Field:=1
.AutoFilter
End With
'Range("C3").Select
End Sub


Ich habe versucht deinen Vorschlag zu verstehen und auch zu verändern um ihn dann zu verstehen. Ist aber leider eine Nummer zu groß für mich, ich bin froh wenn ich select vermeide.
Hier ist übrigens die Tabelle
https://www.herber.de/bbs/user/46892.xls
mfg
Louis

Anzeige
AW: Nur Zeilen mit einem X in Spalte A drucken
18.10.2007 23:38:00
Josef
Hallo Louis,
diesen Code in "DieseArbeitsmappe".
Option Explicit
Dim bPrint As Boolean

Private Sub Workbook_BeforePrint(Cancel As Boolean)
Cancel = Not bPrint
If ActiveSheet.Name = "Tabelle1" Then
    Application.ScreenUpdating = False
    If Not bPrint Then
        bPrint = True
        With Sheets("Tabelle1").Range("C4:P3000")
            .AutoFilter
            .AutoFilter Field:=1, Criteria1:="6"
            .Columns(1).EntireColumn.Hidden = True
            
            ActiveSheet.PrintOut
            
            .Columns(1).EntireColumn.Hidden = False
            .AutoFilter Field:=1
            .AutoFilter
        End With
        bPrint = False
        Application.ScreenUpdating = True
    End If
End If
End Sub

Dieser Code für den CommandButton1 in "Tabelle1".
Private Sub CommandButton1_Click()
Application.CommandBars.FindControl(ID:=4).Execute
End Sub

Ausserdem musst du unter den Eigenschaften des Commandbuttons "TakeFocusOnClick" auf FALSE stellen, dann klappt es.
Gruß Sepp

Anzeige
AW: Nur Zeilen mit einem X in Spalte A drucken
19.10.2007 09:11:00
Louis
Hallo Josef,
vielen Dank für Deine Hilfe und Geduld.
Läuft jetzt einwandfrei.
Nochmal Danke und schönes Wochenende.
mfg
Louis

AW: Nur Zeilen mit einem X in Spalte A drucken
17.10.2007 22:21:00
Louis
Boa, das ging ja schnell !
Danke erstmal für die Antworten ihr zwei!
Ich möchte es wenn's geht schon über VBA lösen.
Und zwar "einfach" über beforeprint, aber ich kriegs nicht hin.
Ich makiere die zeilen mit einem x ja auch über das doppelklick Ereignis.
mfg
Louis

AW: Nur Zeilen mit einem X in Spalte A drucken
17.10.2007 22:25:00
Louis
Hallo ihr zwei und Danke für eure schnelle Antwort!
Ich möchte das ganze schon über VBA lösen, am besten über das beforprint ereignis.
Aber ich bekomme es einfach nicht hin.
Die Zeilen markiere ich mit dem X übrigens auch über das doppelklick ereignis.
Wenn noch jemand eine Antwort weiß würde ich mich freuen.
mfg
Louis

Anzeige
AW: Nur Zeilen mit einem X in Spalte A drucken
18.10.2007 01:51:00
Daniel
Hi
setz mal den Autofilter und lass dabei den Makrorecorder mitlaufen.
dann weißt du, wie die Befehle lauten, um den Autofilter per Makro zu setzen.
das baust du dann in dein "BeforePrint"-Makro ein.
Gruß, Daniel

AW: Nur Zeilen mit einem X in Spalte A drucken
18.10.2007 07:12:00
Louis
Hallo Daniel,
das funktioniert leider nicht.
In der Tabelle sind Rahmen gesetzt.
Der Autofilter lässt alle leeren zeilen aussen vor, die werden aber trotzdem in den Druckbereich wegen der gesetzten Rahmen mit einbezogen.
mfg
Louis

AW: Nur Zeilen mit einem X in Spalte A drucken
17.10.2007 22:40:06
Louis
Geht das schnell hier!
Danke Josef,
Danke Nepumuk,
hmm, im Moment druckt er mir über 1000 Seiten durch wenn ich euren code benutze.
Ich habe irgendwo noch einen Fehler drin.
Gebt mir bitte etwas Zeit um den Code zu verstehen.
mfg
Louis
sorry, für den Doppelpost
Anzeige

88 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige