Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Inhaltsverzeichnis

makro im hintergrund ausführen

Forumthread: makro im hintergrund ausführen

makro im hintergrund ausführen
08.02.2004 18:01:22
arne
Hallo Forum,
ich habe folgende frage:
ich habe einen kleinen timer, der im hintergrund dafür sorgt, dass in kurzen abständen ein zellvergleich durchgeführt wird.
mit dem folgenden code, kommt es aber durch den sheet wechsel zu kurzen bildschirmflackern. ist es möglich die aktion komplett in den hintergrund zu verlegen, dass ich nicht zwischen den blättern hin und her springen muss?
schönen dank
arne

Sub Sub_Aus()
Application.ScreenUpdating = False
Sheets("Text").Activate
Range("B2").Select
Selection.QueryTable.Refresh BackgroundQuery:=False 'aktuellen Zeitpunkt holen
If Range("A2").Value = Range("B2").Value Then
GoTo StartTimer
Else: Sheets("Pivot").PivotTables("Pivot1").RefreshTable
Range("B2").Select
Selection.Copy
Range("A2").Select
ActiveSheet.Paste
Sheets("Pivot").Activate
Application.ScreenUpdating = True
StartTimer
End If
StartTimer:
Sheets("Pivot").Activate
Application.ScreenUpdating = True
StartTimer
End Sub

Anzeige

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

Betreff
Datum
Anwender
Anzeige
AW: makro im hintergrund ausführen
08.02.2004 19:21:01
Jens
Hi
Wie wäre es so. Nur in VBA und nicht noch mit Basic drin (goto).

Sub Sub_Aus()
Application.ScreenUpdating = False
With Sheets("Text") 'Vor alles was mit . beginnt noch die Tabelle davor setzten
.Range("B2").QueryTable.Refresh BackgroundQuery:=False 'aktuellen Zeitpunkt holen
If .Range("A2") <> .Range("B2") Then
Sheets("Pivot").PivotTables("Pivot1").RefreshTable
.Range("B2").Copy .Range("A2") 'Copy - Ziel
Application.ScreenUpdating = True
StartTimer
Exit 

Sub 'Als "Exit Sub" schreiben - Fehler im Forum
End If
End With
Application.ScreenUpdating = True
StartTimer
End Sub

Gruß Jens
Anzeige
AW: makro im hintergrund ausführen
08.02.2004 20:50:39
arne
Hi Jens!
klar! :) geht ja auch anders rum! danke!
so ist es eleganter.
seltsamerweise, flackert der bildschirm immer noch kurz, obwohl in der version kein blattwechsel vorgenommen wird... ?!
das hier ist der timer code

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

dazu gehören noch ein paar globale var, aber das wars dann eigentlich auch schon.
keine ahnung wo das herkommen kann.
Schönen dank und schönen gruß
arne
Anzeige
AW: makro im hintergrund ausführen
08.02.2004 20:56:57
Jens
100%ig bekomme ich das Flackern auch nie Weg.
Gerate wenn man andere Datei öffnent z.B. Flackert das Bild kurz.
Vielleicht wird es durch das QueryTable.Refresh BackgroundQuery ausgelöst.
Ich hatte mal ein Programm da konnte man den Bildschirm einfrieren lassen.
Ist aber nicht so gut da man beim Programm fehler nur Reset drücken konnt um wieder was zu sehen.
Gruß Jens
Anzeige
AW: makro im hintergrund ausführen
08.02.2004 21:54:14
arne
ich werd da wohl noch ein wenig rumdoktorn.
vielen dank für das umschreiben. :)
gruß
arne
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

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