Microsoft Excel

Herbers Excel/VBA-Archiv

Arbeitsmappendruck

Betrifft: Arbeitsmappendruck von: André
Geschrieben am: 21.07.2008 16:57:32

Hallo Forumteilnehmer,

habe hier einen Code:

Sub Druck()

    ActiveSheet.Unprotect Password:="pw"
    Rows("6:10").EntireRow.Hidden = Not Rows("6:10").EntireRow.Hidden
    Columns("H").EntireColumn.Hidden = Not Columns("H").EntireColumn.Hidden
    Columns("c").EntireColumn.Hidden = Not Columns("c").EntireColumn.Hidden
    Columns("i").EntireColumn.Hidden = Not Columns("i").EntireColumn.Hidden
    Columns("b").EntireColumn.Hidden = Not Columns("b").EntireColumn.Hidden
    Range("A2:S2").Select
    ActiveCell.FormulaR1C1 = "Überschrift 1"
    ActiveSheet.PrintOut Copies:=1, Collate:=True
    ActiveCell.FormulaR1C1 = "Überschrift"
    Range("a1").Select
    Rows("6:10").EntireRow.Hidden = Not Rows("6:10").EntireRow.Hidden
    Columns("H").EntireColumn.Hidden = Not Columns("H").EntireColumn.Hidden
    Columns("c").EntireColumn.Hidden = Not Columns("c").EntireColumn.Hidden
    Columns("i").EntireColumn.Hidden = Not Columns("i").EntireColumn.Hidden
    Columns("b").EntireColumn.Hidden = Not Columns("b").EntireColumn.Hidden
    ActiveSheet.Protect DrawingObjects:=True, Contents:=True, Scenarios:=True, Password:="pw"

End Sub



Mit diesem Code drucke ich zur Zeit jede einzelne Arbeitsmappe manuell aus. Kann man es mit einem veränderten Code so machen, dass die ganze Arbeitsmappe automatisch einschl. der vorgegebenen Bedingungen ausgedruckt werden kann?

Gruß
André

  

Betrifft: AW: Arbeitsmappendruck von: Armin
Geschrieben am: 21.07.2008 18:35:07

Hallo Andre,
so

Sub Druck()
Dim TB As Worksheet
  For Each TB In Worksheets
    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 = "Überschrift 1"
    TB.PrintOut Copies:=1, Collate:=True
    TB.Range("A2:S2").FormulaR1C1 = "Überschrift"
    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"
  Next
End Sub



druckste die ganze Mappe.

Gruß Armin


  

Betrifft: AW: Arbeitsmappendruck von: André
Geschrieben am: 21.07.2008 21:34:04

Hallo Armin,

vielen Dank für deine Hilfe!

Kannst du mir auch sagen, ob man den Code noch so einschränken kann, dass nur die eingeblendeten Blätter gedruckt werden? Ich würde dann vorher gewisse Blätter ausblenden.

Gruß
André


  

Betrifft: AW: Arbeitsmappendruck von: Uduuh
Geschrieben am: 21.07.2008 22:33:25

Hallo,
ganz einfa die Visible-Eigenschaft der Worksheets abfragen:

Sub Druck()
  Dim TB As Worksheet
  For Each TB In Worksheets
  If TB.Visible Then
      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 = "Überschrift 1"
      TB.PrintOut Copies:=1, Collate:=True
      TB.Range("A2:S2").FormulaR1C1 = "Überschrift"
      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
End Sub




Gruß aus’m Pott
Udo



  

Betrifft: AW: Arbeitsmappendruck von: André
Geschrieben am: 22.07.2008 15:54:00

Hallo Udo,


vielen Dank für deine Änderung. Habe meinen Befehl jetzt mal vervollständigt. Nur gibt es da leider noch Probleme. Habe daraufhin nochmal einen neuen Beitrag aufgemacht.

Gruß
André