Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Makro auf allen Blättern starten
#1
Guten Tag,

ich habe eine Arbeitsmappe mit 5 identischen Seiten. Auf der ersten Seite habe ich folgende Makro, die mir die aktuelle Systemzeit anzeigen soll:

Sub Zeitmakro()
ThisWorkbook.Worksheets("Überwachung Eingabe Blatt 1").Range("T217") = Format(Now, "hh:mm:ss")
ET = Now + TimeValue("00:00:10")
Application.OnTime ET, "Zeitmakro"
End Sub


Diese Makro funktioniert auch wunderbar, und wird beim Start der Arbeitsmappe direkt ausgeführt. Nun habe ich für die anderen 4 Seiten dieselbe Makro angelegt... sieht dann bei Seite 2 so aus:

Sub ZeitmakroBlatt2()
ThisWorkbook.Worksheets("Überwachung Eingabe Blatt 2").Range("T217") = Format(Now, "hh:mm:ss")
ET = Now + TimeValue("00:00:10")
Application.OnTime ET, "ZeitmakroBlatt2"
End Sub


Diese wird aber leider beim Start nicht automatisch gestartet. Wo liegt der Fehler?
Antworten Top
#2
Hallo Timo,

(30.07.2017, 17:06)Timo B schrieb: Diese wird aber leider beim Start nicht automatisch gestartet. Wo liegt der Fehler?

ich vermute mal, dass nur das erste Makro im Workbook_Open-Makro gestartet wird. Die 4 weiteren müssten dort ebenfalls eingetragen werden.

Gruß Uwe
Antworten Top
#3
Moin!
1. Ich habe in meiner Taskleiste die Systemuhr, dafür brauche ich kein Excel ausbremsendes Makro.
2. Nimm in DieseArbeitsmappe folgendes Ereignis und kopiere den Prozedurrumpf dort hinein:
Code:
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Beachte, dass die vorgegebene Variable Sh das jeweils aktive Blatt repräsentiert!
Also nicht:
ThisWorkbook.Worksheets("Überwachung Eingabe Blatt 1").Range("T217") = Format(Now, "hh:mm:ss")
sondern:
Sh.Range("T217") = Format(Now, "hh:mm:ss")

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top
#4
Scheinbar liegt dort tatsächlich der Fehler.

Dort steht:

Private Sub Workbook_Open()
    Zeitmakro
End Sub

ich bin leider nun schon etwas überfordert. Wie nehme ich dort die restlichen 4 Makros drin auf?
Antworten Top
#5
(30.07.2017, 17:12)Kuwer schrieb: Hallo Timo,


ich vermute mal, dass nur das erste Makro im Workbook_Open-Makro gestartet wird. Die 4 weiteren müssten dort ebenfalls eingetragen werden.

Gruß Uwe

Wie nehme ich die anderen 4 Makros darin auf?
Antworten Top
#6
(30.07.2017, 17:18)Timo B schrieb: ich bin leider nun schon etwas überfordert. Wie nehme ich dort die restlichen 4 Makros drin auf?

Private Sub Workbook_Open()
   Zeitmakro
   ZeitmakroBlatt2
End Sub
Gruß Uwe
Antworten Top
#7
*NochmalEinmischend*
Steht die "Uhr" in jedem Blatt in der gleichen Zelle?
Dann solltest Du meinen Tipp beherzigen.
(Wenn es Ausnahmen gibt, auch ;))
Dann per Select Case Auswahl der Sheets.

Wenn Du nicht klar kommst, lade die Datei hoch.

Gruß Ralf
Gib einem Mann einen Fisch und du ernährst ihn für einen Tag. 
Lehre einen Mann zu fischen und du ernährst ihn für sein Leben. (Konfuzius)
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste