Anzeige
Archiv - Navigation
752to756
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
752to756
752to756
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

JETZT - autom. Aktualisierung, wegen Wenn-Abfrage

JETZT - autom. Aktualisierung, wegen Wenn-Abfrage
06.04.2006 11:31:28
Bjoern
Hallo,
ich habe folgendes Problem - sehr vereinfacht dargestellt, da sich das Problem über mehrere Sheets und verschiedene Uhrzeiten verteilt. Aber es geht mir ja um eine grundlegende Lösung!
Mittels der Funktion =Jetzt()-Heute() wird in einer Zelle die aktuelle Systemzeit zum Zeitpunkt der Eingabe eingetragen: Beispielergebnis Zelle A1 = 11:59
In der Zelle B1 habe ich eine Wenn-Abfrage: vereinfachte Beispielsabfrage
Wenn A1 &lt= 12:00 dann Vormittag sonst Mittag.
Das Problem ist, dass sich "natürlich" die Funktion in der Zelle A1 nicht automatisch aktualisiert - und entsprechend ändert sich nicht das Ergebnis der Wenn-Abfrage, weshalb sich die darauf basierende Berechnung nicht ändert...
Die erste Lösung ist natürlich F9 Taste zur Neuberechnung zu drücken. Da, wie am Anfang beschrieben, sich das Problem über mehrere Sheets und verschiedene Uhrzeiten erstreckt, ist dies natürlich nicht sehr praktikabel - es kann ja mal ein Sheet vergessen werden und dadurch die zeitabhängige Berechnung falsch durchgeführt werden.
Die Frage ist, ob man um ein Makro herumkommt - oder muss ein Makro geschrieben werden, dass z. B. alle halbe Stunde die Zelle aktualisiert, damit die Wenn-Abfrage - die für eine zeitabhängige Berechnung die Grundlage ist - aktualisiert wird.
Würde mich freuen, wenn ich hier eine Hilfestellung bezüglich der automatisierten Aktualisierung erhalte.
Für die Hilfestellungen bedanke mich schon vorab.
Bjoern

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: JETZT - autom. Aktualisierung, wegen Wenn-Abfr
06.04.2006 12:06:36
EtoPHG
Hallo Bjoern,
Du kommst vermutlich nicht um VBA rum...
Aus Deiner Fragestellung geht nicht ganz klar hervor, ob denn die Aktualisierung immer stattfinden soll, d.h. auch dann wenn der Benutzer KEINE Eingaben oder Änderungen am Blatt macht.
Wenn es lediglich durch das Wechseln von Tabellenblätter geht hilft schon folgendes im Modul "DieseArbeitsmappe":

Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Application.Calculate
End Sub

Wenn Ohne Benutzereingriff gearbeitet werden sol, musst Du einen Timer aufsetzen der in bestimmten Zeitintervallen die Application.Calculate Methode aufruft.
Gruss Hansueli
Anzeige
AW: JETZT - autom. Aktualisierung, wegen Wenn-Abfrage
06.04.2006 12:16:43
Bjoern
Hallo Hansueli,
schon mal vielen Dank. Die Änderung / Aktualisierung soll vollkommen unabhängig von einem Anwender erfolgen. Der Anwender soll eigentlich gar nicht mitbekommen, ob es jetzt Vormittag oder Mittag ist bzw. die Berechnung für den Vormittag bzw. für den Mittag erfolgt.
Die optimale Lösung aus meiner Sicht ist wie folgt:
Die entsprechenden Excel-Dateien mit Ihren unterschiedelichen Blättern werden vom Anwender geöffnet und zur entsprechenden Uhrzeit (z. B. 11:00 Uhr, 11:20 Uhr, 12:00 Uhr, 12:45 Uhr ...) wird automatisch die Berechnungsgrundlage auf dem jeweiligen Tabellenblatt einer oder mehrere Exceldatei(en) (von "Vormittag" auf "Mittag") geändert - ohne das der Anwender daran denken muss, ein Makro zu starten ...
Für weitere Fragen stehe ich natürlich gerne zur Verfügung und bedanke mich für Anregungen.
Bjoern
Anzeige
AW: JETZT - autom. Aktualisierung, wegen Wenn-Abfr
06.04.2006 13:24:01
EtoPHG
Hallo Bjoern,
Die Anforderungen sind noch immer ein wenig unklar, aber ich nehme mal an, dass die Exceldatei tatsächlich geöffnet werden.
Also ins Modul "DieseArbeitsmappe":

Private Sub Workbook_BeforeClose(Cancel As Boolean)
If dNextRefresh > 0 Then Application.OnTime dNextRefresh, "nextRefresh", , False
End Sub


Private Sub Workbook_Open()
Call nextRefresh
End Sub

und ins Standardmodul z.B. "Module1"

Public dNextRefresh As Double
Public Sub nextRefresh()
Application.Calculate
dNextRefresh = Now() + TimeSerial(0, 10, 0)
Application.OnTime dNextRefresh, "nextRefresh", , True
End Sub

Damit wird die Mappe alle 10 Minuten refreshed.
Gruss Hansueli
Anzeige
Lösung da - vielleicht gibt es noch eine bessere..
06.04.2006 13:33:38
Bjoern
Hi Hansueli,
ich bedanke mich für Deine Unterstützung. Ja, die Exceldateien werden vom Anwender arbeitstäglich geöffnet.
Eine Lösung ohne Makro scheint wohl leider nicht möglich - daher werde ich den von Dir genannten Weg gehen.
Sollte jedoch ein anderer Forumsteilnehmer einen Weg ohne Makro kennen, würde ich mich natürlich über eine Rückmeldung freuen.
Grüße
Bjoern

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige