Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1380to1384
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

Makro ohne erkennbare Einzelschritte

Makro ohne erkennbare Einzelschritte
14.09.2014 12:18:56
Eric

Hallo! Ein Arbeitsblatt enthält zwei Diagramme mit Diagrammübeschriften. Per Makro sollen die Überschriften geändert werden. Zuvor sollen beide Überschriften blinken, um auf die besvorstehende Änderung hinzuweisen. Den Code dazu habe ich. Es geht hier nur um das erkennbare Blinken der Überschriften.
Private Declare


Sub Sleep Lib "kernel32" (ByVal dwMilliseconds As Long)

Sub Farben_wechseln()
Dim C As Byte, X As Byte
For C = 1 To 2
For X = 1 To 20    Sheets(Worksheets.Count).ChartObjects(C).Chart.ChartTitle.Characters.Font. _
Color = RGB(255, 51, 0)
Sleep 50
Sheets(Worksheets.Count).ChartObjects(C).Chart.ChartTitle.Characters.Font.Color = RGB(0, 0, 0)
Sleep 50
Next X
Next C
End Sub
Problem: Der Code funktioniert, aber das Blinken ist bei Klick auf die Makroschaltfläche nicht zu sehen. Nur, wenn ich das Makro manuell über die F8 Taste durchführe, wechseln die Farben der Überschriften wie gewünscht.
Kann mir bitte jemand bei der Lösung des Problems helfen? Vielen Dank!
Mfg Eric

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

Betreff
Datum
Anwender
Anzeige
AW: Makro ohne erkennbare Einzelschritte
14.09.2014 12:23:54
Hajo_Zi
Hallo Eric,
vor Next X Application.Wait Now + TimeValue("00:00:01")

AW: Makro ohne erkennbare Einzelschritte
14.09.2014 12:25:47
{Boris}
Hi Eric,
nur ne schnelle Vermutung: Wie startest Du den Code? Mittels CommandButton aus dem Tabellenblatt heraus?
Dann stell mal die TakeFocusOnClick-Eigenschaft des Buttons aus FALSE.
Ist völlig ungetestet, kann daher auch Nonsens sein.
VG, Boris

AW: Makro ohne erkennbare Einzelschritte
14.09.2014 13:10:21
Eric
Hallo Hajo, Hallo Boris,
vielen Dank für eure schnelle Rückmeldung! Der Code wird über eine Makroschaltfläche gestartet, nicht über einen CommandButton. Der Code liegt in einem Modul, nicht in einem Tabellenblatt. Leider hat sich durch Application.Wait ... nicht viel geändert, außer daß der Code länger braucht. Aber das Blinken kann man immer noch nicht sehen. Ich habe es auch mit EnableEvents versucht, aber auch das bringt nichts. Komisch ist, daß nach demselben Prinzip eine Zelle ohne Probleme zum Blinken gebracht werden kann. Habt ihr eventuell noch eine andere Idee?
Ich danke euch vorab für eure Hilfe!
Mfg Eric

Anzeige
AW: Makro ohne erkennbare Einzelschritte
14.09.2014 13:51:37
Eric
Hallo Hajo, Hallo Boris!
Hier die Lösung.
For C = 1 To 2
For X = 1 To 10
Sheets(Worksheets.Count).ChartObjects(C).Chart. _
ChartTitle.Characters.Font.Color = RGB(255, 51, 0)
Application.Wait Now + 0.1 / 86400
Sheets(Worksheets.Count).ChartObjects(C).Chart. _
ChartTitle.Characters.Font.Color = RGB(0, 0, 0)
Application.Wait Now + 0.1 / 86400
Next X
Next C
Application.Wait von Hajo war schon nah dran. Nur
muss man es nach jedem Farbwechsel angeben. Da mir
eine Sekunde ("00:00:01") zu lange ist, habe ich
0.1 / 86400 gewählt. Das ist 1/10 Sekunde, da der
Time String ein Datum ist. 60 Sekunden mal 60 Minuten
mal 24 Stunden sind 86.400 Sekunden am Tag und davon
eben 0.1, also 1/10 Sekunde.
Nur, warum ist das so umständlich und bei Zellen
blinken lassen so einfach mit der Sleep Funktion?
Weiß jemand darauf eine Antwort? Würde mich einfach
interessieren.
Nochmals vielen Dank!
Mfg Eric

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige