Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
808to812
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
808to812
808to812
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Dynamisches Drucken via Button mit VBA - H E L P

Dynamisches Drucken via Button mit VBA - H E L P
10.10.2006 14:38:40
Sonja
Hallo zusammen,
ich habe eine lange Excelliste die dynamisch lang ist. Heute 100 Zeilen morgen 200 Zeilen. Jetzt möchte ich folgendes machen:
1. via VBA den Druckbereich automatisch definieren (1 Seite Breite und x Seiten Länge) bis zur letzten gefüllten Zeile und nicht mehr!
2. via VBA auf dem Standarddrucker ausdrucken.
3. Der Header der Tabelle muß auf jedem Druckblatt erneut erscheinen.
Bitte um schnelle Hilfe. Danke. Vielleicht hat jemend ein Beispiel für mein Problem.
Danke und lieben Gruß
Sonja

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Dynamisches Drucken via Button mit VBA - H E L P
10.10.2006 15:01:57
Andi
Hi,
das versteh ich jetz nicht so ganz;
wenn Du eh die ganze Tabelle drucken willst, dann musst Du doch keinen Druckbereich festlegen, egal wie lang sie ist...
Die Tabellenüberschrift als Überschrift auf jeder Druckseite kannst Du unter
Datei - Seite einrichten - Tabelle - Wiederholungszeilen oben
einstellen.
Schönen Gruß,
Andi
AW: Dynamisches Drucken via Button mit VBA - H E L P
10.10.2006 15:09:00
Sonja
Hallo,
ich möchte das unter VBA machen, da ich via Buttonklick (CommandButton) den Druck automatisch anstossen möchte. Die Tabelle hat 65000 Zeilen aber bis dato sind nur 100 Morgen 200 Übermorgen 500 Zeilen (dynamisch) befüllt. Die Folge, es werden auch Leezeilen gedruckt, was ich nicht möchte.
Gruß
Sonja
Anzeige
AW: Dynamisches Drucken via Button mit VBA - H E L P
10.10.2006 15:18:18
Andi
Hi,
klar, jede Tabelle hat 65000 Zeilem, aber normalerweise werden nur die gedruckt, in denen was drinsteht.
Sind denn die leeren Zellen irgendwie formatiert, oder stehen da Formeln drin?
Probier mal dies als Code im CmdButton:
With Sheets("Tabelle1")
.PageSetup.PrintArea = .UsedRange.Address
.PrintOut
End With
Schönen Gruß,
Andi
AW: Dynamisches Drucken via Button mit VBA - H E L P
10.10.2006 15:34:36
Sonja
Geht nicht, er druckt sich einen Wolf!!!
1. Erst muss formatiert werden auf eine SeiteBreite und max. Länge mit letzter Zeile input.
2. Wie mache ich das mit dem Header auf jeder Seite via VBA?
3. Druck als letztes auf dem Standarddrucker (mit Druck-Preview).
ZIEL: Ich möchte nur ein Button drücken, dann soll er drucken.
Danke und Grüße
Sonja
Anzeige
AW: Dynamisches Drucken via Button mit VBA - H E L P
10.10.2006 15:43:47
Andi
Hi,
zu den Punkten 2 und 3, verändere den Code folgendermaßen:
With Sheets("Tabelle1")
.PageSetup.PrintTitleRows = "$1:$2"
.PrintOut Preview:=True
End With
Zum Punkt 1 nochmal meine Frage, was sich denn außerhalb des zu druckenden Breiches befindet? Formeln? Formatierte Zellen? Nix?
Schönen Gruß,
Andi
AW: Dynamisches Drucken via Button mit VBA - H E L P
10.10.2006 15:48:37
Sonja
Formeln, kalkulationen, Symbole etc.
Gruß
Sonja
AW: Dynamisches Drucken via Button mit VBA - H E L P
10.10.2006 15:57:34
Andi
Hi,
gut; dass der Druckbereich nur eine Druckseite breit ist, das könnten wir ja hart codieren, sofern die Spaltenbreiten nicht verändert werden.
Was mir noch unklar ist, ist das Kriterium, anhand dessen entschieden werden soll, wie weit der Druckbereich nach unten geht. Unterscheidet sich der Inhalt der zu druckenden Zellen irgendwie prinzipiell von denen darunter? ZB oben (Druckbereich) alles Zahlen, unten (nicht drucken) nur nicht-numerische Werte oder so?
Schönen Gruß,
Andi
Anzeige
AW: Dynamisches Drucken via Button mit VBA - H E L P
10.10.2006 16:22:18
Sonja
Hallo,
es ist so. Die Liste ist eine Aktivitätenliste welche erweitert wird und sich auch wieder reduziert. Somit sind mal 100 Zeilen zui drucken dann wieder nur 50. Es sind ca. 10 Spalten zu drucken. Insofern möchte ich die 10 Spalten voll auf eine Seite und die Zeilen bis zum letzten Eintrag (mal 100 mal Zeile 50) ausdrucken.
Gruß
Sonja
AW: Dynamisches Drucken via Button mit VBA - H E L P
10.10.2006 16:31:15
Andi
Hi,
soweit hab ich das kapiert;
aber woher soll das Makro wissen, bis zu welcher Zeile gedruckt werden soll? Dafür gäbe es ein paar Mögliehkeiten, ich weiß aber immer noch nicht, welche hier passt:
- entweder unterhalb des Druckbereichs ist alles komplett leer (dh keine Werte, Formeln, Formate, ...) dies scheint hier nicht der Fall zu sein
- oder die Zellen unterhalb unterscheiden sich alle eindeutig von allem oberen, zB numerisch - nicht numerisch, oder unten nur Formate, aber keine Werte, ...
- Man könnte auch die Zeile zB manuell über eine InputBox eingeben.
Schönen Gruß,
Andi
Anzeige
AW: Dynamisches Drucken via Button mit VBA - H E L P
10.10.2006 16:55:03
Sonja
Geht das nicht das er den Druckbereich bis zur 1. leeren Zeile setzt ?
Was wäre jetzt zu tun via VBA ?
Gruß
Sonja
AW: Dynamisches Drucken via Button mit VBA - H E L
11.10.2006 05:29:29
Friedemann
ich habe schon so oft von herber.de profitiert, daß es Zeit ist etwas zurückzugeben.
Hallo Sonja,
ich hoffe dies wird Deinem problem etwas gerecht.

Private Sub CommandButton1_Click()
Dim i!, e!, l!, s%
'e = Erste Zeile der Tabelle
'l = Letzte zeile der Tabelle
's = Spalte, in der die Zellen auf "" (leer)überprüft werden sollen
e = 1
l = 65000
s = 1
'Leere Zeilen ausblenden
For i = e To l
If Cells(i, s) = "" Then Rows(i).EntireRow.Hidden = True
Next
'Drucken
ActiveSheet.PageSetup.PrintArea = "A1:J65000"
ActiveWindow.SelectedSheets.PrintOut Copies:=1
'Zeilen einblenden
For i = e To l
If Rows(i).Hidden = True Then Rows(i).EntireRow.Hidden = False
Next
End Sub

Im obenliegenden Fall wird überprüft ob die Zellen in der Spalte A leer sind. Ist dies der Fall wird die Zeile ausgeblendet und nicht gedruckt. Nach dem Druck wird sie wieder eingeblendet. Bei 65000 Zeilen kann der Druck aber eine ganze Weile dauern, paßt dafür immer perfekt. Ebentuell solltest Du den Druckbereich doch etwas eingrenzen. Hast Du wirklich 65000 Zeilen zu erwarten? 500 sind schon sehr viel.
Um Deine Kopfzeilen immer auf dem Blatt zu haben mußt Du nur bei der Seiteneinrichtung, ->Tabelle und dort unter "Wiederholungszeilen oben" den zu wiederholenden Bereich in der Form: A1:J3 eingeben. Danach werden die ersten drei Zeilen in zehn Spalten auf jeden zu druckenden Blatt erscheinen. Das ist kein VB.
Falls Du damit noch nicht klar kommst, maile mir direkt
fkrug@sbcglobal.net
Gruß aus California
Friedemann
Anzeige
AW: Dynamisches Drucken via Button mit VBA - H E L
11.10.2006 09:40:38
Sonja
Danke
Liebe Grüße
Sonja

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige