Nur beschriebene Zellen drucken

Hallo zusammen, ich habe ein Problem. Kenne mich nicht so gut in Excel aus und versuche mich da irgendwie durchzuschlagen :smile:

Also mein Problem. Ich habe ein Kassenprogramm für eine Buchführung erstellt. Alles wunderbar…Ich möchte alle beschriebenen Daten später ausdrucken. Und dabei brauche ich eure Hilfe.

Die Zellen A7 bis O388 sind die wichtigen Daten die ich ausgedruckt haben muss. Meine Tabelle hat insg. 388 Zeilen und 15 Spalten. So nun ist das Problem, wenn ich nur in 20 Zeilen etwas eintrage, dann druckt er mit trotzdem alle Zeilen aus, also 388. Das wären dann 18 verschwendete Seiten. Ich möchte gerne irgendein Makro einfügen, welches erkennt, wo der letzte Eintrag war. Und dann bis dahin soll alles gedruckt werden. Die Einträge nehme ich in folgenden Spalten vor: C7 bis O388

Beispiel: Ich habe die Zellen C7 bis O7, C8 bis O8 und E8 bis O8 beschrieben, dann sollen nur bis zu den drei Zeilen gedruckt werden. Die anderen 385 Zeilen sind leer und müssen natürlich auch nicht ausgedruckt werden.
Ich hoffe ihr habt mich verstanden :frowning: Könnt ihr mir helfen?

Nabend!
Soweit mir bekannt, musst du das selbst vor dem drucken festlegen.
Über „Seite einrichten“ , letzter Reiter „Tabelle“ den „Druckbereich“ auswählen z.B. C7 bis O8 (in deinem Beispiel ist E8 bis O8 damit ja ebenfalls erschlagen). Unter Wiederholungszeilen oben und links kann man die Tabellenüberschriften ebenfalls mit ausdrucken/auswählen.
Wie gesagt Handarbeit vor dem Druckbefehl.
Gruß!
T.

hi danke für die Antwort… versuche es gleich einmal aus… ich hatte gedacht, dass ich das irgendwie hinbekommen würde :frowning:

Grüezi kolri

Die Zellen A7 bis O388 sind die wichtigen Daten die ich
ausgedruckt haben muss. Meine Tabelle hat insg. 388 Zeilen und
15 Spalten. So nun ist das Problem, wenn ich nur in 20 Zeilen
etwas eintrage, dann druckt er mit trotzdem alle Zeilen aus,
also 388. Das wären dann 18 verschwendete Seiten. Ich möchte
gerne irgendein Makro einfügen, welches erkennt, wo der letzte
Eintrag war. Und dann bis dahin soll alles gedruckt werden.
Die Einträge nehme ich in folgenden Spalten vor: C7 bis O388

Sind denn nach deinen Eintragungen die anderen Zellen/Zeilen wirklich komplett leer und unbeschrieben?
Dann druckt Excel nämlich wirklich nur die beschriebenen Bereiche aus.

Oder hast Du ev. Formel in den Zellen stehen?
Dann sind das eben keine leeren Zellen und Excel druckt sie aus.

Gibt es in diesem Falle eine Spalte an der man sich orientieren könnte, die also immer ausgefüllt ist und bis zu deren Ende ausgedruckt werden soll?

Wenn ja, dann könnte man mit einer benannten Formel (oder mit VBA) den Druckbereich automatisch festlegen lassen.


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hi Thomas,

ich glaube da ist auch der Haken an der ganzen Sache. Ich habe eine eine Tabelle gefertigt und habe natürlich die „Menüspalten“ farblich gekennzeichnet. Diese „Menüspalten“ z.B. Spalte A1 bis A 388 sind alle blau hinterlegt und fortlaufend nummeriert. So nun befüllte ich nur die ersten 20 Zeilen, aber der druckt mir dann , verständlicher Weise, auch alle Zeilen bis zu A 388 aus. Wie kann ich das umgehen? Also beim ausdrucken sollen dann z.B. nur die ersten 20 Zeilen ausgedruckt werden. Was habe ich falsch gemacht :frowning: Ich würde gerne mal ein Screenshot senden, aber geht glaube ich über diese Seite nicht ne…

Hallo Kolri,

Thomas hat dir eine wichtige Frage gestellt, beantworte die bitte, welche Spalte?

Screenshots oder Beispielmappen kannste hochladen mit FAQ:2606

Gruß
Reinhard

Grüezi Kolri

ich glaube da ist auch der Haken an der ganzen Sache. Ich habe
eine eine Tabelle gefertigt und habe natürlich die
„Menüspalten“ farblich gekennzeichnet. Diese „Menüspalten“
z.B. Spalte A1 bis A 388 sind alle blau hinterlegt und
fortlaufend nummeriert. So nun befüllte ich nur die ersten 20
Zeilen, aber der druckt mir dann , verständlicher Weise, auch
alle Zeilen bis zu A 388 aus. Wie kann ich das umgehen? Also
beim ausdrucken sollen dann z.B. nur die ersten 20 Zeilen
ausgedruckt werden. Was habe ich falsch gemacht

Du hast nichts falsch gemacht, aber Excel kann ja nicht wissen, dass Du nicht alles ausdrucken willst, was Du geschrieben hast… :wink:

Füge einen Bereichsnamen mit den folgenden Angaben ein:

Name im Tabellenblatt: Druckbereich
Bezieht sich auf: =BEREICH.VERSCHIEBEN($A$1;;;ANZAHL2($B:blush:B);13)

Hier wird angenommen, dass Spalte B die ‚Führungsgrösse‘ ist und die Anzahl der dort erfassten Werte das Ende des auszudruckenden Bereiches ergibt. Die ‚13‘ am Ende der Formel steht für die Anzahl der Spalten die ausgedruckt werden sollen.


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Grüezi Thomas,

Füge einen Bereichsnamen mit den folgenden Angaben ein:

Name im Tabellenblatt: Druckbereich
Bezieht sich auf:
=BEREICH.VERSCHIEBEN($A$1;;;ANZAHL2($B:blush:B);13)

*grins* benutze doch bitte b anstatt strong, schreibt sich schneller :smile:

Hier wird angenommen, dass Spalte B die ‚Führungsgrösse‘ ist
und die Anzahl der dort erfassten Werte das Ende des
auszudruckenden Bereiches ergibt. Die ‚13‘ am Ende der Formel
steht für die Anzahl der Spalten die ausgedruckt werden
sollen.

Leider nein.

Zum einen, Leerzellen in B stören sehr das Ganze.

Und wenn in B17 die Formel steht = G18, dann wird zeile 17 mitgedruckt, egal was in G18 steht.

Wenn du wieder mal mit Bill Gates Golf spielst, bitte ichn doch mal das Anzahl2 rauszuwerfen, , es gibt nur noch Anzahl(Bereich, X)
Und X hat 0, 1,2,4,8 usw. wie bekannt, um festzulegen was man denn zählen möchte.

Anzahl() und Anzahl2() befriedigt leider nicht alle meine Zählwünsche :frowning:

Gruß
Reinhard


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Grüezi Reinhard

Füge einen Bereichsnamen mit den folgenden Angaben ein:

Name im Tabellenblatt: Druckbereich
Bezieht sich auf:
=BEREICH.VERSCHIEBEN($A$1;;;ANZAHL2($B:blush:B);13)

*grins* benutze doch bitte b anstatt strong, schreibt sich
schneller :smile:

…und wenn ich nunmal gerne schreibe…? :wink:

Worin besteht denn der weitere Vorteil von b (ausser der Kürze?).

Hier wird angenommen, dass Spalte B die ‚Führungsgrösse‘ ist
und die Anzahl der dort erfassten Werte das Ende des
auszudruckenden Bereiches ergibt. Die ‚13‘ am Ende der Formel
steht für die Anzahl der Spalten die ausgedruckt werden
sollen.

Leider nein.

Aber klar doch.

Zum einen, Leerzellen in B stören sehr das Ganze.

Es war die Prämisse, dass die Spalte lückenlos beschrieben wird.

Und wenn in B17 die Formel steht = G18, dann wird zeile 17
mitgedruckt, egal was in G18 steht.

Ja, klar - die ist dann ja auch nicht leer.

Lass uns nicht Spezialfälle konstruieren in denen ein erster Vorschlag nicht greift - ich zähle immer noch auf die Miarbeit des OP, auf dass er sich bitte konkret äussern möge…

Wenn du wieder mal mit Bill Gates Golf spielst, bitte ichn
doch mal das Anzahl2 rauszuwerfen, , es gibt nur noch
Anzahl(Bereich, X)
Und X hat 0, 1,2,4,8 usw. wie bekannt, um festzulegen was man
denn zählen möchte.

Au nein, lieber nicht - das wirft alle bisher erstellen Berechnungsmodelle dann über den Haufen und die Kompatibilität ist auch nicht mehr gegeben.

Anzahl() und Anzahl2() befriedigt leider nicht alle meine
Zählwünsche :frowning:

Kein Problem, dann gibts ja noch Matrix- und Verweis-Formeln mit denen sich die allernettesten Dinge anstellen lassen :smile:


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Grüezi Reinhard nochmals

Und wenn in B17 die Formel steht = G18, dann wird zeile 17
mitgedruckt, egal was in G18 steht.

Ja, klar - die ist dann ja auch nicht leer.

Lass uns nicht Spezialfälle konstruieren in denen ein erster
Vorschlag nicht greift - ich zähle immer noch auf die Miarbeit
des OP, auf dass er sich bitte konkret äussern möge…

Wenn du wieder mal mit Bill Gates Golf spielst, bitte ichn
doch mal das Anzahl2 rauszuwerfen, , es gibt nur noch
Anzahl(Bereich, X)
Und X hat 0, 1,2,4,8 usw. wie bekannt, um festzulegen was man
denn zählen möchte.

Au nein, lieber nicht - das wirft alle bisher erstellen
Berechnungsmodelle dann über den Haufen und die Kompatibilität
ist auch nicht mehr gegeben.

Anzahl() und Anzahl2() befriedigt leider nicht alle meine
Zählwünsche :frowning:

Kein Problem, dann gibts ja noch Matrix- und Verweis-Formeln
mit denen sich die allernettesten Dinge anstellen lassen :smile:

Ich habe einen meiner Beiträge von anderswo mal hervorgekramt, der auch solche Dinge wie leere Zellen dazwichen und am Ende korrekt berücksichtigt:

http://www.office-loesung.de/ftopic116184_0_0_asc.ph…


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Grüezi Thomas,

*grins* benutze doch bitte b anstatt strong, schreibt sich
schneller :smile:

…und wenn ich nunmal gerne schreibe…? :wink:
Worin besteht denn der weitere Vorteil von b (ausser der
Kürze?).

ups, k.A., kann kein Html. Zumindest ist mir hier keiner ersichtlich außer der Kürze.
Und wenn ich in verschiedenen Foren unterwegs bin wo mal dies mal das „erlaubt“ ist, jetzt im Beispiel „strong“ geht überall, „b“ nicht überall, dann gewöhne ich mir natürlich „strong“ an.

Hier wird angenommen, dass Spalte B die ‚Führungsgrösse‘ ist
und die Anzahl der dort erfassten Werte das Ende des
auszudruckenden Bereiches ergibt.

Leider nein.

Aber klar doch.

Tztz, Widerspruch mag ich nun gar nicht *grins*

Zum einen, Leerzellen in B stören sehr das Ganze.

Es war die Prämisse, dass die Spalte lückenlos beschrieben
wird.

Okay, überlesen, bzw. schon von dir gelesen aber nicht vom UP.

Und wenn in B17 die Formel steht = G18, dann wird zeile 17
mitgedruckt, egal was in G18 steht.

Ja, klar - die ist dann ja auch nicht leer.

Zustimm. Aber war der Sinn der Anfrage nicht daß nur bis Zeile 16 gedruckt wird?

Lass uns nicht Spezialfälle konstruieren

Eine Formel in B17 die halt „“ oder 0 liefert ist kein Spezialfall wenn man nur bis Zeile 16 ausdrucken will.

ich zähle immer noch auf die Miarbeit
des OP, auf dass er sich bitte konkret äussern möge…

Wieder sehr zustimm, das wäre schön, mit exakten Details *träum*

-)

es gibt nur noch Anzahl(Bereich, X)

Und X hat 0, 1,2,4,8 usw. wie bekannt, um festzulegen was man
denn zählen möchte.

Au nein, lieber nicht - das wirft alle bisher erstellen
Berechnungsmodelle dann über den Haufen und die Kompatibilität
ist auch nicht mehr gegeben.

Naja, wohl nicht zukunftsoffen programmiert, sonst wäre das ein Klacks das umzustellen *lächel*

Anzahl() und Anzahl2() befriedigt leider nicht alle meine
Zählwünsche :frowning:

Kein Problem, dann gibts ja noch Matrix- und Verweis-Formeln
mit denen sich die allernettesten Dinge anstellen lassen :smile:

Ja, Excel bietet oft schon Möglichkeiten Unzulänglichkeiten zu „beseitigen“. Ich finde es aber ein schwaches Bild für ein Programm was es schon Jahrzehnte gibt.

Aber alles egal, wichtiger ist daß sich der UP mal rührt :smile:

Lieben Gruß
Reinhard


Mit freundlichen Grüssen

Thomas Ramel

  • MVP für MS-Excel -

Hallo Thomas, sorry das ich mich letzte Woche nicht mehr melden konnte… bin erst seit heute wieder zu hause und wieder an meiner tabelle dran… ich habe mir folgendes überlegt. Ich möchte einfach ein einfachen druckenmakro haben, indem abgefragt wird, welche seiten gedruckt werden sollen und ich einen Druckbereich auswählen kann. Folgendes habe ich im Internet gefunden:

Sub Drucken_1_1()
Dim Kopien As Variant
If MsgBox(„Drucken?“, vbYesNo, „Drucken“) = vbYes Then
Do
Kopien = InputBox(„Anzahl Kopien“, „Drucken“, 1)
If StrPtr(Kopien) = 0 Then Exit Sub
If IsNumeric(Kopien) Then Exit Do
MsgBox „Bitte eine Zahl eingeben!“, vbExclamation, „Hinweis“
Loop
ActiveSheet.PrintOut From:=1, To:=1, Copies:=CLng(Kopien)
End If
End Sub

Genau so was brauche ich aber bei der Abfrage, welche Seite soll gedruckt werden, möchte ich eingeben können z.B: 1-32

In dem obigen makro kann ich nur eine einzige Zahl eingeben, also irgendeine Zahl unter 10. Ich weiss nur nicht wie das Makro dementsprechend geändert werden muss. Und in diesem Makro kann ich auch keinen Druckbereich wählen. Könntest du mir weiterhelfen?