Frage von Plutonius, 133

Wie übernehme ich in Excel Farben in andere Zellen?

Hallo, ich habe in Spalte A Wörter (manche doppelt) in unterschiedlich gefärbten Zellen (5 Farben für
200 Wörter). In Spalte B stehen die selben 200 Wörter in einer andren Reihenfolge, in weißen Zeilen. wie bekomme ich nun die Zellen in Spalte B in die selbe Farbe, in der das Wort in Spalte A steht?

Danke schonmal für die Hilfe :)

MFG

Pluto

Expertenantwort
von Ninombre, Community-Experte für Excel, 109

Wenn es klare Regeln gibt, würde es vermutlich über bedingte Formatierungen gehen. Wenn die Farbgebung eher willkürlich ist, fällt mir nur etwas mit VBA ein. Für die genannten Mengen sollte es ohne Performance-Optimierung gehen, also einfach zwei Schleifen:

Sub farbe()
For i = 1 To Cells(Rows.Count, 1).End(xlUp).Row
For j = 1 To Cells(Rows.Count, 1).End(xlUp).Row
If Cells(j, 2).Value = Cells(i, 1).Value Then Cells(j, 2).Interior.Color = Cells(i, 1).Interior.Color
Next j
Next i
End Sub

Kommentar von Plutonius ,

Danke für die Antwort :) sieht extrem professionell aus.

Leider bin ich nicht so in Excel gesegnet, würdest du mir auch noch sagen welche Variablen ich ändern muss, damit ich das bei mir einfügen kann? & wie ich das einfügen kann? 

Achja die zu ändernden Zellen  sind in q2:q200.... und die Ursprungswerte in (hoffe das ist kein Problem) in Tabelle "Cluster" B2:B79

Vielen Dank schonmal :)

Kommentar von Ninombre ,

Eigentlich eher eine einfach gestrickte Lösung... da werden einfach zwei Schleifen abgearbeitet: Aus der Quelltabelle einen Wert nehmen und die Zieltabelle nacheinander prüfen - wenn die Werte identisch sind, die Farbe übernehmen. Dann den nächsten Wert aus der Quelle und wieder die Zieltabelle durchgehen.

Die Anpassungen nach deinen Infos ist drin, sollte so funktionieren. Wenn die Anzahl der Zellen fix ist, kann man das Ermitteln der Anzahl weglassen und feste Werte für die For-Schleifen setzen, ab Zeile 2 bis 79 bzw. 220.

Was Du noch ändern musst ist der Name der Zieltabelle - also das sheets("Ziel") in den richtigen Namen ändern.

Sub farbe()
For i = 2 To 79
For j = 2 To 220
If sheets("Ziel").Cells(j, 17).Value = sheets("Cluster").Cells(i, 2).Value Then sheets("Ziel").Cells(j, 17).Interior.Color = sheets("Cluster").Cells(i, 2).Interior.Color
Next j
Next i
End Sub
Kommentar von Plutonius ,

Okay den Code verstehe ich sogar halbwegs damit kann ich glaube ich auch die anderen Daten der Umfrage auswerten :) 

Eine  letzte Frage habe ichallerdings noch; wo kopiere ich das rein?

habe es mit "Bedingte Formatierung" -> neue Regel -> klassisch versucht... dabei sind aber alle Zellen weiß geblieben... 

Danke nochmals!!!


ps: die zu ändernde Spalte befindet sich in der Tabelle "Dateneingabe"; die schon farblich markierte ist die Cluster Tabelle... falls ich mich schlecht ausgedrückt habe. 


Kommentar von Ninombre ,

Das ist ein VBA Makro, das muss unter dem Ribbon Entwicklertools > Visual Basic eingefügt werden, also zu einem Tabellenblatt oder "DieseArbeitsmappe"

Dort kann Du es mit F5 starten

Kommentar von Plutonius ,

okay hab die Stelle gefunden wo man das einfügt :) 

aber jetzt kommt leider die Fehlermeldung:

"Laufzeitfehler "9".: Index außerhalb des gültigen Bereichs."

Keine passende Antwort gefunden?

Fragen Sie die Community