Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
336to340
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
336to340
336to340
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bedingte Formatierung mit mehr als 3 Kriterien

Bedingte Formatierung mit mehr als 3 Kriterien
16.11.2003 15:16:44
Thomas
Hallo zusammen,

dieses Forum ist ja inzwischen ein richtiges Lexikon für mich. Nun muss ich aber doch auch mal was fragen.

Ich arbeite an einem Analyse-Tool.

Ich möchte nun, dass die Zellen einer Spalte, abhängig von bis zu 5 Krtierien, die Hintergrundfarbe ändern. Die Kriterien stehen jeweils 4 Spalten weiter rechts.

Also zB. Zelle A3 soll rot werden, wenn Wert in Zelle E3 > 5.
Zelle A4 soll blau werden, wenn Wert in Zelle E4 >4

Alle Makros die ich gefunden habe beziehen sich auf eine einzige Zelle, oder auf einen ganzen Bereich. Da sich aber mit jeder neuen Zeile auch die Zellebezüge ändern, kann ich ja nicht für 400 Zeilen 400 x das Makro einbinden

Mit Formeln ist das ja sehr einfach, aber wie man das in einem Makro realisiert...??

Würde mich sehr über Hilfe freuen und hoffe das ich micht nicht alzu unverständlich ausgedrückt habe

Thomas

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bedingte Formatierung mit mehr als 3 Kriterien
16.11.2003 15:23:26
Josef Ehrensberger
Hallo Thomas,

schreib ins Modul der Tabelle diesen Code.


Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Column <> 5 Then Exit Sub
Select Case Target
Case Is > 5
Target.Offset(0, -4).Interior.ColorIndex = 5
Case Is > 4
Target.Offset(0, -4).Interior.ColorIndex = 3
Case Is > 3
Target.Offset(0, -4).Interior.ColorIndex = 4
Case Is > 2
Target.Offset(0, -4).Interior.ColorIndex = 6
Case Is > 1
Target.Offset(0, -4).Interior.ColorIndex = 8
Case Else
Target.Offset(0, -4).Interior.ColorIndex = xlNone
End Select
End Sub


Die Farben kannst du nach deinen Wünschen anpassen.

Gruß Sepp
Anzeige
AW: Bedingte Formatierung mit mehr als 3 Kriterien
16.11.2003 16:30:59
Thomas
Hallo Sepp,

vielen Dank, dass ist genau was ich gesucht habe:-) Leider habe ich aber noch ein kleines winziges Problem! Ich kopiere das ja in das Modul der Tabelle m it dem Parameter "Change".
Ich importiere über VBA Daten in die Tabelle. Leider arbeitet hier das Makro nicht sofort, sondern erst wenn ich von Hand einen Wert in de Bezugszelle ändere. Wie kann ich es denn hinbekommen, dass er das Makro nach dem Import auslöst?

Thomas
AW: Bedingte Formatierung mit mehr als 3 Kriterien
16.11.2003 17:01:29
Josef Ehrensberger
Hi Thomas,
der import über VBA löst keinen Event aus.

Du kannst aber dieses Makro nach deinem ImportMakro
laufen lassen

Sub thomas()
Dim rng As Range
Dim Bereich As Range
Set Bereich = [E1:E1000] 'Bereich anpassen
[A1:A100].Interior.ColorIndex = xlNone
For Each rng In Bereich
If rng <> "" Then
Select Case rng
Case Is > 5
rng.Offset(0, -4).Interior.ColorIndex = 5
Case Is > 4
rng.Offset(0, -4).Interior.ColorIndex = 3
Case Is > 3
rng.Offset(0, -4).Interior.ColorIndex = 4
Case Is > 2
rng.Offset(0, -4).Interior.ColorIndex = 6
Case Is > 1
rng.Offset(0, -4).Interior.ColorIndex = 8
Case Else
rng.Offset(0, -4).Interior.ColorIndex = xlNone
End Select
End If
Next

Gruß Sepp
Anzeige
AW: Bedingte Formatierung mit mehr als 3 Kriterien
16.11.2003 15:36:21
Beni
Hallo Thomas,
fügen diesen Code in das Tabellenmodul ein.
Gruss Beni


Private Sub Worksheet_Change(ByVal Target As Range)
For i = 1 To Cells(Rows.Count, 5).End(xlUp).Row
If Cells(i, 5) > 5 Then Cells(i, 1).Interior.ColorIndex = 3 Else _
Cells(i, 1).Interior.ColorIndex = xlNone
If Cells(i, 5) > 4 Then Cells(i, 1).Interior.ColorIndex = 5 Else _
Cells(i, 1).Interior.ColorIndex = xlNone
'weitere Kriterien
Next i
End Sub

328 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige