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

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

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

54 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige