Supportnet / Forum / Tabellenkalkulation
Makro für das Drucken mit Bedingung?
Frage
Hallo,
ich habe eine Makroschaltfläche zum Drucken eingerichtet. Jetzt möchte ich aber in dem Makro noch eine Bedingung einfügen, dass nur gedruckt wird, wenn in der Zelle A1 und A2 "ok" steht.
Wer kann mir sagen wie das Makro aussehen muß und vielleicht auch noch, wie ich, wenn nicht in beiden Zellen "ok" steht, eine Fehlermeldung erhalte(auch über das Makro)?
Vielen Dank im Voraus
Thunderd
Antwort 1 von nighty
hi all :)
ein beispiel
gruss nighty
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim beenden As String
If UCase(Cells(1, 1)) = "OK" And UCase(Cells(2, 1)) = "OK" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Else
beenden = MsgBox("ok fehlt in A1 oder A2" & Chr$(13) & _
Chr$(13), vbYes)
Cancel = True
End If
End Sub
ein beispiel
gruss nighty
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim beenden As String
If UCase(Cells(1, 1)) = "OK" And UCase(Cells(2, 1)) = "OK" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Else
beenden = MsgBox("ok fehlt in A1 oder A2" & Chr$(13) & _
Chr$(13), vbYes)
Cancel = True
End If
End Sub
Antwort 2 von thunderd
Hallo nighty,
danke für die Hilfe, aber leider erhalte ich immer die Fehlermeldung: Fehler beim Kompilieren. End Sub erwartet.
Ich habe die Formel so rein kopiert, wie Du sie aufgeschrieben hast.
Sub Makro1 ()
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim beenden As String
If UCase(Cells(1, 1)) = "OK" And UCase(Cells(2, 1)) = "OK" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Else
beenden = MsgBox("ok fehlt in A1 oder A2" & Chr$(13) & _
Chr$(13), vbYes)
Cancel = True
End If
End Sub
Thunderd
danke für die Hilfe, aber leider erhalte ich immer die Fehlermeldung: Fehler beim Kompilieren. End Sub erwartet.
Ich habe die Formel so rein kopiert, wie Du sie aufgeschrieben hast.
Sub Makro1 ()
Private Sub Workbook_BeforePrint(Cancel As Boolean)
Dim beenden As String
If UCase(Cells(1, 1)) = "OK" And UCase(Cells(2, 1)) = "OK" Then
ActiveWindow.SelectedSheets.PrintOut Copies:=1, Collate:=True
Else
beenden = MsgBox("ok fehlt in A1 oder A2" & Chr$(13) & _
Chr$(13), vbYes)
Cancel = True
End If
End Sub
Thunderd
Antwort 3 von fedjo
Hallo Thunderd ,
den Cote von nighty in "diese Arbeitsmappe" kopieren , aber ohne
Gruß
fedjo
den Cote von nighty in "diese Arbeitsmappe" kopieren , aber ohne
Zitat:
Sub Makro1 ()
Sub Makro1 ()
Gruß
fedjo

