Hallo Ihr Wissenden,
habe mal wieder ein Problem mit einer Programmierung.
In einer Datei, werden Faxe verwaltet und immer, wenn ein Mitarbeiter auf das Symbol DRUCKEN
drückt, wird ein Makro angestoßen., der bestimmte Zellen in ein anderes
Tabellenblatt kopiert. (ist zur Kontrolle, welches Fax wie oft im Monat gedruckt wurde)
Das habe ich über Workbook - BevorePrint realisiert.
Demnächst soll es aber so sein, daß die Zelle G8 ausgefüllt werden muß.
Das Fax darf nicht ausgedruckt werden, bis in der Zelle G8 etwas eingetragen wurde.
mein Probelm ist jetzt:
wenn die Zelle G8 leer ist, dann bekomme ich zwar meine Fehlermeldung und das darauffolgende Makro
wird nicht ausgeführt, Aber der PC druckt trotzdem ein leeres Fax aus.
Wie kann ich den Ausdruck solange unterbinden, bis der Benutzer in G8 etwas eingetragen hat.
Würde mich über jede Hilfe freuen.
Danke im Voraus.
Roland Stützer
Performence:
WinXP Proff.
Excel 2003
Habe mal zum besseren Verständnis ein Teil des Makros mit abgeschrieben.
Private Sub Workbook_BeforePrint(Cancel As Boolean)
fred = Range(„G8“)
If fred = 0 Then
MsgBox („Entscheidung fehlt - Achtung Zelle ist leer“)
ich will jetzt hier nicht groß rumprobieren und leere Seiten ausdrucken *g*
Aber hast Du schon mal versucht ein exit sub in den if fred = 0 Bereich mit reinzuschreiben?
Hier ist übrigens noch ein Makro, das mir gerade in die Hände fällt:
Sub FilePrint()
If BeforePrintCheck = True Then Dialogs(wdDialogFilePrint).Show
End Sub
Sub FilePrintDefault()
If BeforePrintCheck = True Then ActiveDocument.PrintOut Background:=False
End Sub
Private Function BeforePrintCheck() As Boolean
If ActiveDocument.ComputeStatistics(wdStatisticPages) = 1 Then
BeforePrintCheck = True
Else
MsgBox "Sie können nicht drucken. Das Dok darf nur eine Seite umfassen."
End If
End Function
habe mal wieder ein Problem mit einer Programmierung.
In einer Datei, werden Faxe verwaltet und immer, wenn ein
Mitarbeiter auf das Symbol DRUCKEN
drückt, wird ein Makro angestoßen., der bestimmte Zellen in
ein anderes
Tabellenblatt kopiert. (ist zur Kontrolle, welches Fax wie oft
im Monat gedruckt wurde)
Das Fax darf nicht ausgedruckt werden, bis in der Zelle G8
etwas eingetragen wurde.
mein Probelm ist jetzt:
wenn die Zelle G8 leer ist, dann bekomme ich zwar meine
Fehlermeldung und das darauffolgende Makro
wird nicht ausgeführt, Aber der PC druckt trotzdem ein leeres
Fax aus.
Wie kann ich den Ausdruck solange unterbinden, bis der
Benutzer in G8 etwas eingetragen hat.
Hi Roland,
Option Explicit
Private Sub Workbook\_BeforePrint(Cancel As Boolean)
Dim wsQuelle As Worksheet, wsZiel As Worksheet
Set wsQuelle = Sheets("Fax Rangierauftrag")
Set wsZiel = Sheets("Übersicht Faxe Regio-Bahn")
With wsZiel
If wsQuelle.Range("G8") = 0 Or wsQuelle.Range("G8") = "" Then
Cancel = True
MsgBox "Entscheidung fehlt - Achtung Zelle " & wsQuelle.Name & "!G8 ist leer"
Exit Sub
Else
Application.ScreenUpdating = False
.Unprotect "801824"
.Range("A2").EntireRow.Insert
.Range("A2").FormulaR1C1 = "=R[1]C+1" 'ggfs .Range("A2") = .Range("A3")
.Range("D2") = wsQuelle.Range("B11")
.Range("??") = wsQuelle.Range("B9")
'usw…
Application.ScreenUpdating = True
End If
End With
End Sub