Hey,
warum regst du dich so auf? Wenn du einem was sagst, wieso sollte sich das auf den nächsten auswirken? Du kannst die Beiträge hier auch einfach ignorieren, oder ebenso undeutliche Lösungsvorschläge machen, wenn es dir Spaß macht.
Zum Problem:
Sub Färben()
Dim Matrix As Range, X As Range
Matrix = Sheets("Matrix").Range("Matrix")
For Each X In Matrix
If X.Value = 1 Then
X.Interior.ColorIndex = 3
Else
X.Interior.ColorIndex = 4
End If
Next
MsgBox ("Die Datenprüfung wurde nach der Überprüfung von " + Matrix.Rows.Count * Matrix.Columns.Count + " Datensätzen beendet.")
End Sub
Setzt vorraus, dass deine Matrix im Datenblatt Matrix ein benannter Bereich ist. (Das Makro färbt alle Zellen mit Zellwert=1 Rot und alle anderen Grün.
Falls du einen dynamischen Bereich brauchst kann man soetwas schreiben:
Sub Färben()
Dim Matrix As Range, X As Range
With Sheets("Matrix")
Matrix = .Range(.Cells(Rows.Count, 1).End(xlUp), .Cells(4, 6)) 'Cells(Zeile, Spalte)
End With
For Each X In Matrix
If X.Value = 1 Then
X.Interior.ColorIndex = 3
Else
X.Interior.ColorIndex = 4
End If
Next
MsgBox ("Die Datenprüfung wurde nach der Überprüfung von " + Matrix.Rows.Count * Matrix.Columns.Count + " Datensätzen beendet.")
End Sub
Gruß
Till
|