Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1224to1228
Aktuelles Verzeichnis
Verzeichnis Index
Übersicht Verzeichnisse
Vorheriger Thread
Rückwärts Blättern
Nächster Thread
Vorwärts blättern
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

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

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
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

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige