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

3 VBA-Fragen

3 VBA-Fragen
03.08.2003 19:27:43
Wolfgang
Hallo,
ich hätte 3 VBA-Fragen:
1) OnTime - Methode:
------------------------
Kann man irgendwie feststellen, ob mit der OnTime-Methode die Ausführung einer bestimmten Prozedur bereits geplant ist? Also kann man Abfragen, ob Excel in der nächsten zeit eine bestimmte Methode ausführen wird, die z.B. mit Application.OnTime gesetzt wurde? Hintergrund: wenn eine bestimmte Prozedur ausgeführt wird, möchte ich die Ausführung einer anderen Prozedur mit der OnTime-Methode in Auftrag geben. Aber nur dann, wenn dies nicht bereits geschehen ist. Also, muss ich abfragen, ob Excel bereits plant, diese Prozedur aufgrund eines OnTime-Calls auszuführen. Helfen würde auch, wenn man alle OnTime-Aufrufe einfach löschen könnte.
2) Ansicht zentrieren mit VBA:
--------------------------------
Gibt es mit VBA eine Art "Center-Funktion" für die Ansicht? Ein Beispiel: wenn ich etwa über VBA z.B. Range("Z29").Select ausführe, möchte ich, dass dann die Ansicht so gescrollt wird, dass diese Zelle am Mittelpunkt des Bildschirms ist. ist das möglich?
3) Excel-Fenster in den Vordergrund bringen, Excel-Icon in der Taskleiste blinken lassen, Fenster von Excel aus anzeigen, das im Vordergrund erscheint.
---------------------------------
Hintergrund: Im Rahmen eines Projekts brauche ich unter anderem eine bereits erstellte Kalenderfunktion mit bereits funktionierenden Terminerinnerungen. Nun sollten die Erinnerungen aber so ablaufen, dass ich auch erinnert werde, wenn Excel zwar geöffnet, aber ein anderes Fenster im Vordergrund ist (kein Ton auf den PCs verfügbar, Beep fällt also flach). Wenn eine der obigen Möglichkeiten - am liebsten wäre mir blinkendes Icon in Taskleiste - möglich wäre, wäre das toll.
Danke schon mal :-)
Wolfgang

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Zu 2
03.08.2003 19:34:17
Hajo_Zi
Hallo Wolfgang
zu 2
auf Select kann zu 99% in VBA verzichtet werden.
Die Ausrichtung ist von der Bildschirmauflösung abhängig.
Eine Anzeige oben Links wäre möglich.
Gruß Hajo
Falls Code vorhanden wurde dieser getestet unter Betriebssystem XP Pro und Excel Version XP SBE.
Bitte kein Mail, Probleme sollen im Forum gelöst werden.
Microsoft MVP für Excel
Das Forum lebt auch von den Rückmeldungen.

AW: Zu 2
03.08.2003 19:47:29
Wolfgang
Hi,
Danke für deine Antwort.
Ich glaube schon, dass man auf Select verzichten kann, aber ICH WILL Select ja ausführen, weil ich dem user eine Zelle vorselektieren will .... ;-)
Naja, aber im Grunde ist das auch das geringste von den 3 Problemen - die anderen 2 bereiten mir mehr Kopfzerbrechen....

Anzeige
AW: Zu 2
03.08.2003 21:51:52
Ramses
Hallo Wolfgang,
da musst du wahrscheinlich deinen Code von neu auf programmieren.
die OnTim Methode lässt sich nur schwer abfragen, und wenn du alles durchgehen willst, musst du jede Sekunde prüfen.
Einfacher ist es wenn du die OnTime-Anweisungen in einer Public-Variablen definierst.
Beispiel:
Public OnTime1 As Boolean
Public OnTime1Cmd As Boolean

Sub Start_Ontime1()
'Es wird geprüft ob der CMD-Befehl Falsch ist
'also das Makro nicht ausgeführt werden soll
If OnTime1Cmd = False Then
OnTime1 = False
Exit Sub
End If
'Die Variable wird mit WAHR gefüllt
OnTime1 = True
Application.Ontime ......  Ontime_1_Makro
End Sub


Sub Ontime_1_Makro()
'Die Variable wird wieder zurückgesetzt
OnTime1 = False
'Deine Anweisung
End Sub


Sub Kill_All_OnTime()
Dim i As Integer
For i = 1 to 10 'Soviele Ontime-Anweisungen wie du halt hast
"OnTime" & i & "Cmd" = False
Next i
End Sub

Damit kannst du prüfen, ob die Variable gesetzt ist, also ob eine Ontime Anweisung zur Ausführung ansteht und auch alle gleichzeitig löschen.
Kompliziert, aber es trifft deine Fragestellung :-)
Gruss Rainer

Anzeige
AW: Zu 2
03.08.2003 22:17:22
Wolfgang
Hi Rainer!
Vielen Dank für deinen Tipp! Sowas wie eine globale Variable oder das setzen eines Flags in eine Zelle trifft aber leider nicht das, was ich brauche :-( , weil das Problem folgendes ist: aus irgendeinem Grund schlägt die Ausführung einer Methode, die mit OnTime gescheduled wurde, manchmal fehl, wenn eben zeitgleich durch den user andere Methoden ausgeführt werden (vermute ich mal). Deshalb habe ich in allen methoden, die der user über einen Button starten kann, wieder einen Aufruf meiner Methode mit OnTime gescheduled .... das problem ist nur: wenn ich das ständig mache, hab ich aber zuviele Aufrufe..... wenn ich jetzt eine globale Variable lese, nutzt mir das aber leider auch nichts,
vielleicht könnte man aber alle gesetzten OnTime-Schedules löschen?
Danke
Wolfgang

Anzeige
Dann habe ich auch keine weitere Idee mehr. o.T.
03.08.2003 22:56:04
Ramses
...

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige