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
eine Zelle aller x Sekunden aktualisieren
Moderator: Moderatoren
Hallo Lolli,
sowas geht meines Wissens nur mit einem Makro das wie folgt aussieht:
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
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
Code: Alles auswählen
oSheet = ThisComponent.sheets(0)
Formatiere die Zellen S1, T1 und U1 mit dem Zeitformat HH:MM:SS
In Zelle S1 schreibst Du die Formel:
Code: Alles auswählen
=(U1-T1)
Code: Alles auswählen
function Uhrzeit
Code: Alles auswählen
sub Zeitstopp
Viel Erfolg.
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
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
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
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:
diese bleibt ebenfalls nach dem Stoppen erhalten.
Zelle U1 erhöht im Sekundentakt durch Makroinhalt:
Meine Testdatei kannst Du Dir hier downloaden:
http://www.office-center-jd.de/download/counter.ods
Viele Grüße
Jürgen
bei mir funktioniert die Sache einwandfrei.
Zelle S1 zählt die verstrichene Zeit durch die Formel:
Code: Alles auswählen
=(U1-T1)
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
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
http://www.office-center-jd.de/download/counter.ods
Viele Grüße
Jürgen
Software hat keinen Verstand - benutze deinen eigenen...!
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem
Win 7 SP1/ LibreOffice 3.4.2 OOO340m1 (Build:203) / Firefox 15.0.1 / Notebook ASUS K70IO 64 Bit-Betriebssytem