Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1272to1276
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

Druckbereich an letzter sichtbaren Zeile ausrichte

Druckbereich an letzter sichtbaren Zeile ausrichte
Oddie1954
Hallo Excelgemeinde, ich such mir gerade die Augen eckig. Für Euch bestimmt kein großes Problem: _
Ich habe ein kleines Kassenbuch, das die Bestände in den oberen Zeilen darstellt. Nach Unten _ ab Zeile 10 beginnt dann die Möglichkeit die Einnahme- oder die Ausgabespalte etc. zu füllen. Nach Unten hin sind die weiteren Zellen (Wenn leer) mit "" leer gehalten. Allerdings sind diese dann nicht mehr leer, sondern beinhalten ja die Formeln. Ich möchte jedoch den Ausdruck bis zur letzten Zeile in der ein Wert steht ausdrucken. Ich habs damit versucht:

Private Sub Workbook_BeforePrint(Cancel As Boolean)
ActiveSheet.PageSetup.PrintArea = "$A$1:$H" & ActiveSheet.UsedRange.SpecialCells( _
xlCellTypeLastCell).Row
End Sub

Da werden aber wieder alle Seiten ausgedruckt. Weiß jemand wie ich die letzte Zelle mit Wert (und nicht mit der Formel, die ja eigentlich bereits einen Wert ergibt) ermittle und in den Druckbereich eintrage?
Im Voraus schon mal lieben Dank

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Druckbereich an letzter sichtbaren Zeile ausrichte
22.07.2012 22:43:44
Josef

Hallo oddie,
das geht auch ohne VBA.
Ribbon "Formeln" > Namens Manager > Neu > Name: "Druckbereich" > Bezieht sich auf: "=Tabelle1!$A$1:INDEX(Tabelle1!$H:$H;ANZAHL(Tabelle1!$A:$A))" > Ok
Der Namen und die Formel natürlich ohne die "" eingeben!

« Gruß Sepp »

Anzeige
AW: Druckbereich an letzter sichtbaren Zeile ausrichte
23.07.2012 02:29:20
Oddie1954
Hallo Sepp,
danke für die schnelle Antwort. Ich habe es mit deiner Definition versucht. Leider wird mir hier nur die erste Zeile ausgedruckt. Zur Verdeutlichung, was ich meine habe ich das erste Kassenblatt einmal hochgeladen:
https://www.herber.de/bbs/user/81126.xlsx
DA in der Arbeitsmappe aber noch andere Tabellen mit ganz anderen Formaten vorhanden sind, dachte ich mir, per makro den jeweils angepassten Druckbereich zuweisen zu können. In dem hochgeladenen Blatt sind leere Zellen mittels Formel ausgeblendet, also sind diese nicht wirklich leer. Gedruckt werden soll in diesem Fall bis Zeile 12.
Anzeige
von Rudi ,...
23.07.2012 13:04:17
Rudi
Hallo Oldie1954, Hallo Excelfreunde,
hier ein anderer Weg, allerdings hab ich versucht das umzustellen und bastel hier seit geraumer Zeit daran herum,
leider ohne Erfolg! Irgendwie werden immer die "Formeln" mit gezählt obwohl Anzahl nur Werte zählen sollte.
Hallo,
1.Name: <b>letzteZeile</b>, Bezug: =VERWEIS(2;1/((Tabelle1!$A$1:$A$1000>0)*(Tabelle1!$A$1:$A$1000<>""));ZEILE(Tabelle1!$A:$A))
2.Name: Tabelle1!Druckbereich, Bezug: =Tabelle1!$A$1:INDEX(Tabelle1!$Y:$Y;letzteZeile)
Zu Tabelle1!Druckbereich nimmt er nicht,wegen dem "!"
auch Rudis Vorschlag und Lösungstipp will bei mir nicht funktionieren, also liebe Profies, bitte um Unterstützung.
PS.: Oldie , wenn du weitere Fragen hast dann mach einen HAKEN bei "Frage noch offen"
Gruß Matze
Anzeige
AW: von Rudi ,...
23.07.2012 15:41:43
Rudi
Hallo Rudi,
danke für den Tipp mit dem HAken bei Frage noch offen. Bin in dieser Hinsicht eher noch Newbie und in meinem Alter sollte man eigentlich schon lesen können. Sorry hierfür, werde versuchen in Zukunft daran denken.
Gerade kommt mir so eine Idee aus frühen Excel Zeiten:
Wie sieht es aus, wenn ich eine ausgeblendete Spalte mitlaufen lasse und die Zellen dieser Spalte per bedingter Formatierung einen Wert zugewiesen bekommen? Ist bestimmt nicht die schönste Möglichkeit, aber könnte doch mit meinem Makro funktionieren.
AW: von Rudi ,...
23.07.2012 17:17:55
Rudi
Hallo Oldie,
mit bedingter Formatierung kommst du hier auch nicht weiter, da keine Zeilen ausgeblendet werden können.
Die Formel-Lösung für den Druckbereich des Tabellenblatts ist möglich. Dazu muss du erst einmal den Druckbereich manuell beliebig festlegen, damit der Name im Namensmanager angezeigt wird. Danach kannst du die erforderliche Formel eingeben. Die Formellösung ist aber problematisch. Sobald du unter Seite-Einrichten Einstellungen machst kann die Formel wieder durch die Bereichsadresse ersetzt werden und der Druckbereich ist dann wieder fix.
Beste Lösung ist ein Makro, das automatisch ausgeführt wird vor dem Drucken/Bildvorschau (Ereignismakro Workbook_BeforePrint) oder das du in dein Druckenmakro integrierst.
Gruß
Franz
Sub Drucken() 'makro zum Drucken inkl. Druckbereichsanpassung
Dim Zeile As Long, wks As Worksheet
Set wks = ActiveSheet
With wks
Zeile = .Cells(.Rows.Count, 1).End(xlUp).Row 'Letzte Zeile mit Daten in Spalte A
'Letzte Zeile mit nummerischem Wert finden
Do Until IsNumeric(.Cells(Zeile, 1).Text) Or Zeile = 10
Zeile = Zeile - 1
Loop
.PageSetup.PrintArea = .Range(.Cells(1, 1), .Cells(Zeile, 8)).Address(ReferenceStyle:=xlA1)
.PrintOut Preview:=True
End With
End Sub

Anzeige
AW: von Rudi ,...
27.07.2012 17:57:15
Rudi
Hallo zusammen und erst einmal herzlichen Dank für die Hilfe. Da ich die letzten Tage im Krankenhaus war, konnte ich leider nicht so schnell antworten, aber das Makro von Franz funktioniert bestens. Damit ist mir sehr viel weiter geholfen.
Viele Grüße Aus Osnabrück
Roland (der Oddie)

27 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige