Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1172to1176
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
Inhaltsverzeichnis

Zellfarbe per VBA / bedingte Formatierung

Zellfarbe per VBA / bedingte Formatierung
guffels
Hallo zusammen,
ich möchte gerne, dass in der Zelle oberhalb der zu überprüfenden Zelle die Hintergrundfarbe anhand von Kriterien geändert wird. Es gibt 6 verschiedene Text-Kriterien ("RS", "RA", "GF", usw.). Leider kann ich in 2003 ja nur 3 Farben über die bedingte Formatierung festlegen.
Meine Idee ist nun, "einfach" jede Zelle in dem Tabellenblatt zu überprüfen und gegebenfalls zu ändern, nur wie? Oder geht das nicht?
Vielen Dank Im Voraus!
Gruß Michael
AW: Zellfarbe per VBA / bedingte Formatierung
30.08.2010 17:55:11
ransi
HAllo
jede Zelle in dem Tabellenblatt zu überprüfen und gegebenfalls zu ändern,
Das geht auch, würde ich mir an deiner Stelle aber nochmal überlegen.
das ist sehr rechenintensiv und macht ein zügiges Arbeiten in der Tabelle unmöglich.
Kannst du den Bereich irgendwie einschränken ?
ransi
AW: Zellfarbe per VBA / bedingte Formatierung
30.08.2010 20:31:43
guffels
Hallo,
ja, ich kann den Bereich schon ein wenig einschränken, dachte aber das wäre zu schwierig zu programmieren. Es sind ca 150 Spalten und 110 Zeilen, also um die 16.500 Zellen. Wahrscheinlich reicht das schon aus, um die Datei extrem langsam zu machen, da ich auch noch andere aufwendigere Summenproduktformeln dort habe.....
Michael
Anzeige
AW: Zellfarbe per VBA / bedingte Formatierung
30.08.2010 20:47:04
ransi
HAllo
ALso 16500 Zellen sollten noch kein Problem darstellen.
Teste mal sowas:
' **********************************************************************
' Modul: Tabelle1 Typ: Element der Mappe(Sheet, Workbook, ...)
' **********************************************************************

Option Explicit

Private Sub Worksheet_Calculate()
Dim arr As Variant
Dim L As Long
Dim I As Integer
arr = Range("A1:ET110") 'Range("a1").CurrentRegion
On Error Resume Next
Application.ScreenUpdating = False
For L = 1 To UBound(arr)
    For I = 1 To UBound(arr, 2)
        Select Case arr(L, I)
            Case "A": Cells(L, I).Interior.ColorIndex = 3 'Anpassen
            Case "B": Cells(L, I).Interior.ColorIndex = 30 'Anpassen
            Case "C": Cells(L, I).Interior.ColorIndex = 21 'Anpassen
            Case "D": Cells(L, I).Interior.ColorIndex = 47 'Anpassen
            Case "E": Cells(L, I).Interior.ColorIndex = 4 'Anpassen
            Case "F": Cells(L, I).Interior.ColorIndex = 27 'Anpassen
        End Select
    Next
Next
Application.ScreenUpdating = True
End Sub


ransi
Anzeige
Wie du weißt, da du ja neulich meinen...
31.08.2010 16:54:11
Luc:-?
…Hinweis aufgegriffen hast, Ransi,
geht das auch mit dynamisierter BedingtFormatierung; spart das Rückstellen, wenn die (Hpt-)Bedingung nicht mehr zutrifft… ;-)
Gruß Luc :-?
AW: Wie du weißt, da du ja neulich meinen...
31.08.2010 18:37:54
guffels
Hallo zusammen,
die Prozedur klappt, bei der Antwort von Luc verstehe ich nur Bahnhof.
Wie spricht man eigentlich die Schriftfarbe per VBA an?
Gibt es eine Liste, in der ich die Nummern zu den Farben zuordnen kann?
Schon mal vielen Dank für Eure Bemühungen!
Gruß Michael
AW: Wie du weißt, da du ja neulich meinen...
31.08.2010 19:43:00
Hajo_Zi
Hallo Michael,
.Font.Color = 225
oder .Font.ColorIndex = 3
ColorIndex Farbliste in Hilfe
unter PatternColorIndex

Anzeige
AW: Wie du weißt, da du ja neulich meinen...
31.08.2010 19:43:00
Hajo_Zi
Hallo Michael,
.Font.Color = 225
oder .Font.ColorIndex = 3
ColorIndex Farbliste in Hilfe
unter PatternColorIndex

Das war keine Antwort für dich! Ansonsten...
01.09.2010 18:23:32
Luc:-?
…gibt's da oben rechts noch 'nen grauen Button Alle Recherchen, Michael… :->

330 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige