Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender
Anzeige
Inhaltsverzeichnis

Hintergrundfarbe einer Zelle aus einer Matrix übernehmen

Forumthread: Hintergrundfarbe einer Zelle aus einer Matrix übernehmen

Hintergrundfarbe einer Zelle aus einer Matrix übernehmen
16.11.2024 21:01:32
Herbert Heidlmair
hallo allseits,

ich kämpfe schon seit einigen Tagen, habe aber keine Möglichkeit gefunden, dies mit einer Formel zu lösen. Vermute mal, es bedarf eines Makros, daher auch gleich meine Musterdatei als Hilfestellung. Dort habe ich auch ergänzt, wie ich mir das vorstellen würde.
Ich gebe in einer Tabelle (Blatt Test) in bestimmte Zellen Zeichen ein (siehe vorausgefüllte Zellen).

Die ersten Punkte (50) sucht es aus der Matrix im Blatt "WI" - je nach Zeile und Spalte ist beim relevanten Wert eine gewisse Farbe (keine, gelb, blau) hinterlegt.
dies gilt auch für die beiden weiteren Punkteberechnungen, die zweiten Punkte (6) aus der Matrix im Blatt "DL" und die dritten Punkte (12) aus der Matrix im Blatt "VW".

Ich hätte hier gerne im Blatt "Test" für diese drei relevanten Zellen neben dem korrekten Punktewert auch die jeweilige Hintergrundfarbe, die diesem Punktewert zugrunde liegt. Diese kann je nach Eingabe meinerseits natürlich andere Punkte ergeben und sollte daher auch die Hintergrundfarbe jedes mal mit prüfen.

sollte dies mittels Formel möglich sein, sehr gerne um Input :)
sollte es mittels VBA leichter lösbar sein, dann freue ich mich natürlich, wenn sich hier Fachkundige finden, die mir dies ev. mit kurzer Beschreibung der Schritte liefern können. Falls ich irgendwann einmal ein paar Anpassungen und Ergänzungen machen darf.

besten Dank für Vorschläge und Ideen eurerseits!
LG Herbert

https://www.herber.de/bbs/user/173662.xlsx
Anzeige

8
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Hintergrundfarbe einer Zelle aus einer Matrix übernehmen
17.11.2024 11:49:18
{Boris}
Hi,

so ganz schlau werde ich aus Deiner Anfrage noch nicht.
Grundsätzlich bietet Excel formeltechnisch keine Bordmittel, um Hintergrundfarben auszulesen. Wenn die Hintergrundfarben einer gewissen Logik folgen, kann man sich diese Logik bei der Bedingten Formatierung zu Nutze machen und dort entsprechend viele unterschiedliche Formate (Regeln) festlegen.
Alles andere geht zwar mittels VBA, ist aber idR ein Workaround für eine suboptimale Vorgehensweise.

VG, Boris
Anzeige
AW: Hintergrundfarbe einer Zelle aus einer Matrix, VBA
18.11.2024 09:00:19
MCO
Moin, Herbert!

Dieser Code macht was du willst, jedenfalls in der Testdatei.

Es werden alle Zellen mit Inhalt in Spalte C behandelt, in denen "Punkte" steht

Im Select case lege ich den Suchbereich für die Begriffe fest, anschließen wird gesucht.
Im gefundenen Wert wird der ausgelesene Hintergrund direkt zugewiesen.

Sub Hintergrundfarbe_kopieren()


Dim sh As Worksheet
Dim cl As Range
Dim such_zeil As Range
Dim such_sp As Range
Dim z_str As String
Dim sp_str As String
Dim gef_z As Range
Dim gef_sp As Range

For Each cl In Range("C1:C50").SpecialCells(xlCellTypeConstants)

If cl.Value = "Punkte" Then
Select Case cl.Row
Case 6
Set sh = Sheets("WI")
Set such_zeil = sh.Range("B:B")
Set such_sp = sh.Rows(7)
z_str = cl.Offset(-4, 1)
sp_str = cl.Offset(-1, 1)
Case 10
Set sh = Sheets("DL")
Set such_zeil = sh.Range("A:A")
Set such_sp = sh.Rows(4)
sp_str = cl.Offset(-4, 1) 'Achtung, umgekehrt zu den anderen!
z_str = cl.Offset(-1, 1)
Case 15
Set sh = Sheets("VW")
Set such_zeil = sh.Range("C:C")
Set such_sp = sh.Rows(4)
sp_str = cl.Offset(-1, 1)
z_str = cl.Offset(-4, 1)
End Select

Set gef_z = such_zeil.Find(what:=z_str, lookat:=xlWhole)
Set gef_sp = such_sp.Find(what:=sp_str, lookat:=xlWhole)

'Debug.Print sh.Cells(gef_z.Row, gef_sp.Column).Address(0,0)
cl.Offset(0, 2).Interior.ColorIndex = sh.Cells(gef_z.Row, gef_sp.Column).Interior.ColorIndex
End If
Next cl

End Sub


Gruß, MCO
Anzeige
AW: Hintergrundfarbe einer Zelle aus einer Matrix, VBA
18.11.2024 12:54:52
Herbert Heidlmair
danke an MCO für den VBA Code, werde ihn mir zu Gemüte führen und sollte ich noch eine Frage haben, melde ich mich gerne nochmals :)

LG Herbert
AW: Hintergrundfarbe einer Zelle aus einer Matrix, VBA
18.11.2024 22:35:07
Herbert Heidlmair
hallo MCO,
ich hätte es jetzt als VBA reingespeichert, leider macht es überhaupt nichts :)
weißt du, ob hier noch etwas zu beachten ist? muss ich ansonsten noch irgendwo etwas eingeben?
habe den VBA mit Alt+F11 in die Tabelle Test eingefügt, aber wenn ich die Werte in dem Eingabebereich verändere und in Richtung der hellblauen bzw. orangen Werte bringe, bleibt trotzdem alles weiß :)
danke für deinen Input
LG Herbert
Anzeige
AW: Hintergrundfarbe einer Zelle aus einer Matrix, VBA
19.11.2024 10:14:34
MCO
Hallo Herbert!

Von "automatisch bei Eingabe" hab ich nix gelesen...
In dem Fall musst du in Editor in die entsprechende Tabelle klicken und das hier einfügen:


Private Sub Worksheet_Change(ByVal Target As Range)


If Target = "" Then Exit Sub
Hintergrundfarbe_kopieren
End Sub


Gruß, MCO
Anzeige
AW: Hintergrundfarbe einer Zelle aus einer Matrix, VBA
19.11.2024 21:56:10
Herbert Heidlmair
hallo MCO,
danke für deine Rückmeldung und sorry, dass es nicht klar rüber gekommen ist.
deswegen dachte ich eigentlich, dass man aus dem Excel das herauslesen kann, was ich meinte bzw. was ich will.

Leider macht es noch immer nicht das, was ich möchte. Ich versuche es daher nochmals zu erklären, was ich gerne schaffen möchte.

Tabelle "Test":
ich gebe in Zelle D2 den Wert "A" ein
ich gebe in Zelle D3 den Wert "III" ein
ich gebe in Zelle D4 den Wert "2" ein
--> es errechnet automatisch die Punktezahl 115
--> Ziel: ich hätte gerne auch bei 115 jene Hintergrundfarbe, die in der Tabelle "WI" beim jeweiligen Wert (hier 115) hinterlegt ist --> das wäre hier eigentlich hellblau

würde ich die Werte in den obigen Zellen wieder verändern, dann ändern sich auch die Punkte und dementsprechend auch die Hintergrundfarbe.

gleiches dann auch für die weiteren beiden Punkte, die darunter errechnet werden.

wenn es dafür ein Makro gibt, das diese Hintergrundfarben entsprechend meinen Eingaben automatisch übernehmen würde, wäre ich sehr dankbar :)
sorry, ich hoffe, es wurde jetzt klarer für dich was ich meine?
LG Herbert
Anzeige
AW: Hintergrundfarbe einer Zelle aus einer Matrix übernehmen
17.11.2024 12:20:20
Herbert Heidlmair
danke Boris für deine Antwort.
Leider ist mir das nicht wirklich hilfreich, es folgt nämlich wie du erwähnst keiner bestimmten Logik, daher habe ich es auch mit keiner Formel bislang lösen können.
Deswegen würde ich vermuten, dass jemand eine Lösung mittels VBA findet. Auch wenn es vielleicht suboptimal sein sollte, solange es die Hintergrundfarbe korrekt auslest, wäre es für mich jedenfalls trotzdem optimal :)
danke
LG Herbert
Anzeige
AW: Hintergrundfarbe einer Zelle aus einer Matrix übernehmen
18.11.2024 00:40:34
{Boris}
Hi,

ich markier den Beitrag mal als "offen". Eventuell findet sich ja jemand für ne VBA-Lösung.

VG, Boris

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Anzeige