Live-Forum - Die aktuellen Beiträge
Datum
Titel
24.04.2024 19:29:30
24.04.2024 18:49:56
24.04.2024 17:19:09
Anzeige
Archiv - Navigation
264to268
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
264to268
264to268
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Ergebnis Blinken lassen

Ergebnis Blinken lassen
11.06.2003 12:18:25
Bernd Schneider
Hi Folks
ich bastel an einem Lagerverwaltungsprogramm
wie kann ich ein Ergebnis Farbig Blinken lassen wenn
ein gewisser Wert (5) unterschritten wird ?

Und wo ich gerade am Dumm fragen binn
wie Kreiere ich einen Buttom der zellen wie
a2, b2, a4, b4, a8, b8 etc auf die Zahl 0 setzt ?

THX Bernd Schneider

12
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Nachfrage
11.06.2003 12:49:55
B. Schneider

Hallo, danke für die Hilfe
das mit dem Buttom Funzt 1A (freu)

aber mit dem Script komm ich nicht ganz klar
ich habe das script als Klassenmodul in Diese Arbeitsmappe
eingefügt...
jetzt müsste ich doch noch bestimmte Zellen angeben
die ab ... Wert Farbig blinken sollen z.B. D5, D7, D9, D11 etc
sollen bei enem Wert unter 5 in Rot Blinken bis der Wert wieder
über 5 ist, dazu muss ich sicher das Script anpassen oder ändern.
Ich finde in dem Script nicht einmal einen bestimmten zellbezug ?
Oder muss ich den einzelnen Zellen ein Makro zuweisen ?
wie müsste ich das machen ?

Vielen Dank Bernd

Anzeige
Re: Nachfrage
11.06.2003 13:19:16
WernerB.

Hallo Bernd,

ich habe mich zuvor noch nie inhaltlich mit der Blinkerei befasst, aber den Lösungsansatz aus den xlFAQ interpretiere ich wie folgt:

1. Das Makro "Private Sub Workbook ..." gehört in das Klassenmodul von "DieseArbeitsmappe".

2. Die drei Public-Variablen und die drei anderen Makros gehören in ein Standard-Modul.

3. Du musst Dir noch ein ereignisgesteuertes Makro erstellen, das die Makros "BlinkenEin" bzw. "BlinkenEnde" aufruft. Dieses zusätzliche Makro ist im Klassenmodul des betreffenden Arbeitsblattes abzulegen.

4. Darüber hinaus muss sehr wahrscheinlich auch noch das Makro "Blinken" auf Deine individuellen Wünsche angepasst werden.


MfG
WernerB.

Anzeige
Re: Nachfrage
11.06.2003 13:30:18
B. Schneider

ich bekomme immer einen Fehler in diesen Zeilen

Application.OnTime earliesttime:=gdNextTime, _
procedure:=gsMacro, schedule:=True

Methode OnTime ist für Application Fehlgeschlagen ???
was kann das sein ?
Grüße Bernd


2te Feherlquelle
11.06.2003 13:35:24
B. Schneider

Bei diesen Zeilen wird der Fehler bem Kompilern ausgegeben

Public Const giIntervall As Integer = 1
Public Const gsMacro As String = "Blinken"

(für mich sind das alles nur Böhmische Dörfer)

Grüße Bernd

Re: Nachfrage
11.06.2003 13:44:50
WernerB.

Hallo Bernd,

die von Dir geschilderten Fehler kann ich nicht nachvollziehen.
Zum Testen habe ich mir die Makros (xlFAQ) entsprechend meiner Beschreibung in die verschiedenen Module kopiert, ein kleines ereignisgesteuertes Makro erstellt und keine Probleme bei der Ausführung gehabt.


MfG
WernerB.

Anzeige
Re: Nachfrage
11.06.2003 13:52:13
B.Schneider

wie muss denn das Ereignisgesteuerte Makro aussehen

ich habe im Klassen modul:

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call BlinkenEnde
End Sub

StandardModule: basMain

Public Const giIntervall As Integer = 1
Public Const gsMacro As String = "Blinken"
Public gdNextTime As Double


Im Normalen Modul

Sub BlinkenEin()
gdNextTime = Now + TimeSerial(0, 0, giIntervall)
Application.OnTime earliesttime:=gdNextTime, _
procedure:=gsMacro, schedule:=True
End Sub

Private Sub Blinken()
With ActiveCell
If .Interior.ColorIndex = 6 Then
.Interior.ColorIndex = 9
.Font.ColorIndex = 6
Else
.Interior.ColorIndex = 6
.Font.ColorIndex = 9
End If
End With
Call BlinkenEin
End Sub


Sub BlinkenEnde()
On Error Resume Next
Application.OnTime earliesttime:=gdNextTime, _
procedure:=gsMacro, schedule:=False
End Sub

Private Sub Class_Initialize()

End Sub

Ist das so Richtig ?
Grüße Bernd, und vielen Dank für deine geduld mit mir :)


Anzeige
Re: Nachfrage
11.06.2003 14:02:16
WernerB.

Hallo Bernd!

im Klassenmodul von "DieseArbeitsmappe":

Private Sub Workbook_BeforeClose(Cancel As Boolean)
Call BlinkenEnde
End Sub


In einem Standardmodul:

Public Const giIntervall As Integer = 1
Public Const gsMacro As String = "Blinken"
Public gdNextTime As Double

Sub BlinkenEin()
gdNextTime = Now + TimeSerial(0, 0, giIntervall)
Application.OnTime earliesttime:=gdNextTime, _
procedure:=gsMacro, schedule:=True
End Sub

Private Sub Blinken()
With ActiveCell
If .Interior.ColorIndex = 6 Then
.Interior.ColorIndex = 9
.Font.ColorIndex = 6
Else
.Interior.ColorIndex = 6
.Font.ColorIndex = 9
End If
End With
Call BlinkenEin
End Sub

Sub BlinkenEnde()
On Error Resume Next
Application.OnTime earliesttime:=gdNextTime, _
procedure:=gsMacro, schedule:=False
End Sub


Im Klassenmodul des betreffenden Arbeitsblattes (z.B. "Tabelle1"):

Private Sub Worksheet_Change(ByVal Target As Excel.Range)
If Target.Address <> "$D$10" Then Exit Sub
If Target.Value > 5 Then
Call BlinkenEin
Else
Call BlinkenEnde
End If
End Sub


Das muss natürlich noch auf Deine Wünsche angepasst werden.
Hier reagiert das Konstrukt auf den Wert in der Zelle "D10" (größer 5 = Blinken).


MfG
WernerB.

Anzeige
1 habe ich noch
11.06.2003 14:22:34
B. Schneider

OK das klappt soweit, könnte ich jetzt
auch "Blinken ein" und "Blinken aus" mit
einer wenn, dann formel starten ?

Also ein Makro mit Wenn starten, geht das ?

MFG Bernd Schneider

Re: 1 habe ich noch
11.06.2003 14:34:32
WernerB.

Hallo Bernd,

m.W. geht das nicht, ich lasse mich aber gerne eines Besseren belehren.

Du könntest ja auch zwei Schalter mit den entsprechenden Makroaufrufen belegen.

Das ereignisgesteuerte Makro ist doch im Grunde auch nur eine "Wenn-Dann"-Konstruktion; damit solltest Du doch zurechtkommen.

Für heute mach ich Schluß.


MfG
WernerB.

Re: 1 habe ich noch
11.06.2003 14:43:06
B. Schneider

Danke erstmal.

Bernd

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige