Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1420to1424
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

Felder Einfärben

Felder Einfärben
22.04.2015 09:34:23
Ronny
Ich möchte Felder in verschiedenen Spalten nach verschiedenen Bedingungen einfärben.
In einer Spalte nach einer Bedingung klappt. Aber wie ich das Ausbaue weiss ich nicht.
Dim p, j As Long
For p = 5 To lz
If Cells(p, 4).Value 
Nun möchte ich für Spalte D alle Felder mit dem Wert grösser 2.0 und kleiner -2.0 orange einfärben und wenn der Wert grösser 4.0 oder kleiner -4.0 ist dann rot einfärben.
In der Spalte H, L und S möchte ich das gleiche auch machen.
Ev. möchte ich in anderen Spalten nach weiteren Bedingungen Zellen einfärben, weiss ich jedoch noch nicht.
Hat jemand eine Idee wie ich das löse?

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bedingte Formatierung! oT
22.04.2015 09:50:30
JoWE

AW: Bedingte Formatierung! oT
22.04.2015 12:52:16
Ronny
Das ist mir klar, ich möchte das aber per Makro machen da ich eh schon Makros brauche.

AW: Na, dann mal los! oT
22.04.2015 13:48:06
JoWe

AW: Na, dann mal los! oT
22.04.2015 14:43:10
Ronny
Was genau soll mir diese Antwort jetzt bringen? Willst du etwas damit sagen oder was es bloss ein Kommentar?

AW: Na, dann mal los! oT
22.04.2015 19:23:07
JoWE
Huch, entschuldige.
Mit so einer mimosenhaften Reaktion hatte ich nicht gerechnet.
Aus meiner Sicht ist ein Makro stets Unsinn, wenn Excel eine Tabellenfunktion zur Lösung bereits beinhaltet. Daher meine Antwort verbunden mit dem (!)Ausrufungszeichen zur Signalisierung, dass die Frage wieder offen gestellt ist. Das sollte eine Aufforderung für andere Antworter darstellen, hier andere und bessere Lösungen anzubieten.
Melde mich jetzt erst, weil ich leider nicht wirklich Unmengen an Zeit für dieses tolle Forum habe.
Also nix für Ungut
Jochen

Anzeige
AW: Felder Einfärben
22.04.2015 18:03:06
Jannik
So hier einige Zeilen für dein Problem. Ich denke das ist so aufgebaut, dass du es je nach Bedarf einfach erweitern kannst, wenn noch weitere Farben oder Spalten hinzukommen...
Sub farbe()
Dim p, j As Long, lz As Integer
'ich denke mal mit lz war letztezeile gemeint
lz = Cells(Rows.Count, 1).End(xlUp).Row
'wenn du mehr Spalten einbinden möchtest, füge weitere ElseIfs hinzu und erhöhe den Loop unten
i = 0
Do
i = i + 1
If i = 1 Then
spalte = "D"
ElseIf i = 2 Then
spalte = "H"
ElseIf i = 3 Then
spalte = "L"
ElseIf i = 4 Then
spalte = "S"
End If
For p = 5 To lz
If Cells(p, spalte).Value  2 And Cells(p, spalte).Value  -4 Then
With Cells(p, spalte).Interior
.ColorIndex = 4 'die Farben musst du noch zuordnen
.Pattern = xlSolid
End With
Else
With Cells(p, spalte).Interior
.ColorIndex = 5 'die Farben musst du noch zuordnen
.Pattern = xlSolid
End With
End If
Next p
Loop Until i = 4
End Sub

Anzeige
AW: Felder Einfärben
22.04.2015 18:03:22
Jannik
So hier einige Zeilen für dein Problem. Ich denke das ist so aufgebaut, dass du es je nach Bedarf einfach erweitern kannst, wenn noch weitere Farben oder Spalten hinzukommen...
Sub farbe()
Dim p, j As Long, lz As Integer
'ich denke mal mit lz war letztezeile gemeint
lz = Cells(Rows.Count, 1).End(xlUp).Row
'wenn du mehr Spalten einbinden möchtest, füge weitere ElseIfs hinzu und erhöhe den Loop unten
i = 0
Do
i = i + 1
If i = 1 Then
spalte = "D"
ElseIf i = 2 Then
spalte = "H"
ElseIf i = 3 Then
spalte = "L"
ElseIf i = 4 Then
spalte = "S"
End If
For p = 5 To lz
If Cells(p, spalte).Value  2 And Cells(p, spalte).Value  -4 Then
With Cells(p, spalte).Interior
.ColorIndex = 4 'die Farben musst du noch zuordnen
.Pattern = xlSolid
End With
Else
With Cells(p, spalte).Interior
.ColorIndex = 5 'die Farben musst du noch zuordnen
.Pattern = xlSolid
End With
End If
Next p
Loop Until i = 4
End Sub

Anzeige
AW: Felder Einfärben
22.04.2015 20:42:08
Ronny
Hallo Jannik
Das funktioniert super. Ich habe kleinere Anpassungen gemacht das es für meine Anwendung passt.
Besten Dank für deine Hilfe! Ist ne tolle Sache!

AW: Felder Einfärben
23.04.2015 07:57:50
hary
Moin Ronny
Was heisst:"kleinere Anpassungen gemacht"?
Hab auch noch was.
Bezogen auf Janniks Loesung:
Dim strSpalte
Dim i As Long
Dim lz As Long
Dim zelle As Range
Dim farbe As Integer
lz = Cells(Rows.Count, 1).End(xlUp).Row
strSpalte = Split("D,H,L,S", ",") 'hier die Spalten
For i = LBound(strSpalte) To UBound(strSpalte)
For Each zelle In Cells(5, strSpalte(i)).Resize(lz - 5, 1)
If zelle  2 And zelle  -4) Then
farbe = 4
Else
farbe = 5
End If
zelle.Interior.ColorIndex = farbe
Next
Next

Evtl meinst du es auch so!?
Dim strSpalte
Dim i As Long
Dim lz As Long
Dim zelle As Range
Dim farbe As Integer
lz = Cells(Rows.Count, 1).End(xlUp).Row
strSpalte = Split("D,H,L,S", ",")
For i = LBound(strSpalte) To UBound(strSpalte)
For Each zelle In Cells(5, strSpalte(i)).Resize(lz - 5, 1)
Select Case Abs(zelle)
Case Is 

gruss hary
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige