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

Zellen färben

Zellen färben
06.12.2013 11:26:49
Heinz
Hallo Leute,
ich benötige Hilfe bei einem Code. Mein Programm soll folgendes machen:
-Vergleich von zwei Bereichen in zwei Blätter in einer Datei
-wenn der Inhalt von zwei Zellen aus den Bereichen gleich ist,
soll in Blatt 1 die Hintergrundfarbe zwei Zellen über der aktiven Zelle ausgelesen werden
-der Farbindex soll dann in die aktive Zelle von Blatt zwei eingefügt werden
Vermutlich scheitere ich im Moment dadran, den letzten Punkt der Liste umzusetzen.
Mein Code sieht bisher so aus:
Private Sub Worksheet_Change(ByVal Target As Range)
If Target.Adress = Worksheets("Blatt1").Range("C25:BC25") Then
Dim Color As Integer
Dim bA As Range
Dim i As Integer
bA = Range("B3:I17")
For i = 3 To 55
If Worksheets("Blatt1").Cells(27, i) = bA Then
Color = Worksheets("Blatt1").Cells(25, i).Interior.ColorIndex
End If
If bA = Worksheets("Blatt1").Cells(27, i) Then
ActiveCell.Interior.ColorIndex = Color
End If
Next
End If
End Sub

Über einen Hinweis würde ich mich wirklich freuen!

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

Betreff
Datum
Anwender
Anzeige
AW: Zellen färben
06.12.2013 11:31:46
Hajo_Zi
du kannst nur einzelne Zellen vergleichen, nicht Bereich.

AW: Zellen färben
06.12.2013 12:44:21
Heinz
Moin,
ich versuche ja in den zwei Bereichen die enthaltenen zellen miteinander zu vergleichen. Ich brauche also für das zweite Range auch eine Schleife richtig?
Gruß

AW: Zellen färben
06.12.2013 16:54:20
Hajo_Zi
Ja
Gruß Hajo

AW: Zellen färben
06.12.2013 13:07:33
Rudi
hallo,
sorry, aber das ist so krude, dass ich nicht feststellen kann, was du womit vergleichen willst.
If Target.Adress = Worksheets("Blatt1").Range("C25:BC25") Then
wird wohl niemals eintreten.
bA = Range("B3:I17")
das würde ein Array füllen, geht aber schief, da bA als Range definiert ist.
If Worksheets("Blatt1").Cells(27, i) = bA Then
das vergleicht eine Zelle mit einem Bereich, tritt also niemals ein.
If bA = Worksheets("Blatt1").Cells(27, i) Then
wie zuvor nur umgekehrt.
Was willst du?
Gruß
Rudi

Anzeige
AW: Zellen färben
06.12.2013 16:36:53
Matze
Hallo Heinz,
bist du eingenickert?
Rudi hat dir ja schon zum Code etwas geschrieben, ich gebe dir hier noch ein paar Fragen mit auf den Weg:
Du solltest hier erst einmal genau beschreiben was in deiner Mappe IST und was passieren soll(
und das am besten noch mit einer Musterdatei mit IST und SOLL Zustand)
- Ich vermute das deine "Hintergrundfarben" im Blatt1 durch "bedingte Formatierungen" gesetzt werden?
- wie sieht diese Formatierungsformel aus?
- gibt es KEINE andere Möglichkeit die Daten miteinander zu vergleichen?
Gruß Matze

AW: Zellen färben
09.12.2013 20:24:36
Heinz
Hallo Leute,
das war wohl nichts. Ich habe jetzt ein bisschen gelesen, geguckt und nochmal 'was probiert.
Unter https://www.herber.de/bbs/user/88457.xlsm ist das file zu finden.
Es gibt zwei Blätter mit zwei Inhaltsbereichen. In den Bereichen sollen die Inhalte der einzelnen Zellen miteinander verglichen werden und bei Übereinstimmung im Blatt "results" der ColorIndex zwei Zellen überhalb der aktiven Zellen genommen und auf die aktive Zelle im Blatt "SQCDP" übertragen werden.
Anbei meine Codebeispiele:
Sub Faerben()
Dim x, y, z As Integer
For x = 3 To 17
For y = 2 To 9
For z = 3 To 55
If Worksheets("results").Cells(27, z) = Worksheets("SCQDP").Cells(x, y) Then
Worksheets("SQCDP").Cells(x, y).Interior.ColorIndex = Worksheets("results").Cells( _
25, z).Interior.ColorIndex
End If
Next
Next
Next
End Sub
Sub Färben()
Dim Tab1, Tab2, Zelle, Suchzelle As Range
Set Tab1 = Worksheets("results").Range("C27:BC27")
Set Tab2 = Worksheets("SQCDP").Range("B3:I17")
For Each Zelle In Tab1
If Zelle = "" Then Exit For
For Each Suchzelle In Tab2
If Suchzelle = "" Then Exit For
If Suchzelle = Zelle Then
Suchzelle.Interior.ColorIndex = Zelle.Interior.ColorIndex
Exit For
End If
Next Suchzelle
Next Zelle
End Sub
Ich hoffe jetzt ist es verständlicher.
Grüße Heinz
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige