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

warum geht das nicht automatisch ?

warum geht das nicht automatisch ?
18.12.2005 14:16:39
Peter
Hallo Excel Experten,
ich habe heute, am 4. Advent ein Problemchen, das ich allein nicht auf die Reihe bekomme.
Folgendes:
Ich habe in einem Modul eine Konstante - Public Const Jahreszahl As String “2006“
Von dieser Const werden in einem Tabellenblatt zwei Datumswerte mittels Function abgeleitet =DATUM(aktuellesJahr();1;1) bzw. =DATUM(aktuellesJahr();12;31).
Die Function sieht so aus:
Function AktuellesJahr()
AktuellesJahr = Jahreszahl
End Function
Wenn ich nun das Tabellenblatt aufrufe, nachdem ich die Const Jahreszahl geändert habe, sind meine beiden Datumswerte unverändert, noch im alten Jahr.
Erst wenn ich die Zellen doppelklicke wird das Datum aktualisiert.
Ich habe schon ein

Private Sub Worksheet_Activate()
Application.Calculation = xlCalculationAutomatic
End Sub

eingebaut, was aber auch nicht hilft.
Wie veranlasse ich Excel, die Datumswerte bei Aufruf des Tabellenblattes automatisch zu aktualisieren?
Für einen guten Hinweis schon einmal vielen Dank im voraus.
Gruß Peter

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: warum geht das nicht automatisch ?
18.12.2005 15:14:58
volker
hallo peter,
so wie du es beschrieben hast geht es bei mir.
bist du dir sicher daß die routine:

Private Sub Worksheet_Activate()
Application.Calculation = xlCalculationAutomatic
End Sub

ausgeführt wird?
du kannst ja mal schfeiben wenn du es getestet hast.
gruß volker.
AW: warum geht das nicht automatisch ?
18.12.2005 16:09:02
Peter
Hallo Volker,
wenn ich eine MsgBox Nachricht in das Activate einbaue und die auf dem Tabellenblatt bestätige (das Makro wird also durchlaufen), dann werden auch meine Datumswerte aktualisiert.
Kommentiere ich die MsgBox wieder aus, passier mit meinen Datumsfeldern gar nichts.
Schade eigentlich!
Viele Grüße Peter
Anzeige
AW: warum geht das nicht automatisch ?
18.12.2005 16:54:33
volker
hallo peter,
dann fällt mir auch nicht mehr viel dazu ein.
diese funktion worksheet_activate wird ja beim aktivieren eines ganz bestimmten arbeitsblatts aufgerufen.
kontrolliere das vielleicht mal ob es wirklich nur mit der msgbox gegangen ist oder ob du zufällig dann das arbeitsblatt aktiviert hast wo die worksheet_activate funktion dranhängt.
gruß volker.
AW: warum geht das nicht automatisch ?
18.12.2005 17:17:37
Peter
Hallo Volker,
ich weiß inzwischen folgendes:
wenn ich das Datum ändere und NICHT auf speichern klicke und dann das Tabellnblatt aufrufe, werden die Datumswerte aktualisiert.
Klicke ich das Icon speichern (die Diskette) nach dem Ändern der Jahreszahl an, und aktiviere dann das Tabellenblatt, werden die Datumswerte NICHT aktualisiert.
Viele Grüße Peter
Anzeige
AW: warum geht das nicht automatisch ?
18.12.2005 21:53:00
MichaV
Hallo,

Function AktuellesJahr()
Application.Volatile
AktuellesJahr = Jahreszahl
End Function

Gruß- Micha
PS: Rückmeldung wäre nett.
AW: warum geht das nicht automatisch ?
18.12.2005 22:14:14
volker
hallo ,
ich vermute daß excel wenn man eine konstante ändert und dann gleich speichert diese änderung später nicht mehr mitbekommt und vermutlich mit den einmal geholten werten arbeitet..
um das problem zu lösen müßtest du wei bei worksheet_activate auch bei workbook_BeforeSave die kalkulation anstoßen.

Private Sub Workbook_BeforeSave(ByVal SaveAsUI As Boolean, Cancel As Boolean)
Calculate
End Sub

dann dürfte es auch nach dem sofortigen speichern gehen.
gruß Volker.
Anzeige
AW: danke Volker
19.12.2005 10:45:00
Peter
Hallo Volker,
ich werde auch deinen Vorschlag ausprobieren.
Neben Application.Volatile von Micha ist das evtl. ebenfalls ein Weg zum gewünschten Ergebnis.
Viele Grüße Peter
AW: danke Micha
19.12.2005 10:43:19
Peter
Hallo Micha,
ich habe deinen Vorschlag Application.Volatile übernommen und er bringt das gewünschte Ergebnis.
Danke für den Hinweis.
Viele Grüße Peter

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige