Supportnet Computer
Planet of Tech

Supportnet / Forum / Tabellenkalkulation

automatische Aktualisierung





Frage

Hallo Leute, ich habe zwei Dateien untereinander mit Verknüpfungen verbunden. Wie kann ich die Aktualisierung einrichten, dass diese automatisch alle 1-2 Minuten abfragt? Danke im Voraus. m-o-m

Antwort 1 von Saarbauer

Hallo,

ist nach meinem Kenntnisstand (zumindest bis Excel 2000) nicht möglich, wäre vielleicht über VBA zu realisieren.

Gruß

Helmut

Antwort 2 von jb090979

Hallo,

ja mit VBA sollte sich das lösen lassen.

Excel unterstützt die Ontime Methode. Hier ein kleiner Auszug aus der VBA Hilfe von Excel:

Zitat:
In diesem Beispiel wird "my_Procedure" nach 15 Sekunden ausgeführt.
Application.OnTime Now + TimeValue("00:00:15"), "my_Procedure"


Im folgenden Beispiel wird "my_Procedure" um 17 Uhr ausgeführt.
Application.OnTime TimeValue("17:00:00"), "my_Procedure"


In diesem Beispiel wird die OnTime-Einstellung aus dem vorherigen Beispiel gelöscht.
Application.OnTime EarliestTime:=TimeValue("17:00:00"), procedure:="my_Procedure", Schedule:=False


Die Aktualisierung erledigst du mit dem Aufruf:
Calculate


Ich hoffe ich konnte dir helfen.

MFG Jens

Antwort 3 von coros

Hallo m-o-m,

sorry, aber was meinst Du mit automatisch aktualisieren? Wenn Du in den Optionen (Extras => Optionen) in der Registerkarte "Berechnung" in Berechnung die Funktion "Automatisch" aktivierst, wird doch die Verknüpfung automatisch aktualisiert. Prüfe das mal. Oder verstehe ich das falsch?

Ansonsten könnte man das Kalkulieren über VBA Makros realisieren. Kopiere dazu die nachfolgenden Makros in ein StandardModul.

[[code]b]Option Explicit
Public Timerzeit As Variant

Sub Starten()
On Error Resume Next
Timerzeit = Now + TimeValue("00:01:00")
Application.OnTime Timerzeit, "Kalkulieren"
End Sub

Sub Kalkulieren()
Calculate
Starten
End Sub

Sub Stoppen()
On Error Resume Next
Application.OnTime EarliestTime:=Timerzeit, Procedure:="Kalkulieren", Schedule:=False
End Sub

Mit den Makros wird jede Minute das aktuelle Tabellenblatt neu berechnet. Zum Ändern der Uhrzeit muss in der Zeile

Timerzeit = Now + TimeValue("00:01:00")

die Zeit geändert werden. Damit das alles von alleine funktioniert, kopiere nachfolgenden Code in das VBA Projekt "DieseArbeitsmappe".

Option Explicit

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Stoppen
End Sub

Private Sub Workbook_Open()
Starten
End Sub


Somit wird die Automatik beim Öffnen gestartet und beim Schließen wieder beendet. Beim Beenden ist ganz wichtig, da sonst der Timer im Hintergrund weiter läuft und die Exceldatei sich noch mal automatisch öffnet.

Ich hoffe, Du kommst klar. Bei Fragen melde Dich.
Solltest Du nicht wissen, wie Du den Code in Deine Datei bekommst, dann schau mal auf meiner HP in der Rubrik Anleitungen und dort dann in der Anleitungsnummer 1 und 3 nach. Dort stelle ich dazu eine bebilderte Anleitung zur Verfügung, die Dir sicherlich helfen wird.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 4 von coros

Hy, ich´noch mal. Da ist was mit dem Formatieren der Makros falsch gelaufen. Also nachfolgende Makros in ein StandardModul kopieren.

Option Explicit
Public Timerzeit As Variant

Sub Starten()
On Error Resume Next
Timerzeit = Now + TimeValue("00:01:00")
Application.OnTime Timerzeit, "Kalkulieren"
End Sub

Sub Kalkulieren()
Calculate
Starten
End Sub

Sub Stoppen()
On Error Resume Next
Application.OnTime EarliestTime:=Timerzeit, Procedure:="Kalkulieren", Schedule:=False
End Sub


Der Rest ist wie in meiner 1. Antwort durchzuführen.

MfG,
Oliver
Da hier der einzige Lohn für die Helfer eine Rückmeldung ist, wäre es nett, wenn Du ein
Feedback abgeben könntest, ob der Lösungsvorschlag Dein Problem gelöst hat.

Antwort 5 von m-o-m

Hallo Leute,

vielen Dank erstmal für die schnellen Antworten.

@ Oliver:
Leider hat es nicht geklappt.

Wahrscheinlich habe ich mein Problem nicht genau genug beschrieben, hier also mal ein etwas ausführlicherer Bericht:

Grundproblematik:
Die Eingaben aus 40 exakt gleichen Tabellen sollen in einer Datei (40 Tabellenblätter) zusammengeführt werden. Hierfür habe ich die 40 Tabellen fertiggestellt und mit den 40 Blättern der ´Sammeldatei´ verknüpft.
Die 40 Tabellen werden von verschiedenen Leuten ausgefüllt. Ich möchte nun nicht alle 40 Tabellen einzeln öffnen und vergleichen müssen, denn bei der 38. habe ich die ersten drei mit Sicherheit vergessen. Wenn ich die Sammeldatei schließe und wieder öffne aktualisiert er auch brav, nur nicht während dessen.

Als Alternative habe ich schon das freigeben der Arbeitsmappe probiert. Funzt aber auch nicht.

Bin gespannt, ob Euch dies weiterhilft. Aber erstmal vielen Dank für Eure Mühe.

MfG,
m-o-m

Antwort 6 von m-o-m

Ich nochmal,

@ Jens:

leider habe ich von VBA nicht die geringste Ahnung. Bei Makros bin ich excel-mäßig am Ende. Vieleicht kannst Du das ja etwas ausführlicher schildern.

MfG,
m-o-m

Antwort 7 von jb090979

Hallo,

@ m-o-m

Meine Idee hat Oliver schon in seinem Beispiel umgesetzt.

Was hat denn nicht geklappt.?

MFG Jens

Antwort 8 von m-o-m

leider nix,

ich hab die makros in die module gespeichert, datei gespeichert, geschlossen und geöffnet. in einer der anderen dateien etwas verändern lassen und gewartet - nix passierte. dann hab ich die datei geschlossen und geöffnet, sofort wurde aktualisiert.

wenn ich die beiden dateien in meinem login gleichzeitig offen habe übernimmt er die Änderungen sofort. für mich sehr mysteriös..

ich hoffe dies bringt dich ein wenig nöher an die Lösung meines Problems.

Danke

m-o-m