Habe noch ein kleines Problemchen.
Ich möchte per Commandbutton bestimmte Daten auf ein Hilfsblatt übertragen, dort alle bedingten Formatierungen entfernen, neue bedingte Formatierungen setzen und das Blatt ausdrucken.
Das Blatt "Ausdruck" ist und soll ausgeblendet bleiben.
Dank Klaus M.vdT. und Internet bin ich auch schon - hoffentlich - fast fertig.
Mit dem Commandbutton rufe ich nachfolgende Makros auf:
1. Daten in das Blatt "Ausdruck" kopieren, alle bedingten Formatierungen entfernen
2. neue bedingte Formatierungen im Bereich "Ausdruck01" (Blatt: Ausdruck) setzen
3. Blatt drucken
Sub KopiereRueber()
'Bildschirmflackern abschalten
Application.ScreenUpdating = False
'alles alte rauswerfen
Sheets("Ausdruck").Cells.Delete
'Druck-Blatt kopieren, aber nicht die ausgeblendeten!
Sheets("Übersicht").Range("A1:AI267").SpecialCells(xlCellTypeVisible).Copy
With Sheets("Ausdruck")
With .Range("A1")
'Werte einfpgen
.PasteSpecial xlPasteValues
'Formate drüberbügeln
.PasteSpecial xlPasteFormats
End With
'Kopierameisen verjagen
Application.CutCopyMode = False
'bedingte Formatierungen loswerfen
.Cells.FormatConditions.Delete
Dim i As Long
'Spaltenbreiten anpassen (Spalte für Spalte, weiss grad nix sinnigeres)
For i = 1 To .UsedRange.Columns.Count
.Columns(i).ColumnWidth = Sheets("Übersicht").Columns(i).ColumnWidth
Next i
'dito Zeilenhöhen
For i = 1 To .UsedRange.Rows.Count
.Rows(i).RowHeight = Sheets("Übersicht").Rows(i).RowHeight
Next i
End With
'Bildschirmflackern abschalten
Application.ScreenUpdating = True
End Sub
Sub bedFormatierung()
Application.Goto Reference:="Ausdruck01"
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ZÄHLENWENN(Feiertage;C$7)"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 14281213
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Selection.FormatConditions.Add Type:=xlExpression, Formula1:="=C$7="""""
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.Pattern = xlNone
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
Selection.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=WOCHENTAG(C$7;2)>5"
Selection.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With Selection.FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 14277081
.TintAndShade = 0
End With
Selection.FormatConditions(1).StopIfTrue = False
End Sub
Option Explicit
Public Sub Druck_Unsichtbar()
Application.ScreenUpdating = False
With Sheets("Ausdruck")
.Visible = xlSheetVisible
.PrintOut
.Visible = xlSheetHidden
End With
Application.ScreenUpdating = True
End Sub
Leider bleibt alles beim 2.Makro bei:
Application.Goto Reference:="Ausdruck01"
stehen. Wahrscheinlich weil das Blatt ausgeblendet ist.Kann mir Jemand helfen, wie ich im Makro2 auf das Blatt "Ausdruck" und den Bereich "Ausdruck01" verweisen kann?
Habe leider von VBA keine Ahnung.
Danke für die Hilfe!
mfg, Andreas