Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1364to1368
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Info ob gedruckt wurde

Info ob gedruckt wurde
28.06.2014 06:32:32
Bernd
Wunderschönen guten morgen liebe Excelianer!
Habe da wieder mal eine Frage und benötige Eure Hilfe.
Ist es möglich auf einem Tabellenblatt eine Info einzurichten die bekannt gibt, ob diese Tabelle bereits ausgedruckt wurde?
Wenn ja, bitte um Mitteilung wie ich es machen kann.
Dann Danke ich im Voraus und wünsche einen ruhigen Samstag,
lg Bernd

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Info ob gedruckt wurde
28.06.2014 06:40:48
Raphael
Hallo Bernd,
im Bereich Workbooks gibt es das Event BeforePrint, mit dem kannst du Steuern was vor dem Druck geschehen soll. z.B.

Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Sheets("Tabelle1").Cells(1, 1).Value = "Gedruckt"
End Sub
Ich denke ohne VBA geht's nicht.
Gruess
Raphael

AW: Info ob gedruckt wurde
28.06.2014 06:47:45
Bernd
Hallo Raphael!
Danke für die rasche antwort. Bin kein VBA Profi aber ein wenig kenne ich mich aus. Da in Deinem Code "Tabelle1" steht, vermute ich, das funktioniert nur mit dieser. In meiner Exceldatei, habe ich aber eine nicht genau fixierte Anzahl von Tabellenblättern welche die Nummern 001 bis 500 haben könnten.
Habe Deinen Code probiert, und funktioniert wie gewünscht. Wenn es aber eine Möglichkeit gäbe, nachdem gedruckt wurde, eine MsgBox mit dem Hinweis das bereits gedruckt wurde, einzublenden, wäre ich Wunschlos glücklich.
Nur zur Info: Habe vorher im Netz gesucht, auch diverse Möglichkeiten gefunden, jedoch funktioniert kein wirklcih so richtig.
Danke und lg aus Kärnten wünscht
Bernd

Anzeige
AW: Info ob gedruckt wurde
28.06.2014 06:55:08
Bernd
Hallo Matthias!
Danke Dir für den Hinweis. Wie vorhin erwähnt, habe ich bereits etwas herumgesucht und auch den Beitrag Deines Links gefunden.
Nur mit diesem Beitrag, komme ich keinen Schritt weiter was dort gemeint wurde. Lasse deshalb den Beitrag offen.
lg Bernd

AW: Info ob gedruckt wurde
28.06.2014 06:58:44
Bernd
Nachtrag!
beim Code des Links, wird auf jedem Tabellenblatt, wenn eines vorher gedruckt wurde, angezeigt das gedruckt wurde, auch wenn ein Blatt nicht gedruckt wurde.
lg Bernd

Anzeige
AW: Info ob gedruckt wurde
28.06.2014 07:18:43
Raphael
Hallo Bernd,
wenn ich dich richtig verstehe, willst du wissen das ein bestimmtes Blatt (z.B. 487) bereits gedruckt wurde.
Die Lösungen die wir dir angeboten haben beziehen sich nur darauf ob die Datei gedruckt wurde, unabhängig vom Tabellenblatt.
Bei diesem Code bezieht sich die Abfrage auf das aktuelle Sheet. Teste es mal, evtl. reicht das ja schon.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet
If .Cells(1, 1).Value = "Gedruckt" Then
If MsgBox("Das aktuelle Tabelleblatt wurde bereits gedruckt, " _
& vbCrLf & "soll es noch einmal gedruckt werden?" _
, vbYesNo Or vbExclamation Or vbDefaultButton1, _
"Bereits gedruckt") _
= vbNo Then Cancel = True
Else
.Cells(1, 1).Value = "Gedruckt"
End If
End With
End Sub
Gruess
Raphael

Anzeige
eine TypeName-Abfrage wäre da auch noch sinnvoll
28.06.2014 08:27:51
Matthias
Hallo
Ich würde vor Deinem Code noch eine Abfrag schalten,
sonst kommt eine Fehlermeldung z.B beim Drucken eines Diagramms.
Also erst TypeName(ActiveSheet) abfragen.
Option Explicit
Private Sub Workbook_BeforePrint(Cancel As Boolean)
If TypeName(ActiveSheet) = "Worksheet" Then
With ActiveSheet
End With
End If
End Sub
Gruß Matthias

@ Raphael H & Matthias L
28.06.2014 08:48:22
Bernd
Hallo Raphael und Matthias!
Danke für Eure Hilfe. Der Vorschlag von Raphael wurde mal im Schnellverfahren von mir getestet, und ich muss sagen, ja es funktioniert erst mal. In Zelle A1 wird dabei immer Gedruckt eingetragen, muss ich schauen wie ich das ändern kann da in Zelle A1 in meinen Formularen etwas anderes steht, aber das probiere ich, nächste Woche wenn ich im Dienst bin, zuerst mal selber aus, soll ja ich auch etwas gefordert werden.
Vorschlag von Matthias habe ich auch probiert, wobei dann eine Fehlermeldung kommt. Ist aber weiter nicht schlimm, denn Diagramme oder so, werden eh nicht ausgedruckt.
Dann thx nochmals und ein schönes - hoffentlich Sonniges - Wochenende.
lg Bernd

Anzeige
AW: @ Raphael H & Matthias L
28.06.2014 19:30:57
Raphael
Hallo Bernd,
das anpassen ist ganz einfach
.cells(Hier die Zeilennummer schreiben, hier die Spaltennummer)
Also ist
.cells(1,1) = A1
.cells(2,1) = A2
.cells(1,2) = B1
.cells(2,2) = B2
etc.
Gruess
Raphael
P.S. einfach bei beiden .cells im Code anpassen

TypeName(ActiveSheet) ist unumgänglich
28.06.2014 21:19:50
Matthias
Hallo
Die Abfrage auf TypeName(ActiveSheet) ist unumgänglich.
Aber Du mußt schon selbst auf die Nase fallen um das zu akzeptieren.
Mach was Du für richtig hälst, aber beschwer Dich später nicht.
Gruß Matthias

AW: TypeName(ActiveSheet) ist unumgänglich
28.06.2014 23:09:53
Bernd
Hi,
Beschwerden werde ich mich sicher nicht, bin für jede Hilfe sehr dankbar. Leider ist es aber so, dass ich mit Deinem Tip nichts anfangen kann, da verstehe ich nur Spanisch, bin kein Profi, sorry.
Heisst aber jetzt nicht, dass ich es nicht versuchen werde umzusetzen, denn probieren werde ich es, also thx nochmals
lg Bernd

Anzeige
Erweiterung der Info
04.07.2014 05:25:53
Bernd
Hallo, und schönen Tag den Excelianern!
Schreibe einfach bei meiner alten Anfrage weiter, da es ja auch indirekt diesen Betrifft.
Habe ja bereits Superhilfe erhalten, welche auch so funktioniert, wie ich mir dachte.
Mich würde jetzt noch interessieren, ob es möglich ist, den VBA Code so zu erweitern, dass nachdem ausgedruckt wurde, auch der Nutzer, welcher druckte, eingetragen wird?
Mein jetziger (von Raphael erstellten) VBA Code sieht so aus:
~

Private Sub Workbook_BeforePrint(Cancel As Boolean)
With ActiveSheet
If .Cells(51, 1).Value = "Wurde bereits ausgedruckt" Then
If MsgBox("Das aktuelle Tabelleblatt wurde bereits gedruckt, " _
& vbCrLf & "soll es noch einmal gedruckt werden?" _
, vbYesNo Or vbExclamation Or vbDefaultButton1, _
"Bereits gedruckt") _
= vbNo Then Cancel = True
Else
.Cells(51, 1).Value = "Wurde bereits ausgedruckt"
End If
End With
End Sub
~
Mein Wunsch wäre das der Eintrag "Wurde bereits gedruckt" wie folgt verändert wird:
"Wurde bereits gedruckt von ...." (hintangestellt sollte dann der Bernutzername aus Excel angezeigt werden, oder eventuell die PC Kennung)
Wenn dies möglich ist, so würde ich um weitere Hilfe bitten.
Danke im Voraus und liebe Grüße,
Bernd

Anzeige
AW: Erweiterung der Info
04.07.2014 11:46:45
UweD
Hallo
so?
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim PZ As Range
Dim UserN$, UserId$
UserN = Application.UserName
UserId = Environ("Username")
Set PZ = ActiveSheet.Range("A1")
With PZ
If TypeName(ActiveSheet) = "Worksheet" Then
If Not .Comment Is Nothing Then
If InStr(.Comment.Text, "gedruckt von: ") > 0 Then
If MsgBox("Das aktuelle Tabelleblatt wurde bereits " _
& vbCrLf & .Comment.Text & " ," & vbCrLf _
& vbCrLf & "soll es noch einmal gedruckt werden?" _
, vbYesNo Or vbExclamation Or vbDefaultButton1, _
"Bereits gedruckt") _
= vbNo Then Cancel = True
End If
Else
.AddComment
.Comment.Text Text:="gedruckt von: " & vbCrLf & UserN & " / " & UserId
End If
End If
End With
End Sub
Gruß UweD
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige