Live-Forum - Die aktuellen Beiträge
Datum
Titel
28.03.2024 21:12:36
28.03.2024 18:31:49
Anzeige
Archiv - Navigation
1520to1524
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

Zeile einfärben wenn zwei Bedingungen erfüllt sind

Zeile einfärben wenn zwei Bedingungen erfüllt sind
03.11.2016 10:15:13
Pseudo
Hallo zusammen,
ich habe folgenden Code, der auch funktioniert:
Dim c As Range
Dim V As Long
With ActiveSheet
On Error GoTo ende
Kogr = .Columns(1).Find("Kogr", LookIn:=xlValues, LookAt:=xlWhole).Row
V = .Rows(Kogr).Find("V", LookIn:=xlValues, LookAt:=xlWhole).Column
lastcell = .Cells(Rows.Count, 1).End(xlUp).Row
For Each c In .Range(.Cells(Kogr + 1, V), .Cells(lastcell, V))
If c = "*" Then
.Rows(c.Row).Interior.ColorIndex = 43
Else
.Rows(c.Row).Interior.ColorIndex = 3
End If
Next
.Columns(V + 1).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
.Cells(Kogr, V + 1) = "Kommentar "
End With
ende:
Es wird in der Spalte, in der "V" als Spaltenüberschrift steht gesucht. Dann wird überprüft, ob in dieser Spalte "*" steht, ist das der Fall wird die ganze Zeile grün eingefärbt, falls nicht in rot.
Jetzt soll noch in der Spalte, in der "St" steht, nach "3" gesucht werden.
Diejenigen Zeilen die zum einen in der "V" Spalte kein "*" aufweisen und zum anderen in der "St" Spalte eine "3" aufweisen, sollen nun in einer dritten Farbe eingefärbt werden.
Das Ganze muss, wie ihr sehen könnt, variabel gehalten werden, da die Zeile in der "Kogr" steht und die Spaltenpositionen sich verändern können.
Das übersteigt meinen Horizont leider. Hier der Link zur Datei:

https://www.herber.de/bbs/user/109165.xlsm

Danke schon einmal im Voraus für Eure Hilfe!
Gruß,
Pseudo

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

Betreff
Datum
Anwender
Anzeige
Zeile einfärben wenn zwei Bedingungen erfüllt sind
03.11.2016 11:22:44
Michael
Hi Pseudo,
hier der Code bis zur Hälfte Deiner Sub:
Option Explicit
Sub Stuecklistenfilter_PM()
Dim Zeile As Long, i As Long
Dim ZeileEnd As Long, lastRow As Long
Dim strString As String, rngCell As Range
Dim cV As Long, cSt As Long, Kogr As Long
Dim aV, aSt ' ohne Angabe = as Variant; Verwendung als "Array"
Const suchStr = "Kogr", suchV = "V", suchSt = "St"
'Kopfzeilen Fett
Set rngCell = Columns(1).Find(suchStr, LookAt:=xlWhole, LookIn:=xlValues, MatchCase:=False)
If Not rngCell Is Nothing Then
Kogr = rngCell.Row
Rows("1:" & Kogr).EntireRow.Font.Bold = True
Else
MsgBox "Kogr bei der Auswertung mit ausgeben lassen und neu versuchen"
Exit Sub
End If
' Zeilen werden als Vertriebsteil gekennzeichnet (Grün) oder als nicht Vertriebsteil (gelb) und  _
Kommentarfeld wird eingefügt
Set rngCell = Rows(Kogr).Find(suchV, LookIn:=xlValues, LookAt:=xlWhole)
If Not rngCell Is Nothing Then
cV = rngCell.Column
Else
MsgBox "Spalte " & suchV & " nicht gefunden"
Exit Sub
End If
Set rngCell = Rows(Kogr).Find(suchSt, LookIn:=xlValues, LookAt:=xlWhole)
If Not rngCell Is Nothing Then
cSt = rngCell.Column
Else
MsgBox "Spalte " & suchSt & " nicht gefunden"
Exit Sub
End If
lastRow = Cells(Rows.Count, 1).End(xlUp).Row
Stop
'Application.ScreenUpdating = False
aV = Cells(1, cV).Resize(lastRow)
aSt = Cells(1, cSt).Resize(lastRow)
For i = Kogr + 1 To lastRow
If aV(i, 1) = "*" Then
Rows(i).Interior.ColorIndex = 43
Else
If aSt(i, 1) = 3 Then
Rows(i).Interior.ColorIndex = 7
Else
Rows(i).Interior.ColorIndex = 3
End If
End If
Next
Columns(cV + 1).Insert Shift:=xlToRight, CopyOrigin:=xlFormatFromLeftOrAbove
Cells(Kogr, cV + 1) = "Kommentar "
Exit Sub ' diese Zeile dann löschen
Schöne Grüße,
Michael
Anzeige
AW: Zeile einfärben wenn zwei .
03.11.2016 13:05:33
Pseudo
Hi Michael,
danke für´s aufräumen ;-)
Funktioniert alles wunderbar, habe nur noch ein MatchCase:= False bei der Suche nach "St" hinzugefügt, da die Spaltenüberschriften manchmal nur in Großbuchstaben sind.
Vielen Dank nochmal!
Viele Grüße,
Pseudo
gern geschehen,
03.11.2016 13:56:02
Michael
Pseudo,
vielen Dank für die Rückmeldung & schöne Grüße zurück,
Michael
AW: gern geschehen,
03.11.2016 13:59:39
Pseudo
Michael,
ist es eventuell auch noch möglich, eine bedingte Formatierung für die mit "Kommentar" gekennzeichnete Spalte einzufügen?
Bedingung wäre: Wenn Zellwert 0, dann Färbe die ganze Zeile gelb.
Ich habe es zwar mit dem Recorder probiert, bekomme es aber nicht in die vorhandene Syntax...
Pseudo
Anzeige

397 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige