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

Worbook_open startet nicht richtig

Worbook_open startet nicht richtig
Andy
Hallo zusammen,
ich habe folgendes Problem:
Ich habe eine Excel Datei in der es mehrere Arbeitsblätter gibt in denen nach
Eingabe von Daten automatisch Makros gestartet werden.
Zusätzlich ist im Workbook_open eine Routine programmiert, die mir je nach Wochentag gleich die richtige Tabelle öffnet.
So das ganze funktioniert soweit einwandfrei sofern keine Daten in den Tabellen
sind, die die Makros starten das heisst workbook_open ist beim start das einzige, das ausgeführt wird. Wenn ich jetzt aber Daten in die Tabellenblätter
eingebe werden die natürlich beim start aktuallisiert und dann hab ich das
Problem den jetzt führt er scheinbar workbook_open nicht mehr aus.
Das glaube ich aber nicht, sondern das Problem liegt darin (vermute ich) da
erst das Tabellenblatt neu berechnet wird führt excel zwar worbook_open aus
kann das Tabellenblatt aber nicht wechseln weil es in bearbeitung ist und nachdem die bearbeitung fertig ist ist natürlich workbook_open auch erledigt
und somit kann der Tabellenwechsel nicht mehr ausgeführt werden.
Starte ich jetzt workbook_open manuell an dann macht er den wechsel richtig.
So jetzt meine Frage wie kann ich das Problem umgehen.
Lösungsansätze hatte ich auch schon aber keine hat richtig funktioniert.
z.b. Zeitgesteuertes Makro
ich hoffe mir kann bei diesem Problem jemand helfen.
Gruss Andy
Ps: wer Rechtschreibfehler findet darf sie behalten

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

Betreff
Benutzer
Anzeige
Vermutung / Ansatz ...
13.04.2004 23:00:04
Volker
Hallo Andy,
ohne Deinen Code zu kennen, vermute ich auch, dass Dein Problem durch verschiedene Aktionen bzw. wechselseitiges Ausloesen von Makros/Berechnungen entsteht.
Schau Dir mal Application.EnableEvents = True / False an, vielleicht hilft Dir dies schon weiter.
Zum Eingrenzen des Problemes geh doch mal mit F8 im Einzelschrittmodus durch Dein "Workbook_open". Dann kannst Du genau sehen was, wann, wo passiert.
Gruss
Volker Croll
www.crolltools.decolor>
AW: Worbook_open startet nicht richtig
harry
hi andy,
deaktivier einmal in den optionen im register "berechnen" alles, was auf automatisch berechnen bzw. aktualisieren hindeutet (hab off xp, weiss nicht, was bei deiner version möglich ist). wenns dann funkt, deaktivier diese optionen mit vba am beginn der workbook open und aktivier sie am ende wieder.
liebe grüße,
harry
Anzeige
AW: Worbook_open startet nicht richtig
14.04.2004 08:42:23
Andy
Ersmal Danke an Volker und harry,
Application.EnableEvents hat nicht funktioniert
die Idee von Harry funktionierte teilweise.
Das Problem ist am Anfang von Workbook_open habe ich folgenden Code eingegeben.
With Application
.Calculation = xlManual
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
und am Ende
With Application
.Calculation = xlAutomatic
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
hat so leider auch nicht funktioniert.
Dan habe ich noch zusätzlich folgendes eingegeben.

Private Sub Workbook_BeforeClose(Cancel As Boolean)
With Application
.Calculation = xlManual
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
End Sub

danach hat es zumindest so lange funktioniert, wie ich keine andere Execldatei offen hatte. War aber zusätzlicheine Exceldatei geöffnet in der die Automatische Berechnung eingeschaltet war, dann ging die ganze Geschichte wieder nicht.
Also habe ich folgendes gemacht.
Am Anfang von Worbook_open diesen Code eingegeben:
With Application
.Calculation = xlManual
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
und am Ende nichts mehr.
Dann zusätzlich eine neue Sub eingefügt mit diesem Code:

Private Sub Workbook_SheetChange(ByVal Sh As Object, ByVal Target As Excel.Range)
With Application
.Calculation = xlAutomatic
.MaxChange = 0.001
End With
ActiveWorkbook.PrecisionAsDisplayed = False
End Sub

jetzt wird die Automatische Berechnung erst wieder eingeschaltet wenn ich in irgend
einem Tabellenblatt etwas ändere .... reicht mir im Moment auch ist aber meiner
Meinung nach nicht die elegante Lösung weiss vieleicht jemand eine bessere
Bin für jeden Vorschlag dankbar.
Gruss Andy
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige