Ich habe eine Exceldatei die aus mehreren Sheets besteht.
Auf jedem dieser Sheets steht immer in der gleichen Zelle eine Info die nicht gedruckt werden soll. Ist das irgendwie möglich?
Vielen Dank!
lg Jean
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Range("A1").Font.ColorIndex = 2
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Range("A1").Font.ColorIndex = 2
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Range("A1").Font.ColorIndex = 3
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Range("A1").NumberFormat = ";;;"
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Range("A1").NumberFormat = "General"
End Sub
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim Farbe As Integer
Dim wks As Worksheet
Dim i As Byte
On Error GoTo Fehler
For Each wks In Me.Worksheets
If ActiveSheet.Name = wks.Name Then
i = 1
Exit For
End If
Next wks
If i = 1 Then
Cancel = True
Farbe = ActiveSheet.Range("A1").Font.ColorIndex
ActiveSheet.Range("A1").Font.ColorIndex = 2
Application.EnableEvents = False
ActiveSheet.PrintOut
Application.EnableEvents = True
ActiveSheet.Range("A1").Font.ColorIndex = Farbe
End If
Fehler:
Application.EnableEvents = True
End Sub
Um bestimmte Zellen in Excel nicht zu drucken, kannst Du VBA (Visual Basic for Applications) verwenden. Hier ist eine Schritt-für-Schritt-Anleitung:
Öffne Deine Excel-Datei und drücke Alt + F11
, um den VBA-Editor zu öffnen.
Finde im Projektfenster auf der linken Seite den Namen Deiner Arbeitsmappe.
Rechtsklicke auf "Diese Arbeitsmappe" und wähle "Code anzeigen".
Füge den folgenden Code ein:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
ActiveSheet.Range("A1").Font.ColorIndex = 2
End Sub
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
ActiveSheet.Range("A1").Font.ColorIndex = 3
End Sub
Schließe den VBA-Editor und speichere Deine Datei.
Drucke das Dokument. Die Zelle A1 wird nun nicht gedruckt.
Es gibt mehrere alternative Methoden, um Zellen in Excel nicht zu drucken:
Zellenformatierung anpassen: Ändere das Zellenformat in ;;;
, sodass der Inhalt nicht angezeigt wird:
Private Sub Workbook_BeforePrint(Cancel As Boolean)
ActiveSheet.Range("A1").NumberFormat = ";;;"
End Sub
Druckbereich festlegen: Markiere den gesamten Bereich, den Du drucken möchtest, ausgenommen die Zelle, die Du nicht drucken möchtest. Gehe zu "Seitenlayout" und wähle "Druckbereich festlegen".
Um die Funktionalität zu demonstrieren, hier einige Beispiele:
;;;
, um den gesamten Inhalt auszublenden.Makros in Excel automatisieren: Du kannst Makros so einstellen, dass sie automatisch beim Öffnen oder Schließen der Datei ausgeführt werden.
Verwendung von Variablen: Wenn Du mehrere Zellen oder Bereiche hast, die Du nicht drucken möchtest, kannst Du Variablen verwenden, um den Code effizienter zu gestalten.
Dim rng As Range
Set rng = ActiveSheet.Range("A1, B1")
rng.NumberFormat = ";;;"
Testen der Druckvorschau: Nutze die Druckvorschau, um sicherzustellen, dass alles korrekt angezeigt wird, bevor Du den Druckauftrag abschickst.
1. Wie kann ich mehrere Zellen gleichzeitig nicht drucken?
Du kannst mehrere Zellen angeben, indem Du sie in einer Range zusammenfasst, z.B. Range("A1, B1, C1")
.
2. Funktioniert das auch in Excel Online?
Leider sind VBA-Makros nicht in Excel Online verfügbar. Du musst die Desktop-Version verwenden.
3. Was passiert, wenn ich die Datei schließe?
Die Änderungen am Zellenformat werden zurückgesetzt, wenn Du die Datei schließt, es sei denn, Du hast den Code korrekt in das VBA-Modul eingefügt.
4. Kann ich den Code auch für andere Zellen verwenden?
Ja, ändere einfach die Zellreferenz im VBA-Code, um andere Zellen anzupassen.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen