Wie in Excel Anstieg und Abstieg von Zahlen visuell darstellen. Anstieg zur vorherigen Zahl=Feld wird grün eingefärbt, geringerer Wert zur vorherigen Zahl=rot?

Beispiel - (Excel, Formel, Microsoft Excel)

3 Antworten

Vom Fragesteller als hilfreich ausgezeichnet

Die Bedingten Formatierungen sind der Schlüssel. Angenommen, die Werte stehen in Spalte B ab Zeile 2, dann

  • Markiere die Liste der Werte bis auf den ersten (z. B. B3:B9)
  • Start → Formatvorlagen → Bedingte Formatierung → Regeln zur Hervorhebung von Zellen → Größer als... → =$B2 und Format grün wählen
  • Start → Formatvorlagen → Bedingte Formatierung → Regeln zur Hervorhebung von Zellen → Kleiner als... → =$B2 und Format rot wählen
Private Sub Workbook_SheetActivate(ByVal Sh As Object)
Dim i As Integer
i = 2
Do While Sh.Range("A" & i).Value <> Empty
Select Case True
Case Sh.Range("A" & i).Value > Sh.Range("A" & i - 1).Value
Sh.Range("B" & i).Interior.Color = RGB(0, 255, 0)
Case Sh.Range("A" & i).Value < Sh.Range("A" & i - 1).Value
Sh.Range("B" & i).Interior.Color = RGB(255, 0, 0)
Case Else
End Select
i = i + 1
Loop
End Sub

Das Snippet mußt du in das Objekt: DieseArbeitsmappe kopieren:

Entwicklertools--> Visual Basic

0
@Brainchild

Du mußt zum aktuellen Sheet wechseln damit die Farben aktualisiert werden.

0

Sorry, aber das ist nicht nur "mit Kanonen auf Spatzen schießen", sonder mit dem SheetActivate-Ereignis auch einfach unpraktisch.
Den Code selbst wäre mit "For Each..." imho auch schöner.

Jeden falls finde ich es nicht sinnvoll ein "hauseigene" Funktion, nämlich "Bedingte Formatierung" (siehe @Suboptimierer) durch ein VBA-Script zu ersetzen.
Wo läge da der Vorteil?

0
@Oubyi

Hey Oubyi, bist du da nicht etwas streng mit Brainchild? Vielleicht kannte er die bedingten Formatierungen nicht oder er hat sich zu voreilig vom Fragesteller entmutigen lassen, der es über diesen Weg bereits erfolglos versucht hat.

1
@Oubyi

Für ein "For Each" bräuchte man eine Collection. Ich kenne keine Collection-Objekt in Excel, daß alle Zellen mit Zahlen enthält. Die While-Schleife habe ich gewählt, damit der Code auch funktioniert, wenn der Bereich der Zahlen sich verändert.

Bei der Wahl des Ereignisses habe ich mich für das SheetActivate entschieden. Workbook_Open wollte ich nicht verwenden. Es kommt natürlich auf den Anwendungfall an . Wird die Tabelle oft geändert und dabei das Workbook nicht neu geöffnet ist Workbook_Open unpaktisch.

1
@Brainchild

Danke für eure hilfreichen Kommentare. Ich probiere das auch gleich mal aus.

0

Ich kenn das nur mit selbst einfärben. 

Mehrere WENN Abfragen in einer Zelle(Excel)?

Ich muss in einer Zelle mehrere Abfragen machen =WENN(UND(A3="WERT";E3="Ja";J3="WERT");"ROT";"" ) =WENN(UND(A3="WERT";E3="Ja";J3="WERT");"ORANGE";"" ) Also wenn die Zelle die erste Formel erfüllt, steht im Feld ROT, wenn die Zelle die untere Formel erfüllt, steht im Feld ORANGE und wenn es nicht stimmt steht Garnichts.

...zur Frage

Google Spreadsheet Formeln?

Moin!

Ich würd gerne in Google Spreadsheet einige Sachen automatisch einfügen lassen.

Genauer möchte ich in A1 ein Datum eintragen (bspw 13.03.18) und mir dann von Google in A2. B2, C2, D2, E2, F2 und G2 die folgenden Wochentage mit Datum eintragen lassen, beispielsweise dann 'Montag, 13. März' in A2, 'Dienstag, 14. März' in B2 usw.

Nun ist die Frage, wie ich das mache, welche Formeln oder Formatierungen ich dafür nutzen muss und so weiter.

Vielen Dank für eure Hilfe!

...zur Frage

Wenn Dann Formel Excel

Hallo Ich habe eine Frage zur Wenn Dann Formel. Was muss man ins "sonst" Feld eintragen, damit Excel in das Feld nicht #FEHLER oder #WERT einträgt?

...zur Frage

Excel - Autofilter: Formelbezug auf stets gleiche Zeile?

Servus,

ich arbeite an einer Exceltabelle, in welcher ich sowohl Autofilter als auch bedingte Formatierung verwenden möchte. Meine Bedingte Formatierung sieht in etwa so aus: Wenn der Wert in Zelle A1 größer 1 ist, wird Zelle B1 rot.

Wenn ich jetzt den Autofilter verwnde und anders sortiere, wird aus meiner vorherigen Zeile 1 die neue Zeile 2. Der Autofilter sagt jetzt: A1 ist größer 1, Zelle B2 wird rot. Er bezieht sich also auf die neue Zeile A1.

Richtig wäre aber, dass er sich stets auf die entsprechende Zelle in der gleichen Zeile bezieht, in der auch die Zelle mit der bedingten Formatierung liegt, in diesem Fall sollte sich die bedingte Formatierung also automatisch anpassen, auf: Wenn der Wert in Zelle A2 größer 1 ist, wird Zelle B2 rot.

Gibt es hier irgendwelche Möglichkeiten, das Zeil zu erreichen?

Vielen Dank für jegliche Anregung, Jörg

...zur Frage

Was möchtest Du wissen?