Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1008to1012
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
Inhaltsverzeichnis

Select in BeforeSave funktioniert nicht. Bug?

Select in BeforeSave funktioniert nicht. Bug?
10.09.2008 21:29:57
Stefan


Hi!
Hab grad ein sehr merkwürdiges Problem. Vielleicht hat das von euch schon mal wer gesehen und weiß woran das liegt.
Die Select-Methode auf ein Worksheet Objekt funktioniert in einem bestimmten Fall nicht. Und zwar wenn sie in einer Sub aufgerufen wird, die von Workbook_BeforeSave aufgerufen wird, das ausgelöst wird, weil in einer anderen Sub ThisWorkbook.Save aufgerufen wurde.
Also folgende drei Methoden gibt es:



Sub InitialeMethode()
ThisWorkbook.Save
End Sub
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As Boolean)
Call Modul2.selectOtherSheet
ThisWorkbook.Saved = True
Cancel = True
End Sub
Sub selectOtherSheet()
ActiveWorkbook.Sheets("data").Select
End Sub



Wenn man die InitialeMethode aufruft, funktioniert das Select in selectOtherSheet nicht!
Wenn man die InitialeMethode auslässt und einfach nur speichert, funktioniert das Select.
Hier könnt ihr euch meine Excel-Datei, die eigentlich nur noch diese paar Zeilen Code enthält, runterladen: https://www.herber.de/bbs/user/55306.xls
Vielleicht fällt jemandem was dazu ein. Ich seh hier im Code nämlich wirklich kein Problem.
Stefan


5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Select in BeforeSave funktioniert nicht. Bug?
10.09.2008 21:58:00
Lars
Hi,
ergibt sich die Frage nach der Sinnhaftigkeit des Ganzen.
mfg Lars
AW: Select in BeforeSave funktioniert nicht. Bug?
10.09.2008 22:09:00
Stefan


Hey,
ja wenn ich es jetzt so gekürzt sehe, sieht's wirklich nicht mehr sehr sinnvoll aus :)
Ich hatte das Problem aber in einer komplexen Anwendung drinnen. Bei einer bestimmten Aktion wird eben gespeichert. Es gibt unterschiedliche Arten von Andwendungsdaten, die gespeichert werden sollen, was jeweils verschiedene Methoden übernehmen, die in der Workbook_BeforeSave Methode aufgerufen werden. Und in einer dieser Speicher-Methoden wollte ich das Tabellenblatt wechseln.
So sieht's aus. Ich habe hier das Problem nur runtergebrochen, damit es einfacher zu erkären ist :)
Ich kann das Problem auch umgehen, es interessiert mich aber, was da schief läuft.
Stefan


Anzeige
Copy in BeforeSave funktioniert auch nicht.
10.09.2008 22:11:00
Tobias
Hallo Stefan!
copy (und wahrscheinlich einige andere Befehle) geht auch nicht.
Gruß, Tobi
http://vba-blog.de/
Private Sub Workbook_BeforeSave(ByVal SaveAsUi As Boolean, Cancel As Boolean)
    ActiveSheet.Range("A1").Copy Sheets("data").Range("A1")
    Call selectOtherSheet
    ThisWorkbook.Saved = True
    Cancel = True
End Sub
Aber das funktioniert schon...
Tobias


Sub InitialeMethode()
Call Workbook_BeforeSave(True, True)
ThisWorkbook.Save
End Sub


AW: Aber das funktioniert schon...
Stefan


Ah, interessant. Das hatte ich noch nicht probiert.


Anzeige
Aber das funktioniert schon...
10.09.2008 22:14:00
Tobias

Sub InitialeMethode()
Call Workbook_BeforeSave(True, True)
ThisWorkbook.Save
End Sub


AW: Aber das funktioniert schon...
11.09.2008 10:41:00
Stefan


Ah, interessant. Das hatte ich noch nicht probiert.


306 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige