Thema Datum  Von Nutzer Rating
Antwort
13.02.2017 11:41:36 Lisa
NotSolved
Blau Ampelfarbe einer Ampel auf andere übernehmen
13.02.2017 15:47:11 BigBen
NotSolved

Ansicht des Beitrags:
Von:
BigBen
Datum:
13.02.2017 15:47:11
Views:
575
Rating: Antwort:
  Ja
Thema:
Ampelfarbe einer Ampel auf andere übernehmen

Hallo,

um den Aufwand bei mehreren Ampeln gering zu halten, habe ich den VBA-Code überarbeitet:

Enum Flag
    aus = 0
    Rot = 1
    RotGelb = 3
    Gruen = 4
    Gelb = 2
End Enum

Sub Ampel(Status As Flag, Ampel As String)
    Dim sh As Shape
    For Each sh In ActiveSheet.Shapes
        If Left(sh.Name, Len(Ampel)) = Ampel Then
            ' Grün
            With sh.Fill
                Select Case LCase(Right(sh.Name, Len(sh.Name) - Len(Ampel)))
                    Case "gruen"
                        If (Status And Flag.Gruen) = Flag.Gruen Then
                            .ForeColor.SchemeColor = 11
                            .Visible = msoTrue
                            .Solid
                        Else
                            .ForeColor.SchemeColor = 9
                        End If
                    Case "gelb"
                        If (Status And Flag.Gelb) = Flag.Gelb Then
                            .ForeColor.SchemeColor = 13
                            .Visible = msoTrue
                            .Solid
                        Else
                            .ForeColor.SchemeColor = 9
                        End If
                    Case "rot"
                        If (Status And Flag.Rot) = Flag.Rot Then
                            .ForeColor.SchemeColor = 10
                            .Visible = msoTrue
                            .Solid
                        Else
                            .ForeColor.SchemeColor = 9
                        End If
                    Case Else
                End Select
            End With
        End If
    Next
End Sub


Sub Ampel1Gruen()
    Ampel Flag.Gruen, "1"
End Sub

Sub Ampel1Gelb()
    Ampel Flag.Gelb, "1"
End Sub

Sub Ampel1Rot()
    Ampel Flag.Rot, "1"
End Sub

Sub Ampel2Gruen()
    Ampel Flag.Gruen, "2"
End Sub

Sub Ampel2Gelb()
    Ampel Flag.Gelb, "2"
End Sub

Sub Ampel2Rot()
    Ampel Flag.Rot, "2"
End Sub

Hierbei wird die eigentliche Zuweisung in nur einem Sub Befehl durchgeführt.

Eine Beispiel-Arbeitsmappe kann hier heruntergeladen werden.

LG, BigBen


Ihre Antwort
  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen
Thema: Name: Email:



  • Bitte beschreiben Sie Ihr Problem möglichst ausführlich. (Wichtige Info z.B.: Office Version, Betriebssystem, Wo genau kommen Sie nicht weiter)
  • Bitte helfen Sie ebenfalls wenn Ihnen geholfen werden konnte und markieren Sie Ihre Anfrage als erledigt (Klick auf Häckchen)
  • Bei Crossposting, entsprechende Links auf andere Forenbeiträge beifügen / nachtragen
  • Codeschnipsel am besten über den Code-Button im Text-Editor einfügen
  • Die Angabe der Emailadresse ist freiwillig und wird nur verwendet, um Sie bei Antworten auf Ihren Beitrag zu benachrichtigen

Thema Datum  Von Nutzer Rating
Antwort
13.02.2017 11:41:36 Lisa
NotSolved
Blau Ampelfarbe einer Ampel auf andere übernehmen
13.02.2017 15:47:11 BigBen
NotSolved