Seite 1 von 1
eine Zelle aller x Sekunden aktualisieren
Verfasst: Do, 29.03.2007 22:03
von Lolli
Hi,
ich habe für meine Tochter eine Tabelle gebastelt, die Aufgaben zum Mathematik-üben mit Zufallswerten erstellt, und die Ergebnisse korrigiert.
Jetzt möchte ich in eine Ecke eine Zeitnahme machen, um Ihre Fortschritte besser verfolgen zu können.
Folgendes habe ich mir gedacht:
- Feld T1 enthält JETZT() im Zeitpunkt der Aufgabenerstellung durch drücken von [Strg]+[Shift]+[F9]
- Feld S1 enthält Jetzt()-T1 allerdings aktualisiert alle 1-5 Sekunden, um die Zeit verfolgen zu können.
- Also müsste nur das Feld S1 aller X Sekunden aktualisiert werden.
Ich und meine Tochter währen für jede Hilfe dankbar.
Lolli
Verfasst: Do, 29.03.2007 23:08
von turtle47
Hallo Lolli,
sowas geht meines Wissens nur mit einem Makro das wie folgt aussieht:
Code: Alles auswählen
function Uhrzeit()
oZell = thisComponent.getcurrentSelection()
oSheet = ThisComponent.sheets(0)
oZelle = oSheet.getCellRangeByName("T1")
oZelle.value = now()
oZell.NumberFormat = 41 'Format 05:57:06
Zeitaktualisieren
end function
dim z as Boolean
Sub Zeitaktualisieren
z = true
oSheet = ThisComponent.sheets(0)
oZelle = oSheet.getCellRangeByName("U1")
do while z
oZelle.value = now()
wait 1000
loop
End Sub
sub Zeitstopp
z = false
end sub
Hinweis:
(0) = erstes Tabellenblatt kannst Du ändern in z.B. (1) für zweites Tabellenblatt usw.
Formatiere die Zellen S1, T1 und U1 mit dem Zeitformat HH:MM:SS
In Zelle S1 schreibst Du die Formel:
Erstelle eine Schaltfläche zu Starten des Makros
und eine zweite Schaltfläche zum Stoppen der Zeitnahme
Bedenke aber bitte, dass das Makro die ganze Zeit im Hintergrund läuft und den Prozessor belastet!
Viel Erfolg.
Jürgen
Verfasst: Fr, 30.03.2007 20:05
von Lolli
Hi turtle47,
danke erstmal, funktioniert auch fast.
Eigenartiger weise werden alle Felder die Datum und Zeit enthalten unabhängig von der Position im Datenblatt aktualisiert.
Das wiederum bedeudet, das ich die Zeit zum Zeitpunkt des Startens der Zeitnahme nicht festhalten kann.
Die abgelaufene Zeit ist immer 00:00:00.
Aber ich gebe nicht auf. Es sollte doch im Zweifelsfall möglich sein den Inhalt einer Zelle in eine Variable zu schreiben, die dann zum Rechnen verwendet wird, und somit die richtige Differenz anzeigt.
fällt dir was dazu ein??
Danke
Lolli
Verfasst: Fr, 30.03.2007 21:10
von turtle47
Hallo Lolli,
bei mir funktioniert die Sache einwandfrei.
Zelle S1 zählt die verstrichene Zeit durch die Formel:
diese bleibt auch nach dem Stoppen erhalten.
In Zelle T1 steht die Startzeit durch Makroinhalt:
Code: Alles auswählen
oZelle = oSheet.getCellRangeByName("T1")
oZelle.value = now()
oZell.NumberFormat = 41 'Format 05:57:06
diese bleibt ebenfalls nach dem Stoppen erhalten.
Zelle U1 erhöht im Sekundentakt durch Makroinhalt:
Code: Alles auswählen
oZelle = oSheet.getCellRangeByName("U1")
do while z
oZelle.value = now()
wait 1000
loop
Meine Testdatei kannst Du Dir hier downloaden:
http://www.office-center-jd.de/download/counter.ods
Viele Grüße
Jürgen
Verfasst: So, 01.04.2007 20:30
von Lolli
Hi,
hab meinen Fehler gefunden.
Außerdem hab ich gleich am Anfang z auf false gesetzt, damit das Macro nicht mehmals gestartet werden kann.
Vielen Dank
Lolli