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

bedindgte formatierung + schleife

Forumthread: bedindgte formatierung + schleife

bedindgte formatierung + schleife
11.04.2005 01:14:58
Gabor
Hallo liebe Experten,
ich habe wieder einmal ein Problem bei dem ich nicht weiter komme.
Ich möchte gern in meiner Tabelle auf den Blättern 1 bis 20 folgende Formatierungen erreichen: wenn in Spalte Q (ab Zeile 4) der Wert 1 oder 2 steht soll die Zelle in Spalte N (selbe Zeile) eine rote Hintergrungfarbe annehmen, wenn der Wert in Q gleich 3 ist soll die Zelle in N einen grünen Hintergrund annehmen. Der Bereich beginnt in Zeile 4 und ist nach unten variabel.
Ich bin für jeden Hinweis dankbar.
Gabor
Anzeige

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bedindgte formatierung + schleife
11.04.2005 02:10:07
PeterW
Hallo Gabor,
klicke auf das Register des Blattes 1, drücke und halte die Shift-Taste und kliche auf das Register des Blattes 20. Sofern die Blätter nicht hintereinander stehen benutzte statt der Shift die STRG-Taste.
Klicke auf N4 - Format - Bedingte Formatierung - Formel ist =ODER(Q4=1;Q4=2) - Format festlegen - Hinzufügen - Formel ist Q4=3 - Format festlegen - OK
N4 ist noch immer ausgewählt! Klicke auf "Format übertragen" (den Pinsel) und dann STRG+Shift drücken und halten - Pfeiltaste runter.
Abschließend auf ein beliebiges Register klicken und sehen was bei Eingaben in Spalte Q passiert.
Gruß
Peter
Anzeige
AW: bedindgte formatierung + schleife
11.04.2005 02:33:07
Gabor
Peter,
danke für die schnelle Antwort (um diese Zeit). Kann man das Problem auch mit einem makro lösen. Die Zellen der Blätter 1 bis 20 werden bei jedem Durchlauf gelöscht mit allen Formatierungen und müssen erst am Ende aller Berechnungen neu formatiert werden.
Eine "Formatierungsschleife" für ein Blatte würde mir auch reichen - da kopiere ich sie halt in jedes Blatt rein.
Gabor
Anzeige
AW: bedindgte formatierung + schleife
11.04.2005 12:52:57
PeterW
Hallo Gabor,
natürlich geht das auch per Makro. Der Rekorder zeichnet das so auf:

Sub Makro1()
' Makro1 Makro
' Makro am 11.04.2005 aufgezeichnet
With Range("N4")
.FormatConditions.Delete
.FormatConditions.Add Type:=xlExpression, Formula1:= _
"=ODER(Q4=1;Q4=2)"
.FormatConditions(1).Interior.ColorIndex = 3
.FormatConditions.Add Type:=xlExpression, Formula1:="=Q4=3"
.FormatConditions(2).Interior.ColorIndex = 4
.Copy
.PasteSpecial Paste:=xlPasteFormats
Application.CutCopyMode = False
Range(Range("N4"), Range("N4").End(xlDown)).Select
.Select
End With
End Sub

Aber warum löschst du die Zellen und nicht nur die Inhalte? Zeig mal deinen Code.
Gruß
Peter
Anzeige
AW: bedindgte formatierung + schleife
11.04.2005 15:07:26
Gabor
Peter,
ich habe jetzt die Farbformatierung auf "1 oder 2 in Q --> Zelle N wird rot" beschrenkt.
Die Schleife läuft ohne Probleme. Allerdings mußte ich den CODE 20x hintereinander einfügen (dafüt fehlt mir noch die Lösung.

Sub mark_ooc()
Dim i As Integer
'1
'ermittlung des Wertes in Q
Sheets("1").Select
Range("Q4").Select
ActiveCell.FormulaR1C1 = _
"=IF(RC[-3]<1,4,IF(auswertung!R10C4=RC[-4],IF(auswertung!R9C2<RC[-3],1,IF(auswertung!R11C2>RC[-3],2,3)),5))"
Range("Q4").Select
Selection.AutoFill Destination:=Range("Q4:Q" & Cells(Rows.Count, 1).End(xlUp).Row), Type:=xlFillDefault
'Farbformatierung von N
For i = Cells(Rows.Count, 4).End(xlUp).Row To 1 Step -1
If Cells(i, 14) <> "" And Cells(i, 17) = 1 Or Cells(i, 17) = 2 Then Cells(i, 14).Interior.ColorIndex = 3
Next i
Range("E2").Select
End Sub

Die gesamten Zellen werden in einen vorhergehenden Makroschritt gelöscht.
Gabor
Anzeige
AW: bedindgte formatierung + schleife
11.04.2005 17:02:30
PeterW
Hallo Gabor,
wenn der von dir gepostete Code 20 mal laufen soll (für Blatt 1 bis 20) dann leg eine Schleife drum:

Sub mark_ooc()
Dim i As Integer
Dim iCount As Integer
'1
'ermittlung des Wertes in Q
For iCount = 1 To 20
With Sheets(CStr(iCount))
.Range("Q4").FormulaR1C1 = _
"=IF(RC[-3]<1,4,IF(auswertung!R10C4=RC[-4],IF(auswertung!R9C2<RC[-3],1,IF(auswertung!R11C2>RC[-3],2,3)),5))"
.Range("Q4").AutoFill Destination:=.Range("Q4:Q" & .Cells(Rows.Count, 1).End(xlUp).Row), Type:=xlFillDefault
'Farbformatierung von N
For i = .Cells(Rows.Count, 4).End(xlUp).Row To 1 Step -1
If .Cells(i, 14) <> "" And .Cells(i, 17) = 1 Or .Cells(i, 17) = 2 Then .Cells(i, 14).Interior.ColorIndex = 3
Next i
End With
Next
End Sub

Was dein Code allerdings noch mit bedingter Formatierung zu tun hat kann ich nicht nachvollziehen.
Gruß
Peter
Anzeige
;

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige