Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Formatierung mit mehr als 3 Bedingungen

Formatierung mit mehr als 3 Bedingungen
28.07.2005 17:32:08
andi
Hi,
möchte eine bedingte Formatierung mit mehr als 3 Bedingungen, genauer gesagt mit 4 per VBA realisieren.
Abhängig von den Werten in den Zeilen 6,7,8. In Zeile 6 steht beispielsweise der Wert 60 und in Zeile 7 der Wert 0,1 und in Zeile 8 der Wert 0,2.
Jetzt möchte ich in den Zeilen 10-60 die Werte formatieren: ist der Wert zwischen 60,01 und 59,08 grün färben. Ist der Zellwert 20% anders als die obere oder untere Grenze soll er orange sein, ist er weiter außerhalb soll er rot sein.
Habe folgendes Makro gefunden:

Private Sub Worksheet_Change(ByVal Target As Range)
With Target
Select Case .Value
Case 1: .Interior.ColorIndex = 3          'rot
Case "test": .Interior.ColorIndex = 5     'blau
'usw.
Case Else: .Interior.ColorIndex = xlNone
End Select
End With
End Sub

Möchte aber nicht das Worksheet_Change Ereignis, sondern abhängig vom Zellwert prüfen.
Mein größtes Problem: Die Werte in Spalte 10-60 prüfen. Die Werte stehen schon in der Mappe drinnen.
Wäre sehr nett, wenn mir jemand helfen könnte.
Gruß Andreas
Anzeige

3
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Formatierung mit mehr als 3 Bedingungen
28.07.2005 18:34:15
Berber
Hallo Anreas,
kopiere den Code in ein Modul, VBA Editor,
und führe ihn aus.
&ltpre&gt
Sub pruefenInhalt()
For zeile = 6 To 8 'Zeile 6,7,8
For spalte = 10 To 60 'Spalte
pruefwert = Sheets(1).Cells(zeile, spalte).Value
Select Case pruefwert
Case 59.08 To 60.01
Sheets(1).Cells(zeile, spalte).Interior.ColorIndex = 50
Case 47.26 To 59.07, 60.02 To 72.01
Sheets(1).Cells(zeile, spalte).Interior.ColorIndex = 46
Case Empty, "", 0, Null
Sheets(1).Cells(zeile, spalte).Interior.ColorIndex = xlNone
Case Is &lt 47.26, Is &gt 72.01
Sheets(1).Cells(zeile, spalte).Interior.ColorIndex = 3
End Select
Next
Next
End Sub&lt/pre&gt
Bitte prüfen ob die Toleranzbereiche 20% stimmen, sonst anpassen.
Anzeige
AW: Formatierung mit mehr als 3 Bedingungen
28.07.2005 19:14:24
andi
Hi Berber,
danke für deine Antwort. Habe das bis jetzt für eine Spalte:
Public

Sub Format()
Dim i As Integer
With Sheets("Daten")
For i = 10 To 60 'Zeilen 10 bis 60 durchgehen
'Werte an Variablen übergeben
wert = Cells(6, 4).Value
minTol = wert + Cells(8, 4).Value
maxTol = wert + Cells(7, 4).Value
orange_max = Cells(7, 4).Value * 20 / 100 * -1
orange_min = Cells(8, 4).Value * 20 / 100 * -1
If Cells(i, 4).Value <= maxTol And Cells(i, 4).Value >= minTol Then
Cells(i, 4).Font.ColorIndex = 10 'entsprechende Zelle grün einfärben
End If
If Cells(i, 4).Value <> maxTol And Cells(i, 4).Value <> minTol Then
Cells(i, 4).Font.ColorIndex = 3 'entsprechende Zelle rot einfärben
End If
If Cells(i, 4).Value <= maxTol And Cells(i, 4).Value >= maxTol - orange_max Then
Cells(i, 4).Font.ColorIndex = 46 'entsprechende Zelle orange einfärben
End If
If Cells(i, 4).Value <= minTol And Cells(i, 4).Value >= minTol - orange_min Then
Cells(i, 4).Font.ColorIndex = 46 'entsprechende Zelle orange einfärben
End If
Next i
End With
End Sub

Leider funktioniert das nicht, weil am Schluss alle orangen Formatierungen die grünen Überschreiben...
Übrigens: In Zeile 6-8 stehen die Zellwerte drinnen. Diese sollen nicht formatiert werden.
Wie kann ich da dein select case einbauen? Die 2 Schleife für die Spalten bekomme ich dann auch noch hin...
Gruß Andi
Anzeige
AW: Formatierung mit mehr als 3 Bedingungen
28.07.2005 19:59:11
Berber
Hallo Andreas,
sorry, aber da komme ich nicht ganz mit
wert = Cells(6, 4).Value
minTol = wert + Cells(8, 4).Value
maxTol = wert + Cells(7, 4).Value
orange_max = Cells(7, 4).Value * 20 / 100 * -1
orange_min = Cells(8, 4).Value * 20 / 100 * -1
welche werte stehen denn als Bsp. in D6,D7,D8 bitte mit Vorzeichen wenn negativ.
Gruss
Berber
Anzeige
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige