Freigeben über

Bedingten / Verknüpften Countdown erstellen

Anonym
2021-05-28T14:50:10+00:00

Hallo,

ich besitze die Excel Version Microsoft 365 Apps for Enterprise.

Ich habe mich Projekt bezogen in den letzten Wochen mit verschiedenen Funktionen von Excel beschäftigt, für eine Arbeit versuche ich gerade (ähnlich einem Fehlerbaum) eine Funktion aufzustellen, die über mehrere Zeilen und Spalten geht.

Die Anfangsbedingungen waren auch gar kein Problem mit Wenn, Dann - Verknüpfung.

Jetzt habe ich aber das Problem, dass meine Nächste Bedingung einen Countdown von 3 Minuten beinhalten soll. Dieser soll starten, sobald ein bestimmtes Wort ("Kontakt") in E2 erscheint und sobald dieser Countdown abgelaufen ist, soll in E5 das Wort "Warnsignal" erscheinen.

Alternativ bin ich auch schon auf die Idee gekommen mit Makros zu arbeiten, allerdings scheitert es da an meinen Vorkenntnissen. Ich habe die Wenn, dann Funktionen alle bisher nur rein in der Excel und nicht als Makro.

In einem anderen Foren Eintrag habe ich eine Makrofunktion für einen Countdown gefunden, welche auch zunächst runtergezählt hat, allerdings hat dort noch die Verknüpfung zu meiner ursprünglichen Idee mit der Wenn, Dann Verknüpfung gefehlt. Bei meinem Versuch es entsprechend anzupassen bin ich dann leider gescheitert.

Makro für den Countdown, welches ich gefunden hatte angepasst auf die Zelle F2:

Dim gCount As Date 'Updateby20140925``Sub Timer()``    gCount = Now + TimeValue("00:00:01")``    Application.OnTime gCount, "ResetTime"``End Sub``Sub ResetTime()``Dim xRng As Range``Set xRng = Application.ActiveSheet.Range("F2")``xRng.Value = xRng.Value - TimeSerial(0, 0, 1)``If xRng.Value <= 0 Then``    MsgBox "Countdown complete."``    Exit Sub``End If``Call Timer``End Sub

Die Text Box stört mich allerdings. Hier wäre der Übergang in die Wenn, Dann Bedingung passender.

Ausschnitt aus meiner Tabelle:

Ich habe den Makro Code nun auf 4 Fälle erweiter, damit ich 4 verschiedene Chips koordinieren kann. Allerdings zählt dann nur eine der Uhren den Countdown und nicht alle 4.

Einfacher wäre natürlich die Ganze Wenn, dann Verknüpfung in Makros, aber das kann ich nicht. So sieht es gerade aus:

Dim gCount As Date
'Updateby20140925
Sub Timer_1()
gCount = Now + TimeValue("00:00:01")
Application.OnTime gCount, "ResetTime_1"
End Sub
Sub ResetTime_1()
Dim xRng As Range
Set xRng = Application.ActiveSheet.Range("H3")
xRng.Value = xRng.Value - TimeSerial(0, 0, 1)
If xRng.Value <= 0 Then
Exit Sub
End If
Call Timer_1
End Sub

Sub Timer_2()
gCount = Now + TimeValue("00:00:01")
Application.OnTime gCount, "ResetTime_2"
End Sub
Sub ResetTime_2()
Dim xRng As Range
Set xRng = Application.ActiveSheet.Range("H7")
xRng.Value = xRng.Value - TimeSerial(0, 0, 1)
If xRng.Value <= 0 Then
Exit Sub
End If
Call Timer_2
End Sub

Hat jmd. eine Idee oder kann mir weiterhelfen bei meinem Problem?

Ich würde mich über Hilfe sehr freuen.

Mit freundlichen Grüßen

jhoch

Microsoft 365 und Office | Excel | Für Zuhause | Windows

Gesperrte Frage. Diese Frage wurde aus der Microsoft-Support-Community migriert. Sie können darüber abstimmen, ob sie hilfreich ist, aber Sie können keine Kommentare oder Antworten hinzufügen oder der Frage folgen.

0 Kommentare Keine Kommentare
Antwort, die vom Frageautor angenommen wurde
  1. Anonym
    2021-05-28T15:34:12+00:00

    Hallo,

    solange ein Makro läuft, kannst du nicht in der Excel-Tabelle arbeiten. Ich würde also keinen Countdown wählen sondern OnTime.

    Probiere es mal so:

    In ein Standard-Modul:

    Sub Warnung()

    Sheets("Tabelle1").Range("E5") = "Warnsignal"

    End Sub

    In das Codemodul des Arbeitsblattes:

    Private Sub Worksheet_Change(ByVal Target As Range)

    If Target.Address(0, 0) <> "E2" Then Exit Sub

    If Range("E2") = "Kontakt" Then

    Application.OnTime Now + TimeSerial(0, 3, 0), "Warnung" 
    

    End If

    End Sub

    Claus

    Eine Person fand diese Antwort hilfreich.
    0 Kommentare Keine Kommentare

0 zusätzliche Antworten

Sortieren nach: Am hilfreichsten