Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
212to216
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
212to216
212to216
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Hilfe! Workbook_BeforeClose

Hilfe! Workbook_BeforeClose
06.02.2003 16:06:42
Küchler
hi!
ich hatte heute mittag ein problem dass ich durchs forum lösen wollte. leider störte mich mein chef beim weiterkommunizieren und nun sind die beiden die mir so gut geholfen haben leider nicht mehr online oder sehen meine neuen hilferufe nicht mehr. aber das problem besteht immer noch. also wer mir helfen kann, bitte tut dieses!!!!

zum verständnis folgt nun die ausgangsfrage und die letzte antwort.

wenn ich in einer datei etwas eingegeben habe, will ich das verlassen dieser datei nur über einen commanbutton zulassen der diese speichert und schließt. jetzt gibt es ja viele möglichkeiten eine datei zu schließen (oben rechts X oder beenden in Datei der menüleiste). nach einem tipp versuchte ich es mit der auto_close funktion in dem modul-verzeichnis der datei. nun kommt auch jedesmal die msgbox das man nur über diesen knopf beenden soll, doch beim ok drücken dieser meldung schließt sie trotzdem!!! wie bekomme ich das hin, dass egal welchen weg ich zum schließen benutze die meldung kommt und anschließend ich wieder in der datei bin, ohne das sie geschlossen wird?

hier der bisherige code im modul-verzeichnis der datei:

sub auto_close()
MsgBox("BITTE VERLASSEN SIE DIE TABELLE ÜBER DEN ......")
End sub


dies war meine erste frage, es folgten mehrere antworten. es klappte ganz gut, bis auf das ich jetzt die datei gar nicht mehr zu kriege. X, "Datei" - "Schliessen", Alt F4 aber auch mein CommandButton können nicht mehr zum verlassen der datei benutzt werden. der letzte code der kam lautete:

In DieseArbeitsmappe:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If bolClose = False Then
MsgBox ("Bitte über den Button schließen")
Cancel = True
End If
End Sub

In ein Modul:

Public bolClose As Boolean

Sub Schliessen()
bolClose = True
ActiveWorkbook.Save
ActiveWorkbook.Close
bolClose = False
End Sub

doch leider klappt das auch nicht, (es wurde true mit false gewechselt!) tja und nun ?!?!?!?!

wer den gesmaten verlauf lesen möchte, der kann ab 6.2.03 12.17Uhr mal reinschauen. vielen dank im voraus..


11
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Re: Hilfe! Workbook_BeforeClose
06.02.2003 16:15:08
Hajo_Zi
Hallo Küchler

Schreibe nicht ActieWorkbook sondern ThisWorkbook, da gibt es schon einen Unterschied.

Eigentlich sieht der Code sonst ok aus. Ich habe es jetzt nicht getestet.

gespeichert kann aber noch unabhängig.

Gruß Hajo

Re: Hilfe! Workbook_BeforeClose
06.02.2003 16:27:05
Küchler
hi!

vielen dank für den tipp, aber leider kann ich immer noch nicht die datei verlassen. ich hoffe es gibt noch ein paar optionen die wir probieren können !

Re: Hilfe! Workbook_BeforeClose
06.02.2003 16:32:34
Hajo_Zi
Hallo Küchler

ich habe jetzt aúf der Tabelle einen CommandButton aus der Steuerelemente Tollbox angeordnet und folgender Code läuft Fehlerfrei


' **************************************************************
' Modul: DieseArbeitsmappe Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If bolClose = False Then
MsgBox ("Bitte über den Button schließen")
Cancel = True
End If
End Sub


' **************************************************************
' Modul: Tabelle1 Typ = Element der Mappe(Sheet, Workbook, ...)
' **************************************************************

Option Explicit

Private Sub CommandButton1_Click()
Schliessen
End Sub


' **************************************************************
' Modul: Modul1 Typ = Allgemeines Modul
' **************************************************************

Option Explicit
Public bolClose As Boolean

Sub Schliessen()
bolClose = True
ActiveWorkbook.Save
ActiveWorkbook.Close
End Sub

Code eingefügt mit: Excel Code Jeanie

Code Jeanie
Frage
Das Umsetzen nach Html klappt perfekt, auch die Ansicht in den Foren ist gegeben. Bei manchen Foren kann man aber anscheinend nicht den dargestellten Code nach VBA rückkopieren. Warum?
Antwort
Dies liegt nicht an der Code Jeanie !!! Manche Foren interpretieren anscheinend < pre > < /pre > Tags nicht richtig und erzeugen am Zeilenende einen weichen Zeilenumbruch anstatt eines harten Zeilenumbruches. Dies führt dazu, dass im VBA-Editor die Zeilen hintereinander geschrieben werden. Zum Rückkopieren in solchen Fällen: Fügen Sie den kopierten Code aus dem Forum nach Word ein, kopieren Sie ihn dort wieder und fügen Sie ihn dann im VBA - Editor ein

Gruß Hajo

Anzeige
Re: Hilfe! Workbook_BeforeClose
06.02.2003 16:51:59
Küchler
also,

ich habe alles soweit verändert, nun kann ich leider nicht probieren ob es funktioniert, weil der commanbutton noch eine weitere anweisung durchlaufen soll. er soll vor dem speichern und schliessen noch in eine andere excel datei und einem bestimmten tabellenblatt wechseln.

vor deinem vorschlag sah der code des buttons wie folgt aus:

Option Explicit

Private Sub CommandButton1_Click()

Workbooks("StartTest4.xls").Sheets("Startseite").Activate
Workbooks("1.Gespräch03.xls").Close SaveChanges:=True

End Sub


alles hat funktioniert. nun habe ich die veränderungen vorgenommen, die wie folgt aussehen:

Option Explicit

Private Sub CommandButton1_Click()

Workbooks("StartTest4.xls").Sheets("Startseite").Activate
Schliessen

End Sub


als fehler wird LAUFZEITFEHLER 9 "Index ausserhalb des gültigem bereichs" angegeben. und es wird die zeile "Workbook("Start....." gelb markiert.

was ist denn nun wieder falsch, ich wäre ohne deine hilfe völlig aufgeschmissen, denn dies überschreitet meine erfahrungen mit vba bei weitem. also, vielen dank nochmals im voraus!


Anzeige
Re: Hilfe! Workbook_BeforeClose
06.02.2003 16:56:41
Hajo_Zi
Hallo Küchler

hast Du die Eigenschaft des CommandButton TakeFokusOnKlick auf False gesetzt??

Das Workbook brauchte in der Anweisung nicht angegeben werden, da es ja ThisWorkbook ist

Gruß Hajo

Re: Hilfe! Workbook_BeforeClose
06.02.2003 17:03:51
Küchler
ich nochmal:

also TakeFocusOnClick steht bei mir aus true (und was heißt das jetzt?)

und

das workbook wohin gewechselt werden soll, ist ja nicht das was gespeichert wird.
dieses workbook ist zwar schon offen (da ich von dort aus mittels combobox zu der zuschliessenden datei gekommen bin) es würde aber das falsche tabellenblatt angezeigt werden. drum soll die sogenannte "Startseite" angezeigt werden, damit man wieder neue auswahlen treffen kann.

also muss ich doch workbook schreiben, oder !?

Anzeige
Re: Hilfe! Workbook_BeforeClose
06.02.2003 17:07:05
Hajo_Zi
Hallo Küchler

dann muß Workbook bleiben.

"also TakeFocusOnClick steht bei mir aus true (und was heißt das jetzt?)" das der Cde nicht läuft, sonst hätte ich ja nicht false geschrieben. Ob das Activate zu einer anderen Datei klappt bin ich mir nicht sicher.

Auf Select, Activate kann in VBA zu 99% verzichtet werden.

Gruß Hajo

Re: Hilfe! Workbook_BeforeClose
06.02.2003 17:13:20
Küchler
ahh, so langsam kommt licht ins dunkle.

also, es gibt nun keine fehlermeldungen mehr,und es funktioniert nun fsat alles bis auf das das falsche tabellenblatt angezeigt wird. ich lande nach dem speichern und schliessen meiner datei2 zur datei1 tabellenblatt2, ich würde aber gerne zum tabellenblatt1 (heißt "Startseite"), wieso springt er nicht zu diesem obwohl es so drinsteht!?

Anzeige
Re: Hilfe! Workbook_BeforeClose
06.02.2003 17:18:23
Hajo_Zi
Hallo Küchler

das war ja auch das was ich geschrieben hatte. Mit CommandButton ein Activate auf eine andere Datei, ob das geht.

läst Du vorher irgendwelche anderen Makros laufen??

Dann stelle es dort um bzw. verzichte in Deinem Code auf Select, Activate und ähnliche Befehle.

Gruß Hajo

Re: Hilfe! Workbook_BeforeClose
06.02.2003 17:31:14
Küchler
zu deiner ersten frage: in dieser datei (die gespeichert und geschlossen werden soll) läuft sonst kein makro. nur dieser button!

und ich habe jetzt mal das activate aus dem tabellenblatt herausgenommen. nun gibt es eine fehlermeldung "Fehler beim Kompilieren" "ungültige verwendung einer eigenschaft". der code im tabellenblatt sieht wie folgt aus:

Option Explicit

Private Sub CommandButton1_Click()
Schliessen
Workbooks("StartTest4.xls").Sheets ("Startseite")
End Sub


darüber hinaus hatte ich vorher das Activate vor dem Workbook im Modul herausgenommen, da kam die fehlermeldung Variable nicht definiert! das habe ich erstmal wieder rückgängig gemacht.

ich hoffe ich stresse nicht zu sehr!

Anzeige
Re: Hilfe! Workbook_BeforeClose
06.02.2003 17:55:03
Küchler
so das wars!

ich habe etwas rumexperimentiert und siehe da es klappt. ABER VIELEN DANK DAS DU MICH, HAJO, SOWEIT GETRIEBEN HAST !!! für dich und alle anderen die es interssieren könnte:

ich habe den code im modul wie folgt angepast:

Option Explicit

Public bolClose As Boolean

Sub Schliessen()
bolClose = True
Workbooks("1.Gespräch03.xls").Close SaveChanges:=True

End Sub


das activate am ende der workbook... zeile im tabellenblatt des jeweiligen buttons habe ich stehen lassen.

code vom button .

Option Explicit

Private Sub CommandButton1_Click()

Workbooks("StartTest4.xls").Sheets("Startseite").Activate
Schliessen

End Sub


so, ich hoffe das es nun wirklich überall funktioniert. also schönen dank und bis zur nächsten frage !!!!

schönen abend noch.
Küchler

Anzeige

85 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige