Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
472to476
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
472to476
472to476
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Makro abbrechen...

Makro abbrechen...
25.08.2004 23:29:00
MichiM
Nabend Leute,
jeden abend etwas neues :-)
Ich habe ein Makro, welches via Application.Run nacheinander andere Makros startet. Die Daten werden entsprechend der Voreinstellung zusammengestellt und ausgedruckt. Zum Abschluss wird in der jeweiligen Quelldatei das Druckdatum gespeichert.
Nun kann es ja vorkommen, dass der Druck fehlgeschlagen ist (Text unleserlich, falsches Papier, undundund). Dazu habe eine UserForm eingebaut, die nach jedem Druck fragt, ob der Druck OK ist. Bei OK wird das Datum gespeichert und das Makro läuft weiter.
Wie kann ich aber jetzt bei eine fehlerhaften Druck das Ursprungsmakro anhalten bzw. beenden (wodruch ja auch die hierdurch gestarteten Makros beendet würden)?
Application.Stop gibt es ja leider nicht :-)
Hat da einer ne Idee?
Gruss
MichiM

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Makro abbrechen...
26.08.2004 00:36:37
mealone
Hallo MichiM,
schau mal in der Hilfe unter
End-Anweisung
und/oder
Stop-Anweisung
nach danach solltest du die für dich passende entscheidung treffen können

AW: Makro abbrechen...
26.08.2004 22:52:04
MichiM
Entweder bin ich blind, oder es gibt einfach nichts passendes...
Folgender Code wird ausgeführt:
voran geht das Suchmakro:

Sub Auto_Kontoauszug_erstellen()
also, immer nachdem ein Datensatz gefunden wurde, wird der Code ausgeführt:

Sub Kopieren(Leile As Long)
'Kundennummer zwischenspeichern
Worksheets("Zwischenspeicher").Cells(15, 4) = _
Worksheets("Rechnungen").Cells(Leile, 1)
'Makros durchlaufen
'1. Rechnungsdaten suchen und einfügen (in Zwischenspeicher)
Application.Run "Auto_Ausdruck_Rechnungsdaten"
'2. Kundendaten suchen und einfügen
Application.Run "Auto_Ausdruck_Kundendaten"
'3. Auszug erstellen und drucken
If Worksheets("Zwischenspeicher").Cells(31, 8) = "" Then
Application.Run "Kontoauszug_erstellen"
Workbooks("DEBI_RE.xls").Sheets("VORLAGE_AUSZUG").Visible = True
Workbooks("DEBI_RE.xls").Sheets("Hauptmenü").Visible = False
Application.Dialogs(xlDialogPrinterSetup).Show
Worksheets("VORLAGE_AUSZUG").PrintOut
MsgBox "Kontoauszug wird gedruckt"
Workbooks("DEBI_RE.xls").Sheets("Hauptmenü").Visible = True
Workbooks("DEBI_RE.xls").Sheets("VORLAGE_AUSZUG").Visible = False
Else
Application.Run "Kontoauszug_erstellen2"
Workbooks("DEBI_RE.xls").Sheets("VORLAGE_AUSZUG2").Visible = True
Workbooks("DEBI_RE.xls").Sheets("Hauptmenü").Visible = False
Application.Dialogs(xlDialogPrinterSetup).Show
Worksheets("VORLAGE_AUSZUG2").PrintOut
MsgBox "Kontoauszug wird gedruckt"
Workbooks("DEBI_RE.xls").Sheets("Hauptmenü").Visible = True
Workbooks("DEBI_RE.xls").Sheets("VORLAGE_AUSZUG2").Visible = False
End If
'4. Auszug OK Abfrage
ufAUTO_AUSDRUCK_AUSZUG_ABFRAGE.Show
End Sub

In Auszug OK Abfrage öffnet sich nun eine UserForm, welche fragt, ob der Ausdruck OK ist.
Bei ja wird das Druckdatum gespeichert.
Bei Nein soll der o.g. Code angehalten werden. klicke ich in der suerForm auf das x rechts oben, wird der Code fortgesetzt ohne zu speichern.
Application.End beednet zwar das aktuelle Makro, aber nicht das ursprüngliche...
Kann mir da einer weiterhelfen?
Gruss
MichiM
P.S. Suche gerne in der Hilfe - da ich dieses Problem in dieser Variante nicht finden konnte, wäre es nett, wenn es dann ein direkter Link zu einem ergebniss ist - und nicht nur ein Hinweis auf die Suche... Danke
Anzeige
AW: Makro abbrechen...
27.08.2004 00:05:42
mealone
Hallo MichiM,
das mit der Excel Hilfe war nicht bös gemeint ich schreib nur ungern etwas auf was schon geschrieben steht
ich hoffe der hier hilft dir weiter

Private Sub UserForm_Terminate()
box = MsgBox("Abgefangen", vbOK)
End Sub

der reagiert auf das "x rechts oben"
Du solltest dann nur noch eine Variable füllen deren Abrage in anderen Codes diese entweder fortsetzen, unterbrechen oder anhalten
Gruss mealone

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige