Supportnet / Forum / Tabellenkalkulation
Druckmenü in Excel via Kontrollkästchen und Makros erstellen
Frage
Hallo Zusammen,
ich habe da eine kleine, aber wie ich doch finde interessante Problemstellung. Ich habe folgendes Dokument aufgebaut und folgendes Problem damit:
Es existiert aus diversen Arbeitsblättern und es soll dem Benutzer möglich sein, sich die einzelnen Arbeitsblätter beliebig zusammengestellt auszudrucken.
Zur besseren Erklärung, es soll in etwas so laufen, wie wenn man die einzelnen Blätter mit gedrückter ´Strg´-Taste anklickt (also markiert), und man dann auf drucken geht. Da es aber sehr viele Blätter sind und es immer etwas umstädlich ist, das einem ungeübten Benutzer zu erklären, hätte ich gerne eine kleine Übersicht, in der man mit Kontrollkästchen o.ä. auswählt welche man haben will und man dann nur auf eine Schaltfläche drückt, die einen zum Druckmenü bringt (nicht direkt drucken, der User soll die Auswahl haben zwischen diversen Druckern sowie Ausgabe als pdf, aber das nur am Rande, das Makro dafür kenne ich aber, also dahingehend bitte keine Mühen verschwenden).
Ich weiß nicht ob es erwähnt werden sollte, aber es wäre wichtig, dass das Makro intern so aufgebaut ist, wie wenn ich die einzelnen Blätter markiert hätte, da sonst die fortlaufende Seitenzahl auf den Blättern nicht mehr stimmt, aber auch das nur so am Rande.
So nachdem ich hier schon viele hilfreiche Beiträge gelesen habe, hoffe ich einfach mal, dass Ihr so nett seid und mir auch eine hilfreiche Antwort geben könnt.
Besten Dank schonmal für eure Mühen.
Beste Grüße
Christoph
PS: Als Dankeschön, gibt es meine uneingeschränkte Dankbarkeit und Anerkennung... :-)
Antwort 1 von coros
Moin CHristoph,
ich habe Dir mal eine Beispieldatei erstellt, die Du Dir hier herunterladen kannst. In dr beispieldatei befinden sich 5 Tabellenblätter, 4 Kontrollkästchen und ein Button. Es werden nach dem Betätigen des Buttons die Blätter gedruckt, die durch die Kontrollkästchen aktiviert wurden.
Ich hoffe, Du meintest das so. Bei Fragen melde Dich bitte.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
ich habe Dir mal eine Beispieldatei erstellt, die Du Dir hier herunterladen kannst. In dr beispieldatei befinden sich 5 Tabellenblätter, 4 Kontrollkästchen und ein Button. Es werden nach dem Betätigen des Buttons die Blätter gedruckt, die durch die Kontrollkästchen aktiviert wurden.
Ich hoffe, Du meintest das so. Bei Fragen melde Dich bitte.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 2 von nobble
Hi Oliver,
vielen Dank für Deine Mühen. Das geht schon sehr in die Richtung, leider ist es noch nicht ganz das was ich wollte.
Wie bereits oben beschrieben, sollte es so laufen, dass der Druckbefehl so gestaltet wird, wie wenn ich die Blätter markiert hätte, so dass die Seitenzahlsumme in beispielsweise der Fußzeile mit der Gesamtsumme übereinstimmt. (Momentan druckt er jedes Blatt einzeln)
Und dann hatte ich noch ein kleines Problem, ich konnte mir den Befehl der hinter dem ´Print´-Button steht nicht ansehen. Das ist doch einfach ein Makro, oder? Wie kann ich den denn einsehen?
Wie gesagt, ich bin Dir sehr dankbar für Deine bisherigen Mühen, und wenn Du keine Lust mehr auf noch mehr Mühen hast, kann ich das voll verstehen...
Freuen würde ich mich trotzdem über eine Lösung.
Also Vielen Dank schonmal
Mit besten Grüßen
Christoph
vielen Dank für Deine Mühen. Das geht schon sehr in die Richtung, leider ist es noch nicht ganz das was ich wollte.
Wie bereits oben beschrieben, sollte es so laufen, dass der Druckbefehl so gestaltet wird, wie wenn ich die Blätter markiert hätte, so dass die Seitenzahlsumme in beispielsweise der Fußzeile mit der Gesamtsumme übereinstimmt. (Momentan druckt er jedes Blatt einzeln)
Und dann hatte ich noch ein kleines Problem, ich konnte mir den Befehl der hinter dem ´Print´-Button steht nicht ansehen. Das ist doch einfach ein Makro, oder? Wie kann ich den denn einsehen?
Wie gesagt, ich bin Dir sehr dankbar für Deine bisherigen Mühen, und wenn Du keine Lust mehr auf noch mehr Mühen hast, kann ich das voll verstehen...
Freuen würde ich mich trotzdem über eine Lösung.
Also Vielen Dank schonmal
Mit besten Grüßen
Christoph
Antwort 3 von coros
Hallo Christoph,
sorry, dass hatte ich etwas anders verstanden. Versuche mal nachfolgendes Makro, das Du in ein StandardModul kopieren musst, ob das Dich etwas näher ans Ziel bringt.
Hier werden die Blätter gedruckt, die vorher über die Blattnamen entweder mit Shift oder mit Strg markiert wurden. In der Fußzeile stehen dann die Seitenzahl und die Gesamtseitenzahl.
Bei Fragen melde Dich bitte wieder.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
sorry, dass hatte ich etwas anders verstanden. Versuche mal nachfolgendes Makro, das Du in ein StandardModul kopieren musst, ob das Dich etwas näher ans Ziel bringt.
Option Explicit
Sub Drucken()
Dim Blatt As Worksheet, Seite As Integer, Blattanzahl As Integer
Blattanzahl = ActiveWindow.SelectedSheets.Count
For Each Blatt In ActiveWindow.SelectedSheets
Seite = Seite + 1
With Blatt
.PageSetup.CenterFooter = "Seite " & Seite & " von " & Blattanzahl
.PrintOut
End With
Next
End SubHier werden die Blätter gedruckt, die vorher über die Blattnamen entweder mit Shift oder mit Strg markiert wurden. In der Fußzeile stehen dann die Seitenzahl und die Gesamtseitenzahl.
Bei Fragen melde Dich bitte wieder.
MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.
Antwort 4 von nobble
Hallo Oliver,
entschuldige die verspätete Antwort, aber ich habe die letzten 1 1/2 Wochen leider im Bett verbracht, war krank und hatte demnach auch keine Lust mich mit diesem Problem zu beschäftigen.
So nun zurück zum Thema:
Ich fürchte wir reden etwas aneinander vorbei, Deine erste Antwort war schon sehr richtig. Vielleicht habe ich mich etwas misverständlich ausgdrückt, der Befehl sollte nur gestaltet sein, wie wenn ich die Blätter von Hand markiert hätte, nicht aber tatsächlich so ablaufen.
Um weitere Missverständnisse zu vermeiden, sage ich einfach nochmal was ich bräuchte.
Deine erste Antwort mit den Kontrollkästchen war schon sehr richtig. Genau so habe ich mir das vorgestellt. Doch es gibt folgende Probleme damit:
Er druckt alle Seiten wie wenn ich auf jedem Blatt einzeln auf "drucken" gegangen wäre. Meine Traumversion würde so aussehen, dass für den User die Möglichkeit bestünde, sich die Dokumente rauszusuchen, dann geht er auf den Button und es öffnet sich das Druckmenü und dort kann er dann entscheiden auf welchem Drucker er es ausgeben möchte (das ist wichtig, da es auch manchmal über den pdf-printer als pdf ausgegeben werden soll).
Intern sollte der Befehl aber wie gesagt so aussehen, als hätte man die Blätter markiert, aber wie gesagt nur als hätte man es gemacht. Denn dann liefert Excel automatisch was ich brauche. s.u.
Die zweite Lösung die Du mir geschickt hast, hat mich leider nicht weiter gebracht (wenn ich das so direkt sagen darf), da das Makro im Prinzip nur dass macht was Excel von alleine macht.
Es ist so, wenn mehrere Blätter von Hand markiert sind, und man dann auf drucken geht, dann fasst er diese automatisch in der Gesamtseitenzahl zusammen, sofern man das drucken der Seitenzahlen eingestellt hat natürlich.
Da aber das Dokument so groß ist (Anzahl der Mappen) möchte ich dem Benutzer das händische Markieren unbedingt ersparen. Ich weiß wenn jemand in Excel fit ist, ist das kein Problem, aber mit diesem Dokument sollen so viele Leute arbeiten, dass der Personenkreis leider nicht überschaubar ist. Ich würde Dir die Datei gerne mal geben, dass würde mit Sicherheit zu einem besseren Verständnis führen, aber das darf ich leider nicht, da es ein Firmen-Dokument ist.
Achja, auch wenn ich befürchte Deine Hilfsbereitschaft überzustrappazieren, aber wie kann ich denn die Befehle in Deinem ersten Beispiel bearbeiten? Also auf welcher Basis sind diese denn programmiert? Das wäre noch wichtig, dann könnte ich mir das mal anschauen.
So also wie gesagt, vielen Dank für Deine Mühen, falls Du keine Lust mehr hast, habe ich vollstes Verständniss, für weitere Hilfe wäre ich Dir jedoch äusserst dankbar.
Mit besten Grüßen
Christoph
entschuldige die verspätete Antwort, aber ich habe die letzten 1 1/2 Wochen leider im Bett verbracht, war krank und hatte demnach auch keine Lust mich mit diesem Problem zu beschäftigen.
So nun zurück zum Thema:
Ich fürchte wir reden etwas aneinander vorbei, Deine erste Antwort war schon sehr richtig. Vielleicht habe ich mich etwas misverständlich ausgdrückt, der Befehl sollte nur gestaltet sein, wie wenn ich die Blätter von Hand markiert hätte, nicht aber tatsächlich so ablaufen.
Um weitere Missverständnisse zu vermeiden, sage ich einfach nochmal was ich bräuchte.
Deine erste Antwort mit den Kontrollkästchen war schon sehr richtig. Genau so habe ich mir das vorgestellt. Doch es gibt folgende Probleme damit:
Er druckt alle Seiten wie wenn ich auf jedem Blatt einzeln auf "drucken" gegangen wäre. Meine Traumversion würde so aussehen, dass für den User die Möglichkeit bestünde, sich die Dokumente rauszusuchen, dann geht er auf den Button und es öffnet sich das Druckmenü und dort kann er dann entscheiden auf welchem Drucker er es ausgeben möchte (das ist wichtig, da es auch manchmal über den pdf-printer als pdf ausgegeben werden soll).
Intern sollte der Befehl aber wie gesagt so aussehen, als hätte man die Blätter markiert, aber wie gesagt nur als hätte man es gemacht. Denn dann liefert Excel automatisch was ich brauche. s.u.
Die zweite Lösung die Du mir geschickt hast, hat mich leider nicht weiter gebracht (wenn ich das so direkt sagen darf), da das Makro im Prinzip nur dass macht was Excel von alleine macht.
Es ist so, wenn mehrere Blätter von Hand markiert sind, und man dann auf drucken geht, dann fasst er diese automatisch in der Gesamtseitenzahl zusammen, sofern man das drucken der Seitenzahlen eingestellt hat natürlich.
Da aber das Dokument so groß ist (Anzahl der Mappen) möchte ich dem Benutzer das händische Markieren unbedingt ersparen. Ich weiß wenn jemand in Excel fit ist, ist das kein Problem, aber mit diesem Dokument sollen so viele Leute arbeiten, dass der Personenkreis leider nicht überschaubar ist. Ich würde Dir die Datei gerne mal geben, dass würde mit Sicherheit zu einem besseren Verständnis führen, aber das darf ich leider nicht, da es ein Firmen-Dokument ist.
Achja, auch wenn ich befürchte Deine Hilfsbereitschaft überzustrappazieren, aber wie kann ich denn die Befehle in Deinem ersten Beispiel bearbeiten? Also auf welcher Basis sind diese denn programmiert? Das wäre noch wichtig, dann könnte ich mir das mal anschauen.
So also wie gesagt, vielen Dank für Deine Mühen, falls Du keine Lust mehr hast, habe ich vollstes Verständniss, für weitere Hilfe wäre ich Dir jedoch äusserst dankbar.
Mit besten Grüßen
Christoph

