Live-Forum - Die aktuellen Beiträge
Datum
Titel
23.04.2024 14:59:21
23.04.2024 14:47:39
23.04.2024 14:23:45
Anzeige
Archiv - Navigation
1840to1844
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

Zeilen nach Bedingung Farbig

Zeilen nach Bedingung Farbig
04.08.2021 15:36:49
Dom
Hallo Zusammen,
ich habe eine Tabelle mit 9 Spalten:
Pro | Name | ID | App | DOC | CR | Version | VF | GNC
es soll, wenn in der Spalte G (Version) der Wert 1.0 steht, die Spalte F (CR) sowie Spalte G (Version) für alle Zeilen der Inhalt mit grüner Textfarbe geändert werden.
also wenn in Spalte G der Wert 1.0 steht dann ändere die Schriftfarbe, der Werte in den Zeilen, für Spalte G und F auf grün.
vielen Dank im Voraus

14
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen nach Bedingung Farbig
04.08.2021 15:43:53
SF
Hola,
als Formel in der bedingten Formatierung:
=$G2="1.0"
Gruß,
steve1da
AW: Zeilen nach Bedingung Farbig
04.08.2021 16:07:54
Dom
Danke für den Link
ich hab das Mal versucht zu schreiben nur es klappt leider nicht :(

Sub Version()
Dim lngZeile As Long
Dim lngZeileMax As Long
With Sheet1
lngZeileMax = .Range("G" & .Rows.Count).End(xlUp).Row
For lngZeile = 4 To lngZeileMax
If .Range("G" & lngZeile).Value = "1.0" Then
.Rows(lngZeile).Font.Color = -11480942
End If
Next lngZeile
End With
End Sub

Anzeige
und warum nicht mit bedingter Formatierung? o.w.T.
04.08.2021 16:16:06
Werner
AW: Zeilen nach Bedingung Farbig
05.08.2021 09:48:04
Charly
Hi Dom
Meine VBA Kenntnisse sind zwar sehr bescheiden, aber versuch mal so.
Bereich kannst du ja anpassen.

Sub Test_Version()
Dim cell As Object
Application.ScreenUpdating = False
With Sheets(1)
For Each cell In .Range("G4:G" & .Cells(Rows.Count, 7).End(xlUp).Row)
If .Range(.Cells(cell.Row, 1), .Cells(cell.Row, 26)).Interior.Color = -11480942 Then
.Range("A4:Z" & .Cells(Rows.Count, 7).End(xlUp).Row).Interior.Color = xlNone
End If
If cell = "1.0" Then .Range(.Cells(cell.Row, 1), .Cells(cell.Row, 26)).Interior.Color = -11480942
Next cell
End With
End Sub
Gruß Charly
Anzeige
AW: Zeilen nach Bedingung Farbig
05.08.2021 10:20:43
Pierre
Hallo Dom,
1.

With Sheet1
heißt

With Sheets(1)
2. willst du nun die gesamte Zeile grün haben oder nur F & G?
Wenn du die gesamte Zeile färben willst, dann würde der Code an sich bis auf die Änderung unter 1. passen. Wenn wirklich nur F & G gefärbt werden sollen, dann brauchst du noch eine weitere kleine Anpassung:

If .Range("G" & lngZeile).Value = "1.0" Then
.Rows(lngZeile).Font.Color = -11480942
wird zu:

If .Range("G" & lngZeile).Value = "1.0" Then
.Range("F" & lngZeile, "G" & lngZeile).Font.Color = -11480942
3. würde ich vielleicht noch ein ElseIf einbauen, damit die Schriftfarbe wieder schwarz wird, wenn der Eintrag 1.0 aus Spalte G gelöscht bzw. verändert wird. Ist das gewünscht? Wenn ja, dann einfach nach deinem If-Block nochmal den Gleichen mit ElseIf einfügen, nur hier nicht Value = sondern Value . Hier natürlich den Colorcode ändern.
Gruß Pierre
PS: Nächstes Mal vielleicht direkt mitteilen, dass du die Sache gerne über VBA lösen willst ;-)
Anzeige
AW: Zeilen nach Bedingung Farbig
06.08.2021 10:50:44
Dom
Hallo erstmal Danke das klappt soweit :)
jetzt habe ich noch ein Frage:
in meiner Tabelle in Spalte F steht cancelled: mit unterschiedlichem Text
Jedes Mal wenn in der Zeile das Keywort cancelled steht soll die Formatierung durchgeführt werden.
Nur wie schreib ich das in den Code ?
Beispiel :
cancelled: obsolete
cancelled: obsolete, replaced
cancelled: ....

Sub Version()
Dim lngZeile As Long
Dim lngZeileMax As Long
With Sheets(1)
lngZeileMax = .Range("A" & .Rows.Count).End(xlUp).Row
For lngZeile = 1 To lngZeileMax
If .Range("F" & lngZeile).Value = "*?cancelled*?" Then
.Range("F" & lngZeile, "G" & lngZeile).Font.Colorindex = 3
End If
Next lngZeile
End With
End Sub

Anzeige
AW: Zeilen nach Bedingung Farbig
06.08.2021 11:15:01
GerdL
Moin,
zwei der Möglichkeiten:

If .Cells(lngZeile, 6).Value Like "*cancelled*" Then

If Instr(.Cells(lngZeile, 6), "cancelled") > 0 Then 
Gruß Gerd
AW: Zeilen nach Bedingung Farbig
06.08.2021 11:26:15
Dom
Danke :)
wie kann ich die beiden Sub's in eine schreiben ?
Wenn in der Spalte 7, in den Zeilen "1.0" steht dann wird der Text in Spalte 6 und 7 grün formatiert.
Wenn in der Spalte 6 das KeyWort cancelled steht dann wird der Text in Spalte 6 und 7 rot formatiert.

Sub Version()
Dim lngZeile As Long
Dim lngZeileMax As Long
With Sheets(1)
lngZeileMax = .Range("A" & .Rows.Count).End(xlUp).Row
For lngZeile = 1 To lngZeileMax
If .Cells(lngZeile, 7).Value Like "1.0" Then
.Range("F" & lngZeile, "G" & lngZeile).Font.Color = -11489280
End If
Next lngZeile
End With
End Sub

Sub Version2()
Dim lngZeile As Long
Dim lngZeileMax As Long
With Sheets(1)
lngZeileMax = .Range("A" & .Rows.Count).End(xlUp).Row
For lngZeile = 1 To lngZeileMax
If .Cells(lngZeile, 6).Value Like "*cancelled*" Then
.Range("F" & lngZeile, "G" & lngZeile).Font.ColorIndex = 3
End If
Next lngZeile
End With
End Sub

Anzeige
AW: Zeilen nach Bedingung Farbig
06.08.2021 11:35:47
Pierre
Hallo Dom,
ohne Test, sollte aber gehen:

If .Cells(lngZeile, 7).Value Like "1.0" Then
.Range("F" & lngZeile, "G" & lngZeile).Font.Color = -11489280
If .Cells(lngZeile, 6).Value Like "*cancelled*" Then
.Range("F" & lngZeile, "G" & lngZeile).Font.ColorIndex = 3
End If
End If
Das muss in deinem 1. Code zwischen die For-Next-Schleife, der Rest bleibt so stehen wie es ist.
Übrigens würde ich persönlich mich für eines entscheiden, entweder Color oder ColorIndex ;-)
Möchtest du meinen Vorschlag bzgl. Farblöschung nicht umsetzen? Musst du natürlich auch nicht, ich sehe diesen nur nicht in deinem Code.
Gruß Pierre
Anzeige
AW: Zeilen nach Bedingung Farbig
06.08.2021 12:46:35
Dom
Danke Pierre :)
das mit dem ifelse klappt noch nicht. Bekomme einen compile Fehler

Sub formatierung()
Dim lngZeile As Long
Dim lngZeileMax As Long
With Sheets(1)
lngZeileMax = .Range("A" & .Rows.Count).End(xlUp).Row
For lngZeile = 1 To lngZeileMax
If .Cells(lngZeile, 7).Value Like "1.0" Then
.Range("F" & lngZeile, "G" & lngZeile).Font.ColorIndex = 10
ifElse
.Cells(lngZeile, 7).Value  "1.0" Then
.Range("F" & lngZeile, "G" & lngZeile).Font.ColorIndex = 1
End If
If .Cells(lngZeile, 6).Value Like "*cancelled*" Then
.Range("F" & lngZeile, "G" & lngZeile).Font.ColorIndex = 3
.Range("B" & lngZeile).Font.ColorIndex = 3
End If
Next lngZeile
End With
End Sub

Anzeige
AW: Zeilen nach Bedingung Farbig
06.08.2021 13:05:32
Pierre
Wie kommst du darauf, den Code so aufzubauen? o.O

Sub Version()
Dim lngZeile As Long
Dim lngZeileMax As Long
With Sheets(1)
lngZeileMax = .Range("A" & .Rows.Count).End(xlUp).Row
For lngZeile = 1 To lngZeileMax
If .Cells(lngZeile, 6).Value Like "*cancelled*" Then
.Range("F" & lngZeile, "G" & lngZeile).Font.ColorIndex = 3  'rot
ElseIf .Cells(lngZeile, 6).Value  "*cancelled*" Then
.Range("F" & lngZeile, "G" & lngZeile).Font.ColorIndex = 1 'schwarz!
If .Cells(lngZeile, 7).Value Like "1.0" Then
.Range("F" & lngZeile, "G" & lngZeile).Font.ColorIndex = 43  'grün!
ElseIf .Cells(lngZeile, 7).Value  "1.0" Then
.Range("F" & lngZeile, "G" & lngZeile).Font.ColorIndex = 1 'schwarz!
End If
End If
Next lngZeile
End With
End Sub
Versuch es so. Für mich übersichtlicher ist es (da der Code ja nun keine 100.000 Zeilen hat), die If-Blöcke zu trennen:
Würde dann so aussehen:

If .Cells(lngZeile, 6).Value Like "*cancelled*" Then
.Range("F" & lngZeile, "G" & lngZeile).Font.ColorIndex = 3  'rot
ElseIf .Cells(lngZeile, 6).Value  "*cancelled*" Then
.Range("F" & lngZeile, "G" & lngZeile).Font.ColorIndex = 1 'schwarz!
End If
If .Cells(lngZeile, 7).Value Like "1.0" Then
.Range("F" & lngZeile, "G" & lngZeile).Font.ColorIndex = 43  'grün!
ElseIf .Cells(lngZeile, 7).Value  "1.0" Then
.Range("F" & lngZeile, "G" & lngZeile).Font.ColorIndex = 1 'schwarz!
End If
Ob das jetzt mit den Jokern und dem Like funktioniert, weiß ich nicht, habe ich nicht getestet!
Gruß Pierre
PS: Das heißt, wie du fett gedruckt sehen kannst, ElseIf und nicht IfElse!
Anzeige
noch etwas:
06.08.2021 13:08:39
Pierre
Entscheide dich am Besten für entweder

Cells(lngZeile, 6)
ODER

Range("F" & lngZeile)
Ich bin nur zu faul, das für dich zu ändern ;-)
AW: Schrift in Zellen nach Bedingung farbig
06.08.2021 13:59:22
GerdL
Moin

Sub Unit()
Dim lngZeile As Long
With Sheets(1)
.Columns("F:G").Font.ColorIndex = 1
For lngZeile = 1 To Application.Max(.Cells(.Rows.Count, 6).End(xlUp).Row, .Cells(.Rows.Count, 7).End(xlUp).Row)
If .Cells(lngZeile, 6).Value Like "*cancelled*" Then
.Cells(lngZeile, 6).Resize(1, 2).Font.ColorIndex = 3
ElseIf .Cells(lngZeile, 7).Text = "1.0" Then
.Cells(lngZeile, 6).Resize(1, 2).Font.Color = -11480942
End If
Next lngZeile
End With
End Sub
Gruß Gerd
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige