AW: Rahmen farbig nur beim Drucken
03.06.2013 15:29:11
fcs
Hallo Ralf,
die beiden Makros gehören in ein allgemeines Modul.
Die Makros starten nicht automatisch.
D.h. im Handbetrieb
1. Makro RahmenDruckbereich_Rahmen_Orange starten
2. drucken
3. Makro RahmenDruckbereich_None starten.
Man könnte die Schritte 1 und 2 automatisieren, so dass vor dem Drucken der orangene Rahmen erzeugt wird. Dies ginge mit einem entsprechend konfigurierten Ereignismakro Workbook_BeforePrint().
'Makro unter DieseArbeitmappe
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Select Case ActiveSheet.Name
Case "Tabelle1", "TabelleABC" 'Namen anpassen/ergänzen
'In diesen Tabellenblättern einen orangenen Rahmen vor dem Drucken _
um den Druckbereich erstellen.
With ActiveSheet.Range("Druckbereich")
With .Borders(xlEdgeLeft)
.LineStyle = xlContinuous
.Color = -16727809
.TintAndShade = 0
.Weight = xlThick
End With
With .Borders(xlEdgeTop)
.LineStyle = xlContinuous
.Color = -16727809
.TintAndShade = 0
.Weight = xlThick
End With
With .Borders(xlEdgeBottom)
.LineStyle = xlContinuous
.Color = -16727809
.TintAndShade = 0
.Weight = xlThick
End With
With .Borders(xlEdgeRight)
.LineStyle = xlContinuous
.Color = -16727809
.TintAndShade = 0
.Weight = xlThick
End With
End With
Case Else
'do nothing
End Select
End Sub
Danach muss dann noch das Makro zum entfernen des Rahmens gestartet werden.
Du könntest den gesamten Druckvorgang automatiseren, indem du per Makro druckst, statt über die Menüschaltflächen.
'zusätzliches Makro im allgemeinen Modul
Sub Drucken_mit_Rahmen()
Dim wks As Worksheet
Set wks = ActiveSheet
With wks
If .PageSetup.PrintArea "" Then
Call RahmenDruckbereich_Rahmen_Orange
End If
.PrintOut preview:=True 'Drucken mit Seitenvorschau
If .PageSetup.PrintArea "" Then
Call RahmenDruckbereich_None
End If
End With
End Sub
Gruß
Franz