Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
bedingte Formatierung in ausgeblendeten Blatt
18.06.2013 17:04:46
Andreas
Hallo Excelprofis,
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

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bedingte Formatierung in ausgeblendeten Blatt
18.06.2013 17:15:02
Rudi
Hallo,
teste mal:
Sub bedFormatierung()
With Sheets("Ausdruck")
With .Range("Ausdruck01")
.Copy
.PasteSpecial xlPasteFormats
.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ZÄHLENWENN(Feiertage;C$7)"
.FormatConditions(Selection.FormatConditions.Count).SetFirstPriority
With .FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 14281213
.TintAndShade = 0
End With
.FormatConditions(1).StopIfTrue = False
.FormatConditions.Add Type:=xlExpression, Formula1:="=C$7="""""
.FormatConditions(.FormatConditions.Count).SetFirstPriority
With .FormatConditions(1).Interior
.Pattern = xlNone
.TintAndShade = 0
End With
.FormatConditions(1).StopIfTrue = False
.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=WOCHENTAG(C$7;2)>5"
.FormatConditions(.FormatConditions.Count).SetFirstPriority
With .FormatConditions(1).Interior
.PatternColorIndex = xlAutomatic
.Color = 14277081
.TintAndShade = 0
End With
.FormatConditions(1).StopIfTrue = False
End With
End With
End Sub

Gruß
Rudi

Anzeige
AW: bedingte Formatierung in ausgeblendeten Blatt
18.06.2013 17:27:28
Andreas
Hallo Rudi Maintaire!
Danke für die schnelle Antwort. Bleibt aber jetzt bei:
With .Range("Ausdruck01")
stehen.
Noch mal zur Erklärung:
Das Blatt "Ausdruck" ist ausgeblendet und der Namenbereich "Ausdruck01" ist auch nur in diesem Blatt definiert. Ich weiß nicht ob das wichtig ist.
mfg, Andreas

AW: bedingte Formatierung in ausgeblendeten Blatt
18.06.2013 17:29:40
Andreas
Stopp, muss noch mal testen, der Namensbereich ist gar nicht mehr vorhanden.
Melde mich gleich wieder.

AW: bedingte Formatierung in ausgeblendeten Blatt
18.06.2013 17:38:22
Andreas
Hallo Rudi!
Ich glaube, dass durch das 1. Makro der Namensbereich "Ausdruck01" unbrauchbar wird (Bezug-Fehler). Deswegen kann es nicht funktionieren.
Werde weiter testen und berichten.
mfg, Andreas

Anzeige
warscheinlich wegen cells.delete
19.06.2013 07:32:09
Klaus
Hi Andreas,
dass durch das 1. Makro der Namensbereich "Ausdruck01" unbrauchbar wird
das liegt warscheinlich am cells.delete ...
Ich würd mir an deiner Stelle eher überlegen, den Bereich "Ausdruck01" dynamisch zu setzen. Da du eh unterschiedliche Zeilenanzahlen usw im Ausdruckblatt hast, ist ein fixer Name warscheinlich gar nicht die richtige Wahl ...
Grüße,
Klaus M.vdT.

Namen wieder festlegen
19.06.2013 09:25:30
Rudi
Hallo,
      With Sheets("Ausdruck")
With .Range("A1")
'Werte einfpgen
.PasteSpecial xlPasteValues
'Formate drüberbügeln
.PasteSpecial xlPasteFormats
.Resize(267, 35).Name="Ausdruck01"
End With
Gruß
Rudi
Anzeige

320 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige