Excel: Cell Hintergrundfarbe aendern

  • Sonstige

Es gibt 7 Antworten in diesem Thema. Der letzte Beitrag () ist von alchimist.

    Excel: Cell Hintergrundfarbe aendern

    Hallo,

    ich habe ein kleines Problem: ich werde in Excel die Hintergrundfarbe einer Zelle auf 'Rot' setzen und die Schriftfarbe auf 'weiss' + bold, wenn der Zelleninhalt einen bestimmten Wert uebersteigt.

    Ueblicherweise wuerde ich dieses Problem mit Conditional Formating loesen, aber ich habe eine Tabelle mit ca. 250 rows und 6 columns.
    Der Farbewechsel soll nun fuer jede einzelne Cell erfolgen, so dass Conditional Formating sehr aufwendig ist.

    Ich habe da an eine Loesung in VB gedacht, bin aber leider voellig ohne das Wissen in VB, vielleicht will mir jemand bei dem Problem helfen, BITTE

    Vielen Dank
    Lucy
    1. Ist das kein Thema fürs Hauptforum sondern für VBA!!

    2. Sind die einzelnen Zellen ja in einer Art 2D-Array gespeichert.

    also bla.Cell(1,1).bla

    Du kannst einfach mit zwei for schleifen drüber laufen:

    dim i as integer, j as integer

    Quellcode

    1. For i = 1 to 6
    2. For j = 1 to 250
    3. bla.Cell(i,j).bla = bla
    4. next j
    5. next i


    Ich hoffe, dass ich mich da jetzt nicht irre... ich arbeite nicht so oft mit Excel und VBA...
    Der Code von Mad Andy ist ja vom Grundsatz her nicht falsch, aber das was er mit "bla" beschrieben hat, ist eigentlich genau das, was man braucht (und nicht findet). Ich habe nämlich derzeit genau das gleiche Problem und komme einfach nicht weiter. Ich finde keinerlei Eigenschaften/Methoden zum Ändern irgendwelcher Farben.

    Gibt es in Excel eigentlich einen Makro-Rekorder? Damit könnte man vielleicht den Code dafür erzeugen?!
    Besucht auch mein anderes Forum:
    Das Amateurfilm-Forum
    Versuchs mal mit

    Quellcode

    1. Tabelle1.Cells(i, j).Font.Color = vbWhite
    2. Tabelle1.Cells(i, j).Font.Font.Background = vbRed


    Aber ich glabe, dass das Background nur die Hintergrundfarbe beim Text setzt und somit is nicht die ganze Zelle Rot!!
    ich kann dir sagen, wie dus ganz einfach testen kannst:

    Du tippst:

    Quellcode

    1. tabelle1.cell.


    Und dann kommt so ein Dropdown, wo alle eigenschaften drin stehen.
    Wenn du was gefunden hast, musst du aber nach cell noch (1,1) einfügen. Wenn du dies tust, wird die Liste aber nichtmehr angezeigt....

    Du kannst dich do ja mal durchprobieren :)
    Hallo Lucy,

    zum Testen kann ich dir nur den Makrorekorder empfehlen:
    -Einschalten
    -Aktion durchführen
    -Anhalten des Makrorekorders
    -Analyse des Quelltextes

    Dann könnte da soetwas herauskommen:

    Quellcode

    1. Sub formatRange(oRgn As Range)
    2. Dim oCell As Range 'Zellen sind ein Range-Objekt und auch so definiert
    3. For Each oCell In oRgn.Cells 'Guck dir jede Zelle des Range an
    4. If CLng(oCell.Text) > 5 Then 'Wenn der Wert größer als 5 mache etwas
    5. With oCell
    6. .Font.Bold = True
    7. .Interior.ColorIndex = 3
    8. .Font.ColorIndex = 2
    9. End With
    10. End If
    11. Next
    12. End Sub
    13. Sub test()
    14. 'Teste den Bereich A1:C3
    15. formatRange Tabelle1.Range("A1:C3")
    16. End Sub


    Gruß Markus