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

Makro zum Beenden aller anderen Makros

Makro zum Beenden aller anderen Makros
17.05.2002 09:35:03
Patrick
Hallo,

ich hätte da wieder ein Problem.

Ich habe in ein Formular mehrere Makros eingebunden. Es handelt
sich hierbei um Makros die die Eingabe in mehreren Feldern erzwingt. Die Makros hab ich so hinterlegt das sie aufgerufen werden wenn jemand die Datei speichert. Jetzt habe ich das Problem wenn jemand in dieses Formular reingeht und es ohne alle
Felder auszufüllen wieder verlassen will das er nicht mehr rauskommt. (ist ja auch irgentwie klar -> Erzwingung der Eingabe).

Ich bräuchte jetzt praktisch ein Makro das alle anderen deaktiviert und excel ohne Speicherung beendet. Diese Funktion
möchte ich nach Möglichkeit auf eine Schaltfläche legen.

Kann mir bitte bitte einer helfen !!!!!!!!! DRINGEND !!!!

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Makro zum Beenden aller anderen Makros
17.05.2002 10:12:52
Matthias V.
Guten Morgen!

Habe ich das richtig verstanden, dass Du eine Art "Abbrechen"-Button haben möchtest?

Wenn ja, dann füge einfach einen CommandButton ein.

Hinterlege einfach folgende Zeilen:

Private Sub CommandButton1_Click()

Unlaod UserForm

End Sub

Ich hoffe, dass das Dir ein wenig weiterhilft!

Gruß

Matthias V.

Re: Makro zum Beenden aller anderen Makros
17.05.2002 10:30:43
Patrick
Hallo Matthias,

ne leider funktioniert das nicht so !!!!

Ich versuchs nochmal zu erklären:
Habe ein Formular mit mehreren Feldern die ausgefüllt werden müssen. So habe jetzt in VBA für jedes Feld ein Makro in "Diese Arbeitsmappe" mit Befehl Workbook_BeforeClose angelegt. Wenn nun
jemand versucht das Formular abzuspeichern geht eine MdgBox auf mit dem Inhalt das das jenige Feld nicht ausgefüllt ist und geht
wieder zurück zum Formular. Diese Prozedur läuft so lange bis alle "Muß-Felder" ausgefüllt sind - erst dann kann gespeichert werden.

Jetzt habe ich das Problem:
Wenn jemand in dieses Formular reingeht es ausfüllt und zwischenzeitlich merkt das er es gar nicht braucht und einfach
Excel beenden will kommt er nicht raus - weil immer die Prüfung durchgezogen wird. D.h. es erscheinen immer diese Fenster - und
da der Nutzer nichts eintragen will kommt er auch nicht raus.

Ich wollte nun eine Schaltfläche im Formular einfügen die es dem
Nutzer ermöglicht wenn er eben bemerkt das er das Formular nicht ganz ausfüllen will einfach auf diesen Button zu klicken und das Formular somit beenden (ohne Eingabe aller Felder) kann.

Ich denke die Schaltfläche müßte wohl die Funktionen

"Prüfmakro" deaktivieren +
Beenden Excel

enthalten.

Wäre spitze wenn du mir helfen könntest.

Danke im voraus

Patrick


Anzeige
Re: Makro zum Beenden aller anderen Makros
17.05.2002 11:19:01
Matthias V.
Man könnte es höchstens so machen, dass man direkt am Anfang den Anwender fragt, ob er "Änderungen" vornehmen möchte:

Private Sub Workbook_BeforeClose(Cancel As Boolean)

Dim antwort

antwort = MsgBox("Wollen Sie Änderungen vornehmen?", vbYesNo, "Ädnderungen vornehmen?")
If antwort = vbYes Then
'hier können nun die Makros ablaufen
End If

End Sub

Bringt Dich das evtl. weiter?

Gruß

Matthias V.

Re: Makro zum Beenden aller anderen Makros
17.05.2002 11:35:17
Patrick
Ne leider wieder nicht !!!

Habe mir schon gedacht das das etwas knifflig ist !!!

Patrick

Re: Makro zum Beenden aller anderen Makros
17.05.2002 11:39:18
Matthias V.
Hmmm... langsam bin ich mit meinem Latein am Ende!

Was genau passiert denn, wenn Du alle Makros in die If-Abfrage einbaust? Werden sie trotzdem ausgeführt?


Gruß

Matthias V.

Anzeige
Re: Makro zum Beenden aller anderen Makros
17.05.2002 12:01:30
Patrick
So schaut mein Makro aus:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If Worksheets("Auftragsformular").Range("L4") = "" Then
MsgBox ("Der Text"0, "Bezeichnung Dialog-Box"
Cancel = True
End If
.
.

Habe ca. 10 Stück hintereinander. Das funktioniert wunderbar aber eben das rauskommen. Hab dir ja die Problematik geschildert.

Patrick

Re: Makro zum Beenden aller anderen Makros
17.05.2002 12:07:51
Matthias V.
Also, ich meinte das so, dass Du alles in die If-Abfrage einbaust, etwa so:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Dim antwort

antwort = MsgBox("Wollen Sie Änderungen vornehmen?", vbYesNo, "Ädnderungen vornehmen?")
If antwort = vbYes Then
If Worksheets("Auftragsformular").Range("L4") = "" Then
MsgBox ("Der Text"0, "Bezeichnung Dialog-Box"
Cancel = True
End If
End If

End Sub


Kann das evtl. passen?

Gruß

Matthias V.

Anzeige
Re: Makro zum Beenden aller anderen Makros
17.05.2002 12:21:53
Patrick
Ne leider hat deines nicht funktioniert !!!!

Aber ich habe was gefunden:

Ich hab einfach aus dem Workbook_BeforeClose ein _BeforeSave gemacht und schon ist es möglich auch vorher abzubrechen.

Jetzt kann ich einfach eine Schaltfläche machen und die mit einem Excel beenden Makro belegen.

Kannst du mir den Code dafür sagen !!! Ein ganz einfaches Makro
zum Beenden von Excel.

Re: Makro zum Beenden aller anderen Makros
17.05.2002 12:44:51
Matthias V.
Reicht es auch, wenn nur die ganze Arbeitsmappe geschlossen wird?

Dann heißt das:

Workbooks(Name).close


Gruß

Matthias V.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige