Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Druchbereich

Forumthread: Druchbereich

Druchbereich
Stefanglander
Hallo Forum,
habe von Hajo folgenden Code gefunden:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim I As Long
Dim Letzte As Long
Letzte = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
For I = Letzte To 1 Step -1
If Cells(I, 1)  "" Then
ActiveSheet.PageSetup.PrintArea = "A1:0" & I
Exit For
End If
Next I
End Sub
Wie muss der Code geändert werden, das nur der Bereich Spalte A D E und G bis zur letzten mit Werten gefüllte Bereich gedruckt wird.
Mein Versuch das selbst hinzubekommen führte dazu das ich nun einen Altpapierhandel aufmachen kann.
Gruß
Stefan
Anzeige

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Druchbereich
15.08.2009 15:52:54
Hajo_Zi
Hallo Stefan,
die Spalten die nicht gedruckt werden sollen musst Du ausblenden.

AW: Druchbereich
15.08.2009 16:05:03
fcs
Hallo Stefan,
etwa wie folgt.
Tipp: Das Anzeigen der Seitenvorschau löst auch das Before-Print-Ereignis aus.
So kann man bei Druckmakros ggf. Kontrollen machen, bevor der Altpapierberg erzeugt wird.
Gruß
Franz
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim I As Long
Dim Letzte As Long
Letzte = ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row
For I = Letzte To 1 Step -1
'Zeile mit letzen Eintrag in den Spalte A, D, E oder G bestimmen
If Cells(I, 1)  "" Or Cells(I, 4)  "" Or Cells(I, 5)  "" Or Cells(I, 7)  ""  _
Then
ActiveSheet.PageSetup.PrintArea = "A1:G" & I
Exit For
End If
'Spalte B, C und F ausblenden
Columns(2).Hidden = True
Columns(3).Hidden = True
Columns(6).Hidden = True
Next I
End Sub
'Makro zum Einblenden aller Spalten im aktiven Blatt
Sub AlleSpaltenEinblenden()
ActiveSheet.Cells.EntireColumn.Hidden = False
End Sub

Anzeige
AW: Druchbereich
15.08.2009 16:31:55
Tino
Hallo,
mit ontime kann man das Einblenden Automatisch erledigen. Einfach am Ende das einblendmakro über ontime starten.
Bin unterwegs kann kein Beispiel aufbauen.
Gruß Tin
off topic: Hi, ist H5 jetzt entsperrt? (owT)
15.08.2009 18:53:28
Erich
(ohne weiteren (wesentlichen) Text)
noch ein Vorschlag
15.08.2009 19:08:40
Erich
Hi Stefan,
hier noch ein Vorschlag fürs Drucken (ungetestet):

Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim lngL As Long
With ActiveSheet                          ' max. Zeile in Spalten A D E G
lngL = .Cells(.Rows.Count, 1).End(xlUp).Row
lngL = Application.Max(lngL, .Cells(.Rows.Count, 4).End(xlUp).Row)
lngL = Application.Max(lngL, .Cells(.Rows.Count, 5).End(xlUp).Row)
lngL = Application.Max(lngL, .Cells(.Rows.Count, 7).End(xlUp).Row)
.PageSetup.PrintArea = "A1:G" & lngL
' Spalten B C F ausblenden
Union(.Columns(2), .Columns(3), .Columns(6)).EntireColumn.Hidden = True
End With
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
Danke, klappt. (o.T.)
15.08.2009 20:26:49
Stefanglander
.
Beispiel mit OnTime
15.08.2009 20:23:00
Tino
Hallo,
hier ein Beispiel,
nach dem Drucken oder nach Rückkehr aus der Druckvorschau werden die Spalten wieder eingeblendet.
https://www.herber.de/bbs/user/63856.xls
Gruß Tino
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige