03.07.2021, 00:03
(Dieser Beitrag wurde zuletzt bearbeitet: 03.07.2021, 00:04 von excellover123.)
Hallo Leute,
ich habe ein Problem, wo ich nicht wirklich weiter komme, daher bitte ich euch um Unterstützung.
Ich habe eine Excel Datei. Darin befinden sich:
Tabellenblatt 1: Eingabeblatt
Tabellenblatt 2: Vorlage 1
Tabellenblatt 3: Vorlage 2
Am Tabellenblatt 1 werden allgemeine Eingaben gepflegt.
Die Benutzer können nun die Vorlagen verwenden und beliebig oft kopieren, dabei muss es auch möglich sein, dass die Namen der Tabellenblätter umgeändert werden können.
Am Ende des Tages entstehen so eine unbestimmte Anzahl an Tabellenblätter mit der Vorlage 1 und ebenso unbestimmte Anzahl mit der Vorlage 2.
Zur Abgabe soll dann ein Bericht entstehen, der alle Tabellenblätter mit Vorlage 1 zusammenfasst, und ein weiterer Bericht mit allen Tabellenblätter aus Vorlage 2.
Dies möchte ich mit einem VBA automatisieren, wenn der Button: "Drucke Bericht Vorlage 1" gedrückt wird, soll Excel alle Tabellenblätter aus Vorlage 1 suchen und das PrintPreview starten. Beim Button "Drucke Bericht Vorlage 2" dann das gleiche mit den Tabellenblättern aus Vorlage 2.
In Wahrheit hab ich noch wesentlich mehr Vorlagen, ich hab den Sachverhalt nur zusammen gekürzt fürs Beispiel.
Bei einer bestimmten Anzahl an Tabellenblättern ist es relativ einfach, da verwende ich:
Sub Ausdrucken ()
Sheets(Array("Blatt1", "Blatt2", "Blatt3", "Blatt4")).PrintPreview
End Sub
Ich hab mir schon gedacht, dass ich die einzelnen Vorlagen "markiere" in einer Zelle.
Beispiel:
Tabellenblatt "Vorlage 1" erhält in Zelle A1 ein "x"
Tabellenblatt "Vorlage 2" erhält in Zelle A2 ein "x"
dann hab ich mir so in die Richtung gedacht:
Sub Ausdrucken_Bericht_Vorlage1 ()
Durchsuche alle Tabellenblätter, wenn Tabellenblatt in A1 ein x hat, füge es zum Array dazu und dann mach das PrintPreview
End Sub
Sub Ausdrucken_Bericht_Vorlage2 ()
Durchsuche alle Tabellenblätter, wenn Tabellenblatt in B1 ein "x" hat, füge es zum Array dazu und dann mach das PrintPreview
End Sub
Auf diese Weise könnte ich es konfigurieren, mit welchem Button welche Tabellenblätter aus Vorlage xy gedruckt werden.
Gibt es hierfür eine Lösung?
Ich wäre um Eure Hilfe sehr dankbar. Ich muss regelmäßig solche sehr umfangreiche Berichte erstellen und damit könnte ich relativ viel Zeit sparen.
Danke für Eure Zeit.
ich habe ein Problem, wo ich nicht wirklich weiter komme, daher bitte ich euch um Unterstützung.
Ich habe eine Excel Datei. Darin befinden sich:
Tabellenblatt 1: Eingabeblatt
Tabellenblatt 2: Vorlage 1
Tabellenblatt 3: Vorlage 2
Am Tabellenblatt 1 werden allgemeine Eingaben gepflegt.
Die Benutzer können nun die Vorlagen verwenden und beliebig oft kopieren, dabei muss es auch möglich sein, dass die Namen der Tabellenblätter umgeändert werden können.
Am Ende des Tages entstehen so eine unbestimmte Anzahl an Tabellenblätter mit der Vorlage 1 und ebenso unbestimmte Anzahl mit der Vorlage 2.
Zur Abgabe soll dann ein Bericht entstehen, der alle Tabellenblätter mit Vorlage 1 zusammenfasst, und ein weiterer Bericht mit allen Tabellenblätter aus Vorlage 2.
Dies möchte ich mit einem VBA automatisieren, wenn der Button: "Drucke Bericht Vorlage 1" gedrückt wird, soll Excel alle Tabellenblätter aus Vorlage 1 suchen und das PrintPreview starten. Beim Button "Drucke Bericht Vorlage 2" dann das gleiche mit den Tabellenblättern aus Vorlage 2.
In Wahrheit hab ich noch wesentlich mehr Vorlagen, ich hab den Sachverhalt nur zusammen gekürzt fürs Beispiel.
Bei einer bestimmten Anzahl an Tabellenblättern ist es relativ einfach, da verwende ich:
Sub Ausdrucken ()
Sheets(Array("Blatt1", "Blatt2", "Blatt3", "Blatt4")).PrintPreview
End Sub
Ich hab mir schon gedacht, dass ich die einzelnen Vorlagen "markiere" in einer Zelle.
Beispiel:
Tabellenblatt "Vorlage 1" erhält in Zelle A1 ein "x"
Tabellenblatt "Vorlage 2" erhält in Zelle A2 ein "x"
dann hab ich mir so in die Richtung gedacht:
Sub Ausdrucken_Bericht_Vorlage1 ()
Durchsuche alle Tabellenblätter, wenn Tabellenblatt in A1 ein x hat, füge es zum Array dazu und dann mach das PrintPreview
End Sub
Sub Ausdrucken_Bericht_Vorlage2 ()
Durchsuche alle Tabellenblätter, wenn Tabellenblatt in B1 ein "x" hat, füge es zum Array dazu und dann mach das PrintPreview
End Sub
Auf diese Weise könnte ich es konfigurieren, mit welchem Button welche Tabellenblätter aus Vorlage xy gedruckt werden.
Gibt es hierfür eine Lösung?
Ich wäre um Eure Hilfe sehr dankbar. Ich muss regelmäßig solche sehr umfangreiche Berichte erstellen und damit könnte ich relativ viel Zeit sparen.
Danke für Eure Zeit.