Office: Makro, das erst 5 min nach anklicken aktiv wird

Helfe beim Thema Makro, das erst 5 min nach anklicken aktiv wird in Microsoft Excel Hilfe um das Problem gemeinsam zu lösen; Hallo, ich möchte ein Makro erstellen, dass jedoch erst fünf Minuten nach dem der Nutzer auf den Button geklickt hat aktiv wird. Weiß hier jemand Rat? Dieses Thema im Forum "Microsoft Excel Hilfe" wurde erstellt von alex_S, 24. Juli 2008.

  1. alex_S User

    Makro, das erst 5 min nach anklicken aktiv wird


    Hallo,
    ich möchte ein Makro erstellen, dass jedoch erst fünf Minuten nach dem der Nutzer auf den Button geklickt hat aktiv wird. Weiß hier jemand Rat?
     
    alex_S, 24. Juli 2008
    #1
  2. miriki Erfahrener User
    Der folgende Code gibt zumindest eine Meldung aus, wenn nach 5 Minuten (oder später) der Zellen-Cursor bewegt wird:

    Code:
    Option Explicit
    
    Const sht = "Tabelle5"
    Const Minuten = 5
    
    Dim ws As Worksheet
    
    Private Sub CommandButton1_Click()
    
        Set ws = ThisWorkbook.Worksheets(sht)
    
        ws.Range("gedrueckt").Value = Now
    
    End Sub
    
    Private Sub Worksheet_SelectionChange(ByVal Target As Range)
    
        Set ws = ThisWorkbook.Worksheets(sht)
    
        If (ws.Range("gedrueckt").Value <> "") Then
    
            ws.Range("aktuell").Value = Now
    
            If ws.Range("vergangen").Value > (1 / 24 / 60) * Minuten Then
                MsgBox "Zeit ist um!"
                ws.Range("gedrueckt").ClearContents
                ws.Range("aktuell").ClearContents
            End If
    
        End If
    
    End Sub
    Du mußt dafür allerdings noch 3 Zellen mit "Namen" versehen:
    Code:
    gedrueckt
    aktuell
    vergangen
    Und in letztere muß dann noch die Formel
    Code:
    =aktuell-gedrueckt
    eingesetzt werden.

    Du kannst natürlich auch auf die benannten Zellen verzichten und alles in globale Variablen des Worksheets packen. Denk aber in jedem Fall daran, die Konstanten am Anfang des Codes anzupassen.

    Gruß, Michael
     
    miriki, 24. Juli 2008
    #2
  3. alex_S User
    Danke Michael. Das hilft mir auf jeden Fall mehr als die "Warteschleife" die ich bisher selbst kreirt hatte.
    Leider ist es aber möglich, dass gar keine Taste gedrückt wird. Hast du noch eine Idee, wie man einen echten Countdown programmieren kann? Egal ob eine Taste gedrückt wird oder nicht, sollte nach fünf Minuten die Meldung "Zeit ist um" erscheinen.
    Vielen Dank im Voraus,
    Alex
     
    alex_S, 24. Juli 2008
    #3
  4. miriki Erfahrener User

    Makro, das erst 5 min nach anklicken aktiv wird

    Du könntest was mit den Schlüsselworten while und doevents werden. Es läuft dann aber auf eine Schleife hinaus, die selbst recht viel Rechenzeit beansprucht und nur ein bißchen für andere Aufgaben abgibt. Eine nicht sehr schöne Lösung...

    Code:
    Private Sub CommandButton2_Click()
    
        Dim abgelaufen As Boolean
    
        Set ws = ThisWorkbook.Worksheets(sht)
    
        ws.Range("gedrueckt").Value = Now
        ws.Range("aktuell").Value = Now
    
        abgelaufen = ws.Range("vergangen").Value > (1 / 24 / 60) * Minuten
        While Not abgelaufen
            ws.Range("aktuell").Value = Now
            DoEvents
            abgelaufen = ws.Range("vergangen").Value > (1 / 24 / 60) * Minuten
        Wend
        MsgBox "Zeit ist um!"
    
    End Sub
    Das Ding funktioniert zwar grundsätzlich, aber... Ich konnte während der Schleife mit dem Cursor in andere Zellen springen usw., aber wenn ich auch nur eine Änderung (Wert eingegeben) gemacht habe, blieb der Timer stehen, als wenn die Schleife / das Sub verlassen wurde. Gibt bestimmt eine Erklärung dafür, aber ich hab jetzt auf die Schnelle nichts gefunden.

    Genauer: Bei Drücken der ersten Taste, die dafür sorgt, daß etwas in der "Bearbeitungszeile" erscheint, stoppt der Lauf. Man kann im VBA-Editor die Abarbeitung weiterlaufen lassen, aber "abgelaufen" startet dann wieder bei 0. Drückt man wieder eine Taste, die eine Eingabe initiiert, dann gibt es sogar einen Anwendungs-Fehler ohne Debug-Möglichkeit. Vielleicht weiß jemand anderes hier ja, woran das liegt.

    Eine echte "Timer"-Funktion scheint es für Excel aber nicht zu geben. Unter Access kann man einen Timer auf xxx Sekunden stellen und es wird bei Erreichen von 0 ein Event ausgelöst. Für Excel (Bordmittel) hab ich da nichts Vergleichbares gefunden.

    Gruß, Michael
     
    miriki, 24. Juli 2008
    #4
  5. miriki Erfahrener User
    Und da mir das keine Ruhe gelassen hat, hab ich weiter gesucht und was gefunden:

    In das Worksheet:
    Code:
    Private Sub CommandButton3_Click()
    
        Dim abgelaufen As Boolean
    
        Set ws = ThisWorkbook.Worksheets(sht)
    
        ws.Range("gedrueckt").Value = Now
        ws.Range("aktuell").Value = Now
    
        Application.OnTime Now + TimeSerial(0, Minuten, 0), "Zeit_abgelaufen"
    
    End Sub
    Und als zusätzliches Modul:
    Code:
    Public Sub Zeit_abgelaufen()
    
        Dim ws As Worksheet
    
        Set ws = ThisWorkbook.Worksheets("Tabelle5")
    
        'Application.OnTime EarliestTime:=Now, Procedure:="Zeit_abgelaufen", Schedule:=False
    
        MsgBox "Zeit ist um!"
        ws.Range("gedrueckt").ClearContents
        ws.Range("aktuell").ClearContents
    
    End Sub
    Dann haste den Timer nach z.B. 5 Minuten ohne weitere Zeitverfolgung. Ok, "abgelaufen" wird dementsprechend nicht aktualisiert.

    Gruß, Michael
     
    miriki, 28. Juli 2008
    #5
Thema:

Makro, das erst 5 min nach anklicken aktiv wird

Die Seite wird geladen...
  1. Makro, das erst 5 min nach anklicken aktiv wird - Similar Threads - Makro min anklicken

  2. Name der Datei durch Excel geändert

    in Microsoft Excel Hilfe
    Name der Datei durch Excel geändert: Hallo und guten Abend, Die Datei wird mittels Button (VBA) zwischen gesichert. Das Makro sichert zuvor die Datei und erstellt zus. eine Sicherungsdatei mit der Erweiterung Beispiel-"Sich"....
  3. Ein Makro für mehrere Register

    in Microsoft Excel Hilfe
    Ein Makro für mehrere Register: Moin, ich habe ein Makro wo Daten aus dem Register Master kopiert werden und Register, das mit einem Datum beschriftet ist. Ich möchte in Jedem Register ein Button haben was Daten aus dem Master...
  4. Makro öffnet unerwartete Datei

    in Microsoft Excel Hilfe
    Makro öffnet unerwartete Datei: Hallo Forum, ich brächte euer Schwarmwissen. Arbeite mit Excel eine Auftragsbearbeitung. Dort habe ich mir einen Button mit Makro erstellt und nutze diesen schon lange. Das Makro generiert ein...
  5. Leerzeilen entfernen

    in Microsoft Word Hilfe
    Leerzeilen entfernen: Hallo in die Runde, ich habe das Problem bzw. den Wunsch in einem DOC die Leerzeilen zu entfernen und das per Makro. Allerdings gelingt es nicht Hintergrund das DOC wird aus einer Dot-Datei...
  6. Makro Schaltflaechen vervielfaeltigen sich....

    in Microsoft Excel Hilfe
    Makro Schaltflaechen vervielfaeltigen sich....: Hallo Zusammen, ich habe eine Exceldatei, die seit ein paar Wochen sehr langsam zu öffnen und zu bearbeiten ist. Zuvor war sie ca. 8MB gross, was sich verdoppelt hat. Ich habe alle Zellen die...
  7. Seit Win 11 Zugriffsprobleme bei Excel über Makros

    in Microsoft Excel Hilfe
    Seit Win 11 Zugriffsprobleme bei Excel über Makros: Guten Tag! Ich habe vor einer Woche mein Windows 10 auf Windows 11 geupgraded, und seitdem habe ich extreme Schwierigkeiten mit meinem Excel. Mit Windows 10 funktionierte alles so, wie es sollte,...
  8. VBA-Makro zur Zellenformatierung Syntax probleme

    in Microsoft Excel Hilfe
    VBA-Makro zur Zellenformatierung Syntax probleme: Hallo zusammen, ich möchte per Makro Zellen formatieren. Tausender-Trennzeichen 3 Nachkommastellen Positive Zahlen Schwarz Negative Zahlen Rot Nullwert mit - Hinter der Zahl soll noch eine...
  1. Diese Seite verwendet Cookies, um Inhalte zu personalisieren, diese deiner Erfahrung anzupassen und dich nach der Registrierung angemeldet zu halten.
    Auf dieser Website werden Cookies für die Zugriffsanalyse und Anzeigenmessung verwendet.
    Wenn du dich weiterhin auf dieser Seite aufhältst, akzeptierst du unseren Einsatz von Cookies.
    Information ausblenden