Geht auch einfacher …
Moin Kerstin,
Dein Problem ist nicht neu - das kam schon öfters hier in den vergangenen knapp sieben Jahren
Aber ich habe erst jetzt mal geguckt, was man da machen kann und bin auf eine einfache Lösung gestossen, wenngleich auch nicht ohne Makro. Der Vorteil ist, dass man als Nutzer nichts davon merkt und drucken kann, wie man will:
Private Sub Workbook\_BeforePrint(Cancel As Boolean)
Cells(2, 3).Value = Cells(2, 3).Value + 1
End Sub 'Workbook\_BeforePrint
Das ist schon alles. Um das ein bissl zu demonstrieren, habe ich mal noch ein paar Zeilen drumherum gestrickt:
Private Sub Workbook\_BeforePrint\_(Cancel As Boolean)
Dim Meldung As String
Dim Counter As Integer
Const x As Byte = 2
Const y As Byte = 2
Cells(y + 0, x).Value = "Gedruckt:"
Cells(y + 1, x).Value = "Abgebrochen:"
Meldung = "Soll das Arbeitsblatt """ & ActiveSheet.Name & """ wirklich gedruckt werden?"
If (MsgBox(Meldung, vbYesNo, "Sicherheitsabfrage") = vbYes) Then
Cancel = False
Counter = Cells(y + 0, x + 1).Value
Cells(y + 0, x + 1).Value = Counter + 1
Else
Cancel = True
Counter = Cells(y + 1, x + 1).Value
Cells(y + 1, x + 1).Value = Counter + 1
End If 'MsgBox
Cancel = True 'Nur zum Testen, damit nicht immer gleich gedruckt wird.
End Sub 'Workbook\_BeforePrint
Das sollte eine Lösung sein. Leider eben nur mit Makro - das heisst, dass es nicht funktioniert, wenn man diese beim Öffnen der Datei deaktiviert.
Viele Grüße aus Köln,
Kristian