Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender Navigationstipps
Inhaltsverzeichnis

Blätter autom. ein-/ausblenden + drucken

Blätter autom. ein-/ausblenden + drucken
22.07.2008 14:27:22
André
Hallo Forumteilnehmer,
habe den u.g. Code verwendet, leider arbeitet er nur nicht so wie er soll.
Die entsprechenden Blätter werden so wie es sein soll ausgeblendet, und das erste Arbeitsblatt auch vernünftig ausgedruckt. Sowie auch wieder in seinem Ursprungszustand hinterlassen. Nur leider passiert dies nicht für die weiteren Arbeitsblätter.
Die weiteren Arbeitsblätter werden nicht so ausgedruckt, als wenn ich den Code manuell für jedes Blatt einzelnd starte, und auch nicht wieder in den Urspungszustand versetzt.
Als Alternative könnte ich natürlich den Befehl aufzeichnen in dem ich in jedes Arbeitsblatt gehe und den Befehl manuell ausführe. Nur habe ich dort wieder das Problem, das sich der Tabellenname ständig ändert.
Und später nicht mehr ausführen lässt.
Ich kann mir den Fehler nicht erklären.
Vielleicht hat ja einer von euch eine Ahnung woran das liegen könnte.
Gruß
André
Hier der Code:

Sub Druck_neu()
Sheets("WB").Select
ActiveWindow.SelectedSheets.Visible = False
Sheets("Voreinstellungen").Select
ActiveWindow.SelectedSheets.Visible = False
Dim TB As Worksheet
For Each TB In Worksheets
If TB.Visible Then
TB.Unprotect Password:="pw"
TB.Rows("6:10").EntireRow.Hidden = Not Rows("6:10").EntireRow.Hidden
TB.Columns("H").EntireColumn.Hidden = Not Columns("H").EntireColumn.Hidden
TB.Columns("J").EntireColumn.Hidden = Not Columns("J").EntireColumn.Hidden
TB.Columns("c").EntireColumn.Hidden = Not Columns("c").EntireColumn.Hidden
TB.Columns("i").EntireColumn.Hidden = Not Columns("i").EntireColumn.Hidden
TB.Columns("g").EntireColumn.Hidden = Not Columns("g").EntireColumn.Hidden
TB.Columns("b").EntireColumn.Hidden = Not Columns("b").EntireColumn.Hidden
TB.PrintOut Copies:=1, Collate:=True
TB.Rows("6:10").EntireRow.Hidden = Not Rows("6:10").EntireRow.Hidden
TB.Columns("H").EntireColumn.Hidden = Not Columns("H").EntireColumn.Hidden
TB.Columns("J").EntireColumn.Hidden = Not Columns("J").EntireColumn.Hidden
TB.Columns("c").EntireColumn.Hidden = Not Columns("c").EntireColumn.Hidden
TB.Columns("i").EntireColumn.Hidden = Not Columns("i").EntireColumn.Hidden
TB.Columns("g").EntireColumn.Hidden = Not Columns("g").EntireColumn.Hidden
TB.Columns("b").EntireColumn.Hidden = Not Columns("b").EntireColumn.Hidden
TB.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="pw"
TB.Unprotect Password:="pw"
TB.Rows("6:10").EntireRow.Hidden = Not TB.Rows("6:10").EntireRow.Hidden
TB.Columns("H").EntireColumn.Hidden = Not TB.Columns("H").EntireColumn.Hidden
TB.Columns("c").EntireColumn.Hidden = Not TB.Columns("c").EntireColumn.Hidden
TB.Columns("i").EntireColumn.Hidden = Not TB.Columns("i").EntireColumn.Hidden
TB.Columns("b").EntireColumn.Hidden = Not TB.Columns("b").EntireColumn.Hidden
TB.Range("A2:S2").FormulaR1C1 = "Text 1"
TB.PrintOut Copies:=1, Collate:=True
TB.Range("A2:S2").FormulaR1C1 = "Text"
TB.Rows("6:10").EntireRow.Hidden = Not Rows("6:10").EntireRow.Hidden
TB.Columns("H").EntireColumn.Hidden = Not TB.Columns("H").EntireColumn.Hidden
TB.Columns("c").EntireColumn.Hidden = Not TB.Columns("c").EntireColumn.Hidden
TB.Columns("i").EntireColumn.Hidden = Not TB.Columns("i").EntireColumn.Hidden
TB.Columns("b").EntireColumn.Hidden = Not TB.Columns("b").EntireColumn.Hidden
TB.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="pw"
End If
Next
Sheets("Voreinstellungen").Visible = True
Sheets("WB").Visible = True
Sheets("Voreinstellungen").Select
End Sub


5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Blätter autom. ein-/ausblenden + drucken
22.07.2008 16:11:14
noffi
Hallo ein zweites mal André,
Ich habe Deinen Code korrigiert und ein wenig verkürzt. Das Problem bei Deinem Code war, das Du das entsprechende Blatt nicht aktiviert hast. So sind alle Befehle auf das selbe Blatt angewendet worden. Der Fehler ließ sich mit Deinem Orginalcode auch bei mir wiederholen. Füge dafür diesen

Sub Druck_neu()
Dim TB As Worksheet
ActiveWorkbook.Sheets("WB").Visible = False
ActiveWorkbook.Sheets("Voreinstellungen").Visible = False
For Each TB In Worksheets
If TB.Visible Then
TB.Activate
TB.Unprotect Password:="pw"
TB.Rows("6:10").EntireRow.Hidden = Not Rows("6:10").EntireRow.Hidden
TB.Columns("b").EntireColumn.Hidden = Not Columns("b").EntireColumn.Hidden
TB.Columns("c").EntireColumn.Hidden = Not Columns("c").EntireColumn.Hidden
TB.Columns("g").EntireColumn.Hidden = Not Columns("g").EntireColumn.Hidden
TB.Columns("H").EntireColumn.Hidden = Not Columns("H").EntireColumn.Hidden
TB.Columns("i").EntireColumn.Hidden = Not Columns("i").EntireColumn.Hidden
TB.Columns("J").EntireColumn.Hidden = Not Columns("J").EntireColumn.Hidden
TB.PrintOut Copies:=1, Collate:=True
TB.Columns("g").EntireColumn.Hidden = Not Columns("g").EntireColumn.Hidden
TB.Columns("i").EntireColumn.Hidden = Not Columns("i").EntireColumn.Hidden
TB.Range("A2:S2").FormulaR1C1 = "Text 1"
TB.PrintOut Copies:=1, Collate:=True
TB.Range("A2:S2").FormulaR1C1 = "Text"
TB.Rows("6:10").EntireRow.Hidden = Not Rows("6:10").EntireRow.Hidden
TB.Columns("b").EntireColumn.Hidden = Not Columns("b").EntireColumn.Hidden
TB.Columns("c").EntireColumn.Hidden = Not Columns("c").EntireColumn.Hidden
TB.Columns("H").EntireColumn.Hidden = Not Columns("H").EntireColumn.Hidden
TB.Columns("J").EntireColumn.Hidden = Not Columns("J").EntireColumn.Hidden
TB.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="pw"
End If
Next
Sheets("Voreinstellungen").Visible = True
Sheets("WB").Visible = True
Sheets("Voreinstellungen").Activate
End Sub


Code bei Dir ein.
Gruß noffi

Anzeige
AW: Blätter autom. ein-/ausblenden + drucken
22.07.2008 18:12:29
André
Hallo noffi,
nochmal vielen Dank für deine Hilfe! Hast mir damit sehr weitergeholfen!
Kann man den Befehl jetzt auch noch so erweiteren, dass wenn der Tabellenblattname "zzz" und dahinter noch irgendwelche Zufallszahlen enthält, vom Druck ausschließen kann?
Gruß
André

AW: Blätter autom. ein-/ausblenden + drucken
23.07.2008 08:26:00
noffi
Hallo André,
ich glaube, es wäre wohl besser und schneller, wenn ich Deine Tabelle bei mir programmiere, so sind die Fragen schneller beantwortet. Hier ist Dein Codefragment zum Ausblenden eines einzelnen Tabellenblattes mit dem Namen "zzzxxxx" wobei x ja für Zufallszahlen steht.

Sub test()
Dim ws As Worksheet
Dim name As String
For Each ws In ThisWorkbook.Sheets
If Left(ws.name, 3) = "zzz" Then
ActiveWorkbook.ActiveSheet.Visible = False
Exit Sub
End If
Next
End Sub


Vergesse bitte hinterher nicht das Blatt wieder einzublenden.
Gruß noffi

Anzeige
AW: Blätter autom. ein-/ausblenden + drucken
23.07.2008 10:29:19
André
Hallo noffi,
habe eben mal dein Code getestet.
Habe mir eine neue Mappe hergenommen, und diesen Code in ein Modul kopiert.
In die erste Tabelle habe ich dann zwei Schaltflächen erstellt. Eine zum ausblenden und die andere zum einblenden. Nur wurde immer das jeweils aktive Register angesprochen. In diesem Fall die Tabelle 1.
Wenn ich nun in Tabelle 1 die Schaltflächen habe, und die Register 2 und 3 mit dem Namen "xxx, 123" & "xxx, 456" belege, müsste der Code bestimmt geändert werden. Denn mein Ziel ist es den Code in Tabelle 1 auszuführen, aber auswirken soll dieser sich auf die ganze restliche Mappe.
Wenn du Lust hast, kannst es ja in einer Testmappe uppen.
Vielen Dank im Voraus!
Schön Gruß aus SH
André

Anzeige
AW: Blätter autom. ein-/ausblenden + drucken
23.07.2008 12:27:00
noffi
Hallo André,
Du kannst mir gerne Deine Datei zuschicken. Klicke dazu auf Forums-Seiten, Profile,Profilliste. Dann suchst Du dort nach noffi. Da findest Du meine EMail-Adresse.
Wenn Du die Datei zuschickst, dann vergiss bitte nicht eine genaue Funktionsbeschreibung dazu zulegen.
Gruß
noffi

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige