Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Zeit erfassen über mehrere Module

Forumthread: Zeit erfassen über mehrere Module

Zeit erfassen über mehrere Module
Jörg-HH
Hallo zusammen
hab hier neulich gelernt, daß man so...
Dim ZeitAnfg, ZeitEnde
ZeitAnfg = Time
.....
ZeitEnde = Format(Time - ZeitAnfg, "HH:MM:SS")
MsgBox ("Benötigte Zeit: " & ZeitEnde)
...die Zeit messen kann.
Wie muß ich das denn schreiben, wenn der Code in einem Modul anfängt, durch mehrere Module hoppelt und dann in einem anderen aufhört - dort aber die insgesamt verbrauchte Zeit angezeigt weren soll...?
Grüße - Jörg
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Zeit erfassen über mehrere Module
26.08.2011 23:36:21
hary
Hallo Joerg
meinst Du es so? Makro2 wird aus Makro1 gestartet.

Option Explicit
Dim ZeitAnfg, ZeitEnde 'Variable ausserhalb der Subs
Sub n()
Dim i As Long
ZeitAnfg = Time
For i = 1 To 15000
Cells(i, 1) = "hallo"
Next
Call a   'naechstes Makro aufrufen
End Sub
Sub a()
Dim b As Long
For b = 1 To 15000
Cells(b, 2) = "hallo"
Next
ZeitEnde = Format(Time - ZeitAnfg, "HH:MM:SS")
MsgBox ("Benötigte Zeit: " & ZeitEnde)
End Sub

gruss hary
Anzeige
AW: Zeit erfassen über mehrere Module
27.08.2011 00:48:09
Jörg-HH
Hallo Hary
so ungefähr meinte ich das - wobei die Sub n() aus deinem Beispiel in meinem Fall die Selection_Change von TabelleX ist (dadurch wird eine UserForm aufgerufen), dann springt der Code in dieses UF-Modul und durchläuft da 3 Subs, und enden tut der ganze Kram dann in der Worksheet_Change von wiederum TabelleX.
Aber ich bekomme immer Null Sekunden angezeigt - daraus schließe ich, daß die in der SelectChange begonnene Zählerei nicht nach UF und WorkshChabge weitergereicht wird.
Jörg
Anzeige
AW: Zeit erfassen über mehrere Module
27.08.2011 01:33:37
hary
Moin Joerg
Mir faellt nur die Public Variable ein.
in ein Modul nur diese Zeile:

Public zeit As Double

Dann in die Codes nach diesem Schema aufbauen.

Option Explicit
Dim ZeitAnfg, ZeitEnde
Sub n()
Dim i As Long
ZeitAnfg = Time
For i = 1 To 15000
Cells(i, 1) = "hallo"
Next
zeit = zeit + (Time - ZeitAnfg) ' Public Variable plus errechnete Zeit
End Sub

Sub a()
Dim b As Long
ZeitAnfg = Time
For b = 1 To 15000
Cells(b, 2) = "hallo"
Next
zeit = zeit + (Time - ZeitAnfg) ' Public Variable plus errechnete Zeit
End Sub

Sub hallo()
MsgBox "Benötigte Zeit: " & Format(zeit, "HH:MM:SS") ' Ausgabe Public Varible
End Sub

evtl. gehts auch besser,wuerde mich auch interessieren.
Gruss hary
Anzeige
AW: Zeit erfassen über mehrere Module
27.08.2011 02:00:13
Jörg-HH
danke, Hary - werd ich morgen ma testen. Jetz geh ich erßma Heio....
Gute Nacht
Jörg
ok
27.08.2011 18:52:46
Jörg-HH
Hallo Harry
ich hab jetzt was Verwertbares hingekriegt. Sieht zwar anders aus als bei dir, aber du hattest den entscheidenden Anstoß gegeben: Die Zeit-Variable muß natürlich global bekannt sein und nicht nur in der Anfangsprozedur :-)
Danke für die Gehhilfe...
Grüße - Jörg
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige