Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
376to380
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
376to380
376to380
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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
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

66 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige