ich möchte ein Makro alle 10 sec. laufen lassen. Eine Tabelle bekommt ständig aktuelle Kurse und die soll alle 10 sec. sortiert werden. die sortierung ist kein Problem, aber wie setze cih den Timer?
Danke,#
Kuddel
Sub machs10()
application.ontime now + timeserial(0,0,10),"DeinSortiermakro"
End Sub
Sub blabla()
'blabla
'blabla
machs10
End Sub
Um ein Makro alle 10 Sekunden automatisch auszuführen, kannst du folgende Schritte befolgen:
Öffne Excel und drücke ALT + F11
, um den VBA-Editor zu starten.
Füge ein neues Modul hinzu, indem du im Menü auf Einfügen
und dann auf Modul
klickst.
Kopiere den folgenden VBA-Code in das Modul:
Sub machs10()
Application.OnTime Now + TimeSerial(0, 0, 10), "DeinSortiermakro"
End Sub
Erstelle dein Sortiermakro, das die Tabelle sortiert. Am Ende des Makros rufst du dann machs10
auf:
Sub DeinSortiermakro()
' Hier kommt dein Sortiercode
' Timer aufrufen
machs10
End Sub
Speichere deine Datei als Makro-fähige Datei (*.xlsm).
Schließe den VBA-Editor und starte dein Makro, um den Timer zu aktivieren.
Fehler: Das Makro wird nur einmal ausgeführt.
machs10
am Ende deines Sortiermakros aufrufst, wie im Beispiel oben gezeigt.Fehler: Der Timer funktioniert nicht.
Es gibt verschiedene Möglichkeiten, einen 10 Sekunden Timer in Excel zu implementieren:
Do While
-Schleife verwenden, um den Timer zu steuern, jedoch kann dies die Performance beeinträchtigen.Hier ist ein einfaches Beispiel für ein Sortiermakro:
Sub SortiereTabelle()
' Sortiere die Daten in der ersten Tabelle nach der ersten Spalte
With Sheets(1).Sort
.SortFields.Clear
.SortFields.Add Key:=Range("A1:A100"), Order:=xlAscending
.SetRange Range("A1:B100")
.Header = xlYes
.Apply
End With
' Timer aufrufen
machs10
End Sub
Dieses Makro sortiert die Daten in den Zellen A1 bis B100 und wird alle 10 Sekunden erneut aufgerufen.
Application.EnableEvents = False
zu Beginn deines Codes, um zu verhindern, dass andere Ereignisse während der Ausführung des Makros ausgelöst werden.Application.EnableEvents = True
am Ende deines Codes wieder zu aktivieren.1. Kann ich den Timer auf eine andere Zeit einstellen?
Ja, du kannst die Zahl im TimeSerial(0, 0, 10)
-Befehl ändern, um den Timer auf eine andere Zeit einzustellen.
2. Funktioniert dieser Timer in Excel Online? Leider sind Makros in Excel Online nicht verfügbar. Du musst Excel auf dem Desktop verwenden, um den Timer zu implementieren.
Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden
Suche nach den besten AntwortenEntdecke unsere meistgeklickten Beiträge in der Google Suche
Top 100 Threads jetzt ansehen