dom1110
Goto Top

Fehler bei Zeitmakro (Uhrzeit soll automatisch jede Minute aktualisiert werden)

Hallo Zusammen,


verwende eine Makro um jede Minute meine Zeitangabe automatisch aktualisieren zu lassen.

Meine Eingabe in Visual Basic:

Sub Zeitmakro()
ThisWorkbook.Worksheets("Tabelle1").Range("M2") = Format(Now, "hh:mm")
ET = Now + TimeValue("00:01:00")
Application.OnTime ET, "Zeitmakro"
End Sub


Darauffolgende Fehlermeldung:

Index außerhalb des gültigen Bereichs


Was ist mein Fehler? Weiß leider nicht weiter?

Habt ihr Tipps&Tricks für mich?

Danke.


Gruß

Dom

Content-Key: 249436

Url: https://administrator.de/contentid/249436

Printed on: April 19, 2024 at 23:04 o'clock

Member: colinardo
colinardo Sep 17, 2014 updated at 10:16:03 (UTC)
Goto Top
Hallo Dom,
  • liegt die Prozedur überhaupt in einem Modul, oder im Codeabschnitt eines Worksheets ?
  • Existiert das Worksheet Tabelle1 ?

Das setzen eines Breakpoints im VBA Editor sollte hier Klarheit bringen !

Grüße Uwe

p.s. Bitte nutze Code-Tags für deinen Quellcode: <code> Quellcode </code>. Merci.
Member: dom1110
dom1110 Sep 17, 2014 at 10:33:01 (UTC)
Goto Top
Hi uwe,

also die oben genannte Fehlermeldung kommt nicht mehr. (Hab das Worksheet falsch benannt.)

Die Prozedur liegt im Codeabschnitt

Nun aktualisiert mir die zeit allerdings nicht automatisch, sondern nur wenn ich per maus im vb-editor ausführen klicke.

jetzt kommt eine Fehlermeldung ich hätte meine makros deaktiviert. hab aber nachgeschaut. die sind aktiv. die makro existiert auch in dieser Arbeistmappe.????
8-O


Zur Info....
Aktueller Eintrag lautet nun so:

Sub Zeitmakro()
ThisWorkbook.Worksheets("Inbound-Gate-Tool").Range("M2") = Format(Now, "hh:mm")
ET = Now + TimeValue("00:01:00")
Application.OnTime ET, "Zeitmakro"
End Sub
Member: colinardo
Solution colinardo Sep 17, 2014 updated at 16:29:57 (UTC)
Goto Top
Die Prozedur liegt im Codeabschnitt
falsch, lege sie in ein Modul, dann läuft diese wie gewünscht. Oder wenn der Code weiterhin in deinem Codeabschnitt liegen soll, schreibst du für den Makroaufruf in der Ontime Prozedur den Namen des Codeabschnitts davor.
Wenn dein Code also im Abschnitt DieseArbeitsmappe liegen sollte lautet der Aufruf so
Application.OnTime ET, "DieseArbeitsmappe.Zeitmakro"
Wenn du willst das die Aktualisierung automatisch beim Start der Arbeitsmappe los läuft, füge folgenden Code in den Abschnitt des Workbooks ein:
Private Sub Workbook_Open()
    Zeitmakro
End Sub
Falls das unklar ist hier dazu noch ein Demo-Sheet: auto_update_time_952013.xlsm (Zur Demonstration im Sheet lasse ich die Zeit jede Sekunde aktualisieren)
Member: dom1110
dom1110 Sep 17, 2014 updated at 10:46:08 (UTC)
Goto Top
Ich probier es mal aus.
Member: dom1110
dom1110 Sep 17, 2014 at 10:55:28 (UTC)
Goto Top
vielen dank uwe für deine geduld und hilfe.

hat funktioniert.