Theresa fragt sich, ob es eine Möglichkeit gibt, eine Zelle so zu formatieren, dass automatisch ein bestimmtes Arbeitsblatt gedruckt wird, wenn der Inhalt der Zelle bestimmte Kriterien erfüllt. Die kurze Antwort lautet: Nein. Es gibt keine Möglichkeit, die Formatierung zu verwenden, um dieses Ziel zu erreichen. Sie können jedoch ein Ereignishandlermakro verwenden, um den Druckvorgang durchzuführen.

Beispielsweise wird einer der von Excel unterstützten Ereignishandler jedes Mal ausgelöst, wenn etwas in der Arbeitsmappe geändert wird. Sie können einen Ereignishandler erstellen, der untersucht, welche Zelle geändert wurde. Wenn es sich um eine bestimmte Zelle handelt und diese Zelle einen bestimmten Wert enthält, kann ein Arbeitsblatt gedruckt werden.

Private Sub Worksheet_Change(ByVal Target As Range)

Dim targCell As Range     Set targCell = Worksheets(1).Range("B2")



If Not Application.Intersect(Target, targCell) Is Nothing Then         If targCell.Value = 1001 Then             Worksheets(1).PrintOut         End If     End If End Sub

Dieses Makro untersucht den Inhalt der Zelle B2. Wenn der Zelleninhalt geändert wird und die Zelle den Wert 1001 enthält, wird das Arbeitsblatt automatisch gedruckt.

Natürlich möchten Sie möglicherweise, dass der Inhalt einer bestimmten Zelle steuert, was gedruckt wird, wenn jemand tatsächlich druckt. Wenn der Benutzer beispielsweise drucken möchte, möchten Sie möglicherweise den Inhalt einer Zelle (z. B. E2) untersuchen und basierend auf dem Inhalt dieser Zelle automatisch ändern, was gedruckt wird. Das folgende Makro verfolgt diesen Ansatz:

Private Sub Workbook_BeforePrint(Cancel As Boolean)

Application.EnableEvents = False     Select Case Worksheets("Sheet1").Range("E1")

Case 1             Worksheets("Sheet1").PrintOut         Case 2             Worksheets("Sheet2").PrintOut         Case 3             Worksheets("Sheet3").PrintOut         Case 4             Worksheets("Sheet4").PrintOut         Case Else             ActiveSheet.PrintOut     End Select     Cancel = True     Application.EnableEvents = True End Sub

Das Makro druckt Sheet1, Sheet2, Sheet3 oder Sheet4, je nachdem, ob Zelle E2 1, 2, 3 oder 4 enthält.

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (3832) gilt für Microsoft Excel 97, 2000, 2002 und 2003. Eine Version dieses Tipps für die Multifunktionsleistenschnittstelle von Excel (Excel 2007 und höher) finden Sie hier: