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

Bedingte Formatierung mit S-Verweis

Bedingte Formatierung mit S-Verweis
22.12.2022 11:01:41
marco
Hallo Liebe Excelprofis,
Ich suche nach einer Lösung in VBA
Wo ich das aktive Tabellenblatt mit einem Vorlageblatt vergleiche und mir die Farbe der Zelle wo die Überinstimmung ist im Aktuellen Tabellenblatt eingetragen wird.
Bsp. aktive Tabellenblatt ist in Spalte F ein Wert eingetragen im Volageblatt "Vorgänge" ist in Spalte "A "auch dieser wert. Jetzt soll die Farbe aus Spalte A vom Vorlageblatt in das aktive Tabellenblatt in spalte E eingefügt werden.
=SVERWEIS($F14;Vorgänge!$A$10:$A$615;1;FALSCH) Wird angewendet aus E10bis E615
Ist denn sowas mit VBA möglich?
Danke
Gruß
Marco

6
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Bedingte Formatierung mit S-Verweis
22.12.2022 12:45:26
migre
Hallo!
Bin mir ob Deiner Beschreibung nicht ganz sicher, meinst Du so:

Sub a()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim WsTemp As Worksheet: Set WsTemp = Wb.Worksheets("Vorgänge")
Dim WsAct As Worksheet, r As Range, c As Range
Dim rSearch As Range, f
Application.ScreenUpdating = False
Set WsAct = ActiveSheet
With WsTemp
Set rSearch = .Range(.Cells(1, 1), .Cells(.Rows.Count, 1).End(xlUp))
End With
With WsAct
Set r = .Range(.Cells(1, 6), _
.Cells(.Rows.Count, 6).End(xlUp))
For Each c In r
f = Application.Match(c.Text, rSearch, 0)
If Not IsError(f) Then
c.Offset(, -1).Interior.Color = _
rSearch(f).Interior.Color
End If
Next c
End With
Set Wb = Nothing: Set WsTemp = Nothing: Set WsAct = Nothing
Set r = Nothing: Set c = Nothing: Set rSearch = Nothing
End Sub
Geht im aktiven Blatt F1:Fx (letzte gefüllte in F:F) durch und sucht den jeweiligen Zell-Eintrag in Vorgänge!A1:Ax (letzte gefüllte in A:A); wenn der Eintrag gefunden wird, wird die Zellfarbe aus Vorgänge!Ax auf AktivesBlatt!Ex (x = Zeile jener Zelle in F:F, nach der gerade Vorgänge! durchsucht wurde) angewendet.
LG Michael
Anzeige
AW: Bedingte Formatierung mit S-Verweis
22.12.2022 13:27:21
Marco
Hallo Michael
, vielen Dank für die schnelle Hilfe, aber leider habe ich es nicht hinbekommen
Ich habe mal eine Musterdatei, vielleicht wir es da ersichtlicher.
https://www.herber.de/bbs/user/156896.xlsm
Gruß
Marco
AW: Bedingte Formatierung mit S-Verweis
22.12.2022 15:29:39
migre
Hi!
Der Code passt schon, hab nur eine Kleinigkeit geändert, da Du tatsächlich nach Werten abgleichst, und nicht nach Begriffen:

Sub a()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim WsTemp As Worksheet: Set WsTemp = Wb.Worksheets("Vorgänge")
Dim WsAct As Worksheet, r As Range, c As Range
Dim rSearch As Range, f
Application.ScreenUpdating = False
Set WsAct = ActiveSheet
With WsTemp
Set rSearch = .Range(.Cells(1, 1), _
.Cells(.Rows.Count, 1).End(xlUp))
End With
With WsAct
Set r = .Range(.Cells(1, 6), _
.Cells(.Rows.Count, 6).End(xlUp))
For Each c In r
f = Application.Match(c, rSearch, 0)
If Not IsError(f) Then
c.Offset(, -1).Interior.Color = _
rSearch(f).Interior.Color
End If
Next c
End With
Set Wb = Nothing: Set WsTemp = Nothing: Set WsAct = Nothing
Set r = Nothing: Set c = Nothing: Set rSearch = Nothing
End Sub
Sollte auch in Deinem Beispiel funktionieren.
LG Michael
Anzeige
AW: Bedingte Formatierung mit S-Verweis
22.12.2022 15:41:12
Marco
Hallo Michael,
Perfekt Vielen lieben Dank
genau das habe ich gesucht
ist es denn möglich, dass man das Makro erweitert,
Wenn ich jetzt die Bezugszelle im aktiven Arbeitsblatt lösche bleibt die Hintergrundfarbe , dass diese dann wieder weiß wird
Vielen Dank nochmal
Gruß Marco
AW: Bedingte Formatierung mit S-Verweis
22.12.2022 16:10:29
migre
Hi!
Bitte künftig bei Fragen in Foren alle Anforderungen gleich beim ersten Beitrag anführen; es kann durchaus sein, dass ein Code komplett umgearbeitet werden muss, wenn nach und nach neue Infos bzw. Anforderungen nachgefragt werden, und das schafft ggf. Unmut.
Bzgl. Deiner Erweiterung: Hab den Code ergänzt, jetzt wird auch geprüft ob die jew. Zelle in F:Fx leer ist oder nicht, wenn sie leer ist, wird die Füllfarbe aus Ex entfernt, wenn nicht, erfolgt die Prüfung auf Vorgänge!A1:Ax und die Färbung, wie bisher:

Sub a()
Dim Wb As Workbook: Set Wb = ThisWorkbook
Dim WsTemp As Worksheet: Set WsTemp = Wb.Worksheets("Vorgänge")
Dim WsAct As Worksheet, r As Range, c As Range
Dim rSearch As Range, f
Application.ScreenUpdating = False
Set WsAct = ActiveSheet
With WsTemp
Set rSearch = .Range(.Cells(1, 1), _
.Cells(.Rows.Count, 1).End(xlUp))
End With
With WsAct
Set r = .Range(.Cells(1, 6), _
.Cells(.Rows.Count, 6).End(xlUp))
For Each c In r
Select Case True
Case c.Value = ""
c.Offset(, -1).Interior.Pattern = xlNone
Case Else
f = Application.Match(c, rSearch, 0)
If Not IsError(f) Then
c.Offset(, -1).Interior.Color = _
rSearch(f).Interior.Color
End If
End Select
Next c
End With
Set Wb = Nothing: Set WsTemp = Nothing: Set WsAct = Nothing
Set r = Nothing: Set c = Nothing: Set rSearch = Nothing
End Sub
Hoffe das passt, ich bin für heute raus ;-), viel Erfolg und ein frohes Fest!
Michael
Anzeige
AW: Bedingte Formatierung mit S-Verweis
22.12.2022 16:20:44
Marco
Hallo Michael,
vielen Dank nochmal für deine Hilfe .
Es läuft perfekt :-)
Ja du hat recht, aber ich wusste es ehrlich gesagt nicht. es fiehl mir erst auf, al ich es getestet habe
Sorry
Dir auch ein frohes Fest und einen guten Start ins neue Jahr.
Gruß
Marco

302 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige