Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
844to848
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
844to848
844to848
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Zeitspanne der Bearbeitung ermitteln

Zeitspanne der Bearbeitung ermitteln
13.02.2007 18:19:43
Fritz_W
Hallo Forumsbesucher,
ich würde gerne folgendes Vorhaben realsieren, wozu ich die Hilfe der VBA-Spezialisten benötige:
Ich möchte, dass in meiner Tabelle ein Makro startet, wenn die Formel in der in der Zelle AC39 als Ergebnis die Zahl 1 liefert und das Makro nach spätestens 200 Sekunden endet bzw. früher wenn die Formel in der Zelle AC39 die Zahl 2 liefert. Die jeweilige Laufzeit des Makro (in Sekunden) sollte in der Tabelle "Ergebnisse" in die Spalte A fortlaufend in die jeweils erste freie (= leere) Zeile eingetragen werden, beim ersten Aufruf des Makros somit in die Zelle A1.
Für eure Unterstützung bereits im Voraus besten Dank!
Gruß
Fritz

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeitspanne der Bearbeitung ermitteln
14.02.2007 04:46:00
Hans
Hallo Fritz,
so wird das nicht funktionieren, denn während des Ablaufes des Makros ist Excel blockiert; da wird sich also in an der Zahl 1 nichts ändern.
Eine einfachere Lösung habe ich auf den Server gestellt:
https://www.herber.de/bbs/texte/10448.zip
gruss hans
AW: Zeitspanne der Bearbeitung ermitteln
14.02.2007 18:08:00
Fritz_W
Hallo Hans,
zunächst vielen Dank für Deine Arbeit und den Hinweis.
Ich nun versuchen, anhand dieser beispielhaften Umsetzung eine meinen Vorstellungen entsprechende Lösung hinzukriegen.
Wenn ich nicht klar komme oder sich weitere Fragen ergeben, melde ich mich noch einmal.
Gruß
Fritz
Anzeige
AW: Zeitspanne der Bearbeitung ermitteln
14.02.2007 07:15:07
Erich
Hallo Fritz,
probier es auch mal damit aus.
(Der Code gehört in das Modul der Tabelle, in der er wirken soll.
Mit dem Makro Init kannst du das Ganze zurückstellen.):
Option Explicit
Dim lngZ As Long, sngT As Single
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Cells(39, 29) = 1 And sngT = 0 Then
sngT = Timer
ElseIf Cells(39, 29) = 2 And sngT > 0 Then
lngZ = lngZ + 1
Cells(lngZ, 1) = Application.Round(Timer - sngT, 1)
sngT = 0
End If
Application.EnableEvents = True
End Sub
Sub init()
lngZ = 0
sngT = 0
Application.EnableEvents = False
Columns(1).ClearContents
Application.EnableEvents = True
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zeitspanne der Bearbeitung ermitteln
14.02.2007 18:21:00
Fritz_W
Hallo Erich,
ich freue mich sehr über Deine Unterstützung, vielen Dank.
Den Code habe ich in das Modul der betreffenden Tabelle kopiert.
Mir ist aber nicht klar, wie (und wo) ich nun die Zeitspanne der "Laufzeit" angezeigt bekomme. Es geht um die Zeitspann, beginnend mit dem Zeitpunkt in dem der Zellwert in AC39 den Wert 1 aufwies, bis zu dem Zeitpunkt, in dem dieser Zellwert den Wert 2 annimmt.
Gruß
Fritz
AW: Zeitspanne ermitteln
14.02.2007 19:45:26
Erich
Hallo Fritz,
hier ist eine Mappe, in der du das ausprobieren kannst, mit einigen Erklärungen:
https://www.herber.de/bbs/user/40432.xls
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zeitspanne der Bearbeitung ermitteln
14.02.2007 20:16:20
Fritz_W
Hallo Erich!
Ich bin begeistert! Einfach super, deine Lösung.
Da kann ich als Laie nur staunen und mich ganz herzlich bei Dir bedanken!
Gruß
Fritz
P.S. Wie kann ich erreichen, dass die Zeiteintragung nicht in Spalte A sondern in Zeile AM, am besten beginnend ab Zeile 14 erfolgt!
AW: Zeitspanne ermitteln
14.02.2007 21:11:00
Erich
Hallo Fritz,
dazu sind ein paar Änderungen nötig:
Option Explicit
Dim lngZ As Long, sngT As Single
Private Sub Worksheet_Change(ByVal Target As Range)
Application.EnableEvents = False
If Cells(39, 29) = 1 And sngT = 0 Then
sngT = Timer
ElseIf Cells(39, 29) = 2 And sngT > 0 Then               ' AC ist 29. Spalte
If lngZ < 14 Then lngZ = 14                           ' ab Zeile 14
Cells(lngZ, 39) = Application.Round(Timer - sngT, 1)  ' AM ist 39. Spalte
lngZ = lngZ + 1
sngT = 0
End If
Application.EnableEvents = True
End Sub
Sub init()
lngZ = 14   ' ab Zeile 14
sngT = 0
Application.EnableEvents = False
Range(Cells(14, 39), Cells(Rows.Count, 39)).ClearContents ' Spalte AM ab Zeile 14 leeren
Application.EnableEvents = True
End Sub
Rückmeldung wäre nett! - Grüße von Erich aus Kamp-Lintfort
Anzeige
AW: Zeitspanne ermitteln
14.02.2007 22:06:07
Fritz_W
Hallo Erich,
funktioniert wie gewünscht. Vielen Dank!
Gruß
Fritz

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige