Anzeige
Archiv - Navigation
520to524
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
520to524
520to524
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Frage zu Abweichungsanalyse - Ampel

Frage zu Abweichungsanalyse - Ampel
23.11.2004 12:56:26
Andy1980
Hallo.
ich arbeite gerade an einer Abweichungsanalyse und habe folgendes Problem. Ich habe ein Feld D3, in welches ich Planwerte einfüge und ein Feld E3 in welches ich Istwerte einfüge. Im Feld F3 ziehe ich den Istwert vom Planwert ab (also D3-E3). Die ABeichung soll in einem Kreis (Ellipse1) angezeigt werden mit grün, rot oder gelb.
Ich habe folgendes VBA Skript geschrieben um die Ampel zu steuern:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count = 1 And Target.Address = "$F$3" Then
Select Case Target.Value
Case 0 To 200
ActiveSheet.Shapes("Ellipse 1").Fill.ForeColor.SchemeColor = 11
Case 201 To 700
ActiveSheet.Shapes("Ellipse 1").Fill.ForeColor.SchemeColor = 13
Case Is > 700
ActiveSheet.Shapes("Ellipse 1").Fill.ForeColor.SchemeColor = 10
End Select
End If
End Sub

Das Problem ist nur, dass der Kreis nichts anzeigt aufgrund der Formel D3-E3 im Feld F3. Denn gebe ich im Feld F3 die Abweichung manuell ein ohne Formel funktioniert die Ampel.
Kann mir jemand der sich mit VBA auskennt helfen dieses Problem zu lösen?
Liebe Grüße
Andy

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Frage zu Abweichungsanalyse - Ampel
Dieter
Hallo Andy
versuch mal so:

Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Count <> 1 Then Exit Sub
If Target.Address = "$D$3" Or Target.Address = "$E$3" Then
Select Case Target.Value
Case 0 To 200
ActiveSheet.Shapes("Ellipse 1").Fill.ForeColor.SchemeColor = 11
Case 201 To 700
ActiveSheet.Shapes("Ellipse 1").Fill.ForeColor.SchemeColor = 13
Case Is > 700
ActiveSheet.Shapes("Ellipse 1").Fill.ForeColor.SchemeColor = 10
End Select
End If
End Sub

Noch eine Frage...
23.11.2004 17:03:31
Andy1980
Hallo,
danke für die Hilfe!!! Funktioniert tadellos! Ich hab jetzt noch zwei Fragen:
1. was genau sagen folgende Zeilen aus:
If Target.Count 1 Then Exit Sub
If Target.Address = "$D$3" Or Target.Address = "$E$3" Then
2. Kann man diese Farbänderung statt bei der Ellipse auch auf einen CommandButton anzeigen? Was muss ich dann am VBA Code ändern? Ich möchte nämlich in einem eigenen Tabellenblatt einen CommandButton ertsellen, der mir die Abweichung in der entsprechenden Farbe anzeigt, und der mich dann mit einem Mausklick zu dem Tabellenblatt bringt, in dem die Abweichungen stehen.
Wäre schön wenn mir noch jemand helfen könnte!
Liebe Grüße
Andy
Anzeige
AW: Noch eine Frage...
Dieter
Hallo Andy
zu 1.
If Target.Count 1 Then Exit Sub
wenn mehr als 1 Zelle markiert ist, dann beende das Makro
If Target.Address = "$D$3" Or Target.Address = "$E$3" Then
wenn Zelle "D3" oder Zelle "E3" markiert, bzw. verändert werden, führe das weitere Makro aus.
zu 2.
ja, du brauchst blos beim Commandbutton die Hintergrundfarbe ändern.
Gruß Dieter

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige