Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

Makro automatisch starten/permanent laufen lassen

Forumthread: Makro automatisch starten/permanent laufen lassen

Makro automatisch starten/permanent laufen lassen
06.02.2008 11:19:37
Hanna
Hallo, Leute!
HAb hier das u.g. Makro.
Möchte eigentlich, daß das Makro bei Aufruf das Excelsheet automatsich startet, vor allem aber, daß es permanent abläuft.
Wenn ich "Start" aufrufe, wird es scheinbar nur 1 mal abgearbeitet und dann ist Schluß.
Wie kann ich das ändern? Hat jemand einen Tip?
LG
Hanna.
Dim myValue
Dim myValue1
Dim myValue2
Dim myValue3

Sub START()
If Range("B1").Value  myValue1 Then
myValue1 = Range("B1").Value
If myValue1 > 3 Then Call sndPlaySound32("c:\M", 1)
End If
If Range("C1").Value  myValue2 Then
myValue2 = Range("C1").Value
If myValue2  myValue3 Then
myValue3 = Range("D6").Value
If myValue3 > -0.1 Then Call sndPlaySound32("c:\MF", 1)
End If
End Sub


Anzeige

1
Beitrag zum Forumthread
Beitrag zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Applicaton.OnTime - Zeitgesteuerte Makros
06.02.2008 11:24:00
Beate
Hallo Hanna,
Guckst Du: Applicaton.OnTime - Zeitgesteuerte Makros
Gruß,
Beate
Anzeige
;
Anzeige
Anzeige

Infobox / Tutorial

Makro automatisch starten und permanent laufen lassen


Schritt-für-Schritt-Anleitung

Um ein Makro in Excel automatisch zu starten und es permanent laufen zu lassen, kannst du die Methode Application.OnTime verwenden. Hier ist eine einfache Schritt-für-Schritt-Anleitung:

  1. Öffne den VBA-Editor:

    • Drücke ALT + F11, um den Visual Basic for Applications (VBA) Editor zu öffnen.
  2. Füge ein neues Modul hinzu:

    • Klicke mit der rechten Maustaste auf "VBAProject (deine Arbeitsmappe)" und wähle Einfügen > Modul.
  3. Schreibe dein Makro:

    • Verwende den folgenden Code als Beispiel. Dieser wird alle 10 Sekunden ausgeführt:
    Dim myValue1 As Variant
    Dim myTimer As Date
    
    Sub START()
       ' Hier kannst du deine Logik einfügen
       If Range("B1").Value <> myValue1 Then
           myValue1 = Range("B1").Value
           If myValue1 > 3 Then Call sndPlaySound32("c:\M", 1)
       End If
       ' Timer setzen
       myTimer = Now + TimeValue("00:00:10") ' alle 10 Sekunden
       Application.OnTime myTimer, "START"
    End Sub
    
    Sub STOP()
       On Error Resume Next
       Application.OnTime myTimer, "START", , False
    End Sub
  4. Starte das Makro:

    • Führe das Makro START aus, um den Timer zu aktivieren.
  5. Stoppe das Makro:

    • Verwende das Makro STOP, um den Timer zu stoppen, wenn du es nicht mehr benötigst.

Häufige Fehler und Lösungen

  • Makro wird nicht ausgeführt:

    • Stelle sicher, dass du das Makro START gestartet hast. Wenn Excel geschlossen wird, stoppt auch das Makro.
  • Fehlermeldungen:

    • Achte darauf, dass die Variablen richtig deklariert sind. Der Code muss auch in einem Modul und nicht in einem Blatt platziert werden.

Alternative Methoden

Eine weitere Möglichkeit, ein Makro automatisch zu starten, besteht darin, es über die Workbook_Open-Ereignisprozedur zu aktivieren. So wird das Makro beim Öffnen der Arbeitsmappe automatisch gestartet:

Private Sub Workbook_Open()
    START
End Sub

Praktische Beispiele

  • Beispiel für ein Alarm-Makro: Wenn du eine Alarmfunktion erstellen möchtest, die bei bestimmten Werten in Zelle B1 und C1 reagiert, kannst du den oben genannten Code verwenden und die Logik entsprechend anpassen.

  • Einfache Nutzungsanwendung: Angenommen, du möchtest eine Zelle alle 5 Sekunden aktualisieren, dann passe den Timer wie folgt an:

    myTimer = Now + TimeValue("00:00:05") ' alle 5 Sekunden

Tipps für Profis

  • Debugging: Nutze die Debugging-Funktion im VBA-Editor, um deinen Code Schritt für Schritt zu überprüfen.
  • Optimierung: Verwende DoEvents, um die Benutzeroberfläche während der Ausführung des Makros responsive zu halten.
  • Speichern: Speichere deine Arbeitsmappe als .xlsm, damit die Makros erhalten bleiben.

FAQ: Häufige Fragen

1. Wie stoppe ich ein laufendes Makro?
Du kannst das Makro mit der STOP-Subroutine anhalten, die im Tutorial beschrieben ist.

2. Kann ich das Makro auch ohne VBA ausführen?
Mit Excel-Funktionen allein ist dies nicht möglich. VBA ist notwendig, um Automatisierungen und Timer zu implementieren.

3. Funktioniert das in allen Excel-Versionen?
Ja, die meisten Makrofunktionen sind in Excel 2007 und späteren Versionen verfügbar.

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