Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
Anzeige
Archiv - Navigation
1428to1432
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
Inhaltsverzeichnis

macro alle 30 sek. wiederholen

macro alle 30 sek. wiederholen
07.06.2015 15:47:54
Uwe
Einen schönen Sonntag an Alle,
wie bekomme ich es hin das ein Macro nach Ablauf einer gewissen Zeit sich wiederholt.
Es geht im Grunde nur um eine eingelesene txt Datei automatisch zu aktualisieren.
Option Explicit
Private Sub Workbook_Open()
Application.OnTime Now + TimeSerial(0, 0, 30), "autoakt2"
End Sub
so wie ich das dachte wird hier nur nach 30 sek. das macro angestoßen und sonst nix.
Vorab schon mal vielen Dank für euer Hilfe!
Gruß Uwe

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: macro alle 30 sek. wiederholen
07.06.2015 15:53:18
Sepp
Hallo Uwe,
' **********************************************************************
' Modul: DieseArbeitsmappe Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Workbook_Open()
  StartTimer
End Sub


Private Sub Workbook_BeforeClose(Cancel As Boolean)
  StopTimer
End Sub


' **********************************************************************
' Modul: Modul1 Typ: Allgemeines Modul
' **********************************************************************

Option Explicit

Public RunWhen As Double
Public Const cRunIntervalSeconds = 1800 ' Intervall in Sekunden
Public Const cRunWhat = "autoakt2"

Sub StartTimer()
  RunWhen = Now + TimeSerial(0, 0, cRunIntervalSeconds)
  Application.OnTime earliesttime:=RunWhen, procedure:=cRunWhat, _
    schedule:=True
End Sub


Sub autoakt2()
  
  MsgBox "Test"
  
  StartTimer
  
End Sub


Sub StopTimer()
  On Error Resume Next
  Application.OnTime earliesttime:=RunWhen, _
    procedure:=cRunWhat, schedule:=False
End Sub


Gruß Sepp

Anzeige
cRunIntervalSeconds = 30 , für einen ...
07.06.2015 15:56:09
Sepp
... 30 Sekunden Interval!
Gruß Sepp

AW: macro alle 30 sek. wiederholen
07.06.2015 16:04:11
Daniel
HI
du musst das Application.Ontime auch im Makro "autoakt2" ausführen, das Makro muss sich also immer selbst aufrufen.
allerdings musst du hierbei beachten, dass du den zuletzt gemachten Aufruf zurücknimmst, wenn du die Datei schließt.
ansonsten wird sich die Datei nach den 30 sec. öffnen und das Makro ausführen.
daher brauchst du folgende Codes noch zusätzlich:
1. in einem allgemeinen Modul
Option Explicit
Public NächsteStartzeit as Date
Sub autoakt2()
NächsteStartzeit = Now + TimeSerial(0, 0, 30)
Application.Ontime NächsteStartzeit, "autoakt"
End Sub
2. im Modul "DieseArbeitsmappe"
Private Sub Workbook_Open()
NächsteStartzeit = Now + TimeSerial(0, 0, 30)
Application.OnTime NächsteStartzeit, "autoakt2"
End Sub
Private Sub Workbook_BeforeClose(Cancel As Boolean)
if NächsteStartzeit > Now then Application.Ontime NächsteStartzeit, "autoakt2", schedule:=false
End Sub

wenns aber nur um das reine Aktualisieren der Textdatei ohne weiter Markos geht, dann kannst du auch so vorgehen:
- importiere die Textdatei über die Importfunktion DATEN - EXTERNE DATEN - AUS TEXT
- stelle in den DATENBEREICHSEIGENSCHAFTEN das entsprechende Aktualisierungsintervall ein.
(kannst du auch nachträglich über das Kontextmenü hinzufügen (rechte Maustaste auf eine Zelle des Imports))
Gruß Daniel

Anzeige
AW: macro alle 30 sek. wiederholen
07.06.2015 18:07:14
Uwe
So nun hab ich es am laufen!!!!!
Lieben Dank an Sepp und Daniel.
Noch einen schönen Restsonntag!
Gruß Uwe

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige