Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1628to1632
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
Vergleich 2er Zelleninhalte und färben...
29.06.2018 07:16:52
Klaus
Guten Morgen zusammen :)
Ich habe derzeit einen totalen Blackout was VBA angeht und weiß leider nicht einmal, wie ich für Google oder für ein Forum meine Frage korrekt formulieren soll.
Daher versuche ich nun mein Anliegen hier verständlich auszudrücken und hoffe auf eure Hilfe.
Ich habe folgende Tabelle:
https://www.herber.de/bbs/user/122379.xlsm
Zu beachten ist:
1. Die Tabelle ist nur ein Beispiel. Das Original hat ca. 20000 Zeilen
2. Die Tabelle wird täglich neu generiert
3. Spalte A wird von einem Programm generiert und der Inhalt der Zelle lässt sich nicht ändern.
4. Spalte C wird manuell eingefügt
5. Zum Testen habe ich in A25 einen Fehler eingebaut. Der Wert aus C25 wird hier nicht gefunden!
Was ist nun mein (bzw. mein Chef sein) Anliegen:
Der Inhalt von Zelle A2 soll nach dem Wert in Zelle C2 durchsucht werden. Wird genau dieser Wert gefunden soll Zelle D2 grün gefärbt werden. Wird der Wert nicht gefunden soll Zelle D2 rot gefärbt werden.
Next
Der Inhalt von Zelle A3 soll nach dem Wert in Zelle C3 durchsucht werden. Wird genau dieser Wert gefunden soll Zelle D3 grün gefärbt werden. Wird der Wert nicht gefunden soll Zelle D3 rot gefärbt werden.
Next
usw. ...
Für mich problematisch ist, dass in jeder Zeile nach einem anderen Wert aus Spalte C gesucht werden muss. Auch wenn es im Beispiel so wirkt, jeder Wert einer Zelle innerhalb einer Zeile ist unterschiedlich. Daher kann ich nicht mit einer "Standartschleife" arbeiten *denk*
Da mir, wie erwähnt, die entsprechenden Suchbegriffe fehlen, habe ich bisher nichts gefunden, was jede Zeile prüft und berücksichtigt, dass in jeder Zelle pro Zeile ein andere Wert steht.
Ich hoffe, ich konnte mein Anliegen verständlich ausdrücken und somit auf eine Antwort von euch hoffen.
Danke vorab :)

16
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: bed. Formatierung?
29.06.2018 07:44:43
hary
Moin
Kannst du nicht bed. Formatierung nutzen?
Fuer Gruen: =SUCHEN(C2;A2)
Fuer Rot: =ISTFEHLER(SUCHEN(C2;A2))
Mit VBA nimmst du eine Schleife und pruefst mit instr
gruss hary
AW: Vergleich 2er Zelleninhalte und färben...
29.06.2018 08:58:03
Rob
Mit Bedingter Formatierung kommst nicht weiter, weil in Spalte A noch andere Daten fortlaufend in die Zellen geschrieben sind.
Wie Hary erwähnt hat, kannst Du mit InStr prüfen ob der Zellinhalt von C2 in A2 enthalten ist. Instr gibt 0 aus, wenn nichts gefunden wurde -> deshalb anschließend mit einer if then else-Schleife die Zelle in Spalte D einfärben.

Sub Einfaerben ()
Dim r As Range
Dim FindC
For Each r In Intersect(UsedRange, Range("C:C"))
FindC = InStr(CStr(r.Offset(0, -2)), CStr(r))
If FindC  0 Then
r.Offset(0, 1).Interior.Color = RGB(146, 208, 80) 'Zelle in Spalte D in grün einfä _
rben
Else
r.Offset(0, 1).Interior.Color = RGB(255, 0, 0) 'Zelle in Spalte D in rot einfärben
End If
Next
End Sub
Wenn Du den Code über ein Modul laufen lässt, musst noch auf das Worksheet verweisen.
Anzeige
AW: @Rob
29.06.2018 09:07:22
hary
Moin Rob
Wie kommst du darauf?
"Mit Bedingter Formatierung kommst nicht weiter"
ansonsten eine Moeglichkeit:
Sub faerben()
Dim i As Long
With Worksheets("Tabelle1") '-- ggf. Blattname anpassen
For i = 2 To .Cells(Rows.Count, 3).End(xlUp).Row
.Cells(i, 4).Interior.Color = IIf(InStr(1, .Cells(i, 1), .Cells(i, 3)), vbGreen, vbRed)
Next
End With
End Sub

gruss hary
AW: @Rob
29.06.2018 09:13:09
Rob
Moin Hary,
wie soll das mit Bedingter Formatierung funktionieren?
PS: Schöne Idee mit IIf! Der Code wird dadurch schlanker.
AW: @Rob
29.06.2018 09:18:49
Klaus
Da war ich mit der Antwort wohl etwas zu langsam ^^
Also:
Die bed. Formatierung funktioniert. Auch über die 20000 Zeilen.
Der "schlankere" Code funktioniert auch super und sieht auch super aus.(Button habe ich hinbekommen. Hab einfach zu kompliziert gedacht)
Ich werde beides mal meinem Chef zeigen. Mal schauen, was er sagt ;)
Nochmals vielen Dank. Mein Anliegen ist von euch beiden sehr zufriedenstellend gelöst worden *Thumbs up*
Anzeige
AW: @Rob
29.06.2018 09:22:36
hary
Moin Rob
Wie ich im vorigem Thread die Formeln geschrieben habe.
Mit =suchen()
gruss hary
AW: @Rob
29.06.2018 09:39:23
Rob
Hm, wenn ich über Bedingte Formatierung, Regeln zum Hervorheben, Gleich die Formel =Suchen(C2;A2) eingebe, funktioniert es nicht. Nur die Istfehler-Suche hebt er dann farblich hervor. Was mache ich falsch?
AW: @Rob
29.06.2018 10:08:19
Klaus
Bed. Formatierung - Neue Regel - Formel zur Ermittlung der zu Formatierenden Zellen verwenden - Formel eintragen - Formatierung wählen - funktioniert :)
AW: @Rob
29.06.2018 10:18:57
Rob
Danke.
Dann würde ich aber auf jeden Fall die Bedingte Formatierung wählen aber wenn Dein Chef lieber noch nen Button drücken will, dann kann ich das auch gut verstehen. :-)
Anzeige
AW: @Rob
29.06.2018 10:11:20
hary
Moin
Hab nur 2007.
Reiter"Bedingte Formatierung/Formel zur Ermittlung der zu formatierenden Zellen verwenden
da Formel eintragen: =SUCHEN(C2;A2)
und Farbe festlegen.
gruss hary
AW: Vergleich 2er Zelleninhalte und färben...
29.06.2018 09:10:10
Klaus
Vielen Dank für eure Antworten.
Die bed. Formatierung habe ich sofort getestet und sie funktioniert tadellos.
Ein Makro wäre natürlich für meinen Chef "besser". (Er steht auf sowas, auch wenn er es selber nicht kann/begreift ^^)
Danke für das Makro. Wenn ich diesen in "Tabelle 1" einfüge und einen Button als Modul erzeuge, wie müste ich das anstellen? (Hänge gerade bei dem "... musst noch auf das Worksheet verweisen.") Wo genau muss dieser Verweis platziert werden im Code? Läuft das mit "WITH Worksheet(Tabelle1)" ?
Anzeige
AW: Vergleich 2er Zelleninhalte und färben...
29.06.2018 09:16:44
Rob
Wenn Du den Code direkt in Tabelle1 eingibst, musst nichts mehr verweisen. Dann passt das so.
Ansonsten mit With Sheet oder Tabelle1.UsedRange, Tabelle1.Range("C:C") aus dem Modul verweisen.
AW: Vergleich 2er Zelleninhalte und färben...
29.06.2018 09:18:27
hary
Moin
Wenn der Button auf dem Tabellenblatt liegt. Nimm ein ActiceX Steuerelement.
In den Code des Button setzt du:
Dim i As Long
For i = 2 To Cells(Rows.Count, 3).End(xlUp).Row
Cells(i, 4).Interior.Color = IIf(InStr(1, Cells(i, 1), Cells(i, 3)), vbGreen, vbRed)
Next
sollte er auf einem anderen Blatt liegen, musst du das Blatt zuweisen.
Dim i As Long
With Worksheets("Tabelle1") '-- ggf. Blattname anpassen
For i = 2 To .Cells(Rows.Count, 3).End(xlUp).Row
.Cells(i, 4).Interior.Color = IIf(InStr(1, .Cells(i, 1), .Cells(i, 3)), vbGreen, vbRed)
Next
End With

gruss hary
Anzeige
warum 2 Farben? nur falsche rot-genügt doch.
29.06.2018 11:13:31
robert
Hi,
stell Dir vor, alles ist OK- dann hast DU Zb: eine grüne Wiese... :-)
Daher-meine bescheidene Meinung- nur falsche färbig
Gruß
robert
AW: warum 2 Farben? nur falsche rot-genügt doch.
29.06.2018 11:21:58
Klaus
Ich persönlich würde mir die fehlerhaften Zeilen in ein zweites Sheet schreiben lassen. Aber Cheffchen ist mit den beiden Ergebnissen zufrieden also soll es mich nicht weiter kümmern ;-p
Bedignte Formatierung per Code einfügen
29.06.2018 13:32:34
Daniel
Hi
das ganze geht ganz einfach so:
1. erstelle einen ActiveX-Commandbutton
2. aktiviere den Entwurfsmodus und klicke den Button mit der rechten Maustaste an und wähle: Code anzeigen
3. füge in das CLICK_makro des Buttons diesen Code ein:
Private Sub CommandButton1_Click()
Me.Cells.FormatConditions.Delete
With Me.UsedRange
.Interior.Color = vbGreen
With .FormatConditions.Add(Type:=xlExpression, Formula1:="=ISTFEHLER(FINDEN(Z(0)S3;Z(0)S1))")
.Interior.Color = 255
End With
End With
End Sub

Gruß Daniel
der Code erzeugt auf Konpfdruck die entsprechende Bedingte Formatierung.
die restlichen Zellen werden grün.
Die Formel ist in der alternativen Z1S1-Bezugsart angegeben, dann funktioniert sie auch, wenn die usedrange mal nicht in Zeile 1 beginnt.
Anzeige

303 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige