Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1096to1100
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

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

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

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige