Doug hat eine Datentabelle, die eine Spalte mit Teilenummern enthält. Diese Daten sind nach der Teilenummernspalte sortiert. Die Teilenummern sind nicht eindeutig. Beispielsweise erscheinen einige Teilenummern dreimal in der Tabelle und andere fünfmal. Doug möchte die Tabelle so formatieren, dass die Zeilen der Tabelle einen „grünen Balken“ -Effekt haben.

Beispielsweise können die ersten fünf Zeilen dieselbe Teilenummer haben, sodass Doug möchte, dass diese Zeilen grün schattiert werden. Die nächsten beiden Reihen haben eine andere Teilenummer, daher möchte er, dass diese keine grüne Schattierung haben. Die nächsten drei Zeilen haben die nächste Teilenummer, daher sollten diese wieder grün sein und so weiter. Jedes Mal, wenn sich die Teilenummer ändert, sollte sich die Schattierung der Zeile (grün oder nicht grün) ändern.

Eine einfache Möglichkeit, diese Aufgabe auszuführen, besteht darin, eine Hilfsspalte zu erstellen, in der abhängig von der Teilenummer in Spalte A entweder eine 0 oder eine 1 angezeigt wird.

Angenommen, Sie möchten Ihre Hilfsspalte in Spalte Z einfügen. Sie können die folgende Formel in Zelle Z2 einfügen:

=IF(A2=A1,Z1,1-Z1)

Kopieren Sie die Formel in Spalte Z für jede Zeile in Ihrer Datentabelle. Wenn dies erledigt ist, enthält Spalte Z entweder 1 oder 0 und wechselt nur, wenn sich die Teilenummer in Spalte A ändert. Sie können dann den Wert in Spalte Z als Steuerwert für Ihre bedingte Formatierung verwenden. Sie müssen lediglich die Formel im Format so einstellen, dass Ihre Zellen grün sind, wenn Spalte Z 1 enthält.

Sie sollten beachten, dass Sie die Spalte Z ausblenden können, sobald Ihre bedingte Formatierung eingerichtet ist und ordnungsgemäß funktioniert, damit sie niemanden ablenkt, der Ihre Datentabelle verwendet.

Wenn Sie aus irgendeinem Grund keine Hilfsspalte verwenden können, gibt es eine ziemlich coole Formel, die Sie im bedingten Format selbst verwenden können. Stellen Sie einfach sicher, dass Ihre Datentabelle nach Spalte A (den Teilenummern) sortiert ist, und wählen Sie dann alle Zellen in der Tabelle mit Ausnahme der Spaltenüberschriften aus. Definieren Sie dann ein bedingtes Format, das diese Formel verwendet:

=MOD(SUMPRODUCT(--(($A$1:INDIRECT(ADDRESS(ROW()-1,1,3,1))

=$A$2:INDIRECT(ADDRESS(ROW(),1,3,1)))=FALSE)),2)

Denken Sie daran, dass dies eine einzelne Formel ist, die in der bedingten Formatierungsregel in einer Zeile eingegeben wird. Diese Formel setzt voraus, dass sich die Teilenummern in Spalte A befinden und dass die Datentabelle in Zelle A2 beginnt.

Wenn Sie Zeilen in der Datentabelle löschen, möchten Sie das bedingte Format erneut auf alle Zellen in der Datentabelle anwenden.

Schließlich gibt es eine beliebige Anzahl von Makros, die Sie schreiben können, um die Formatierung anzuwenden. Alles, was Sie tun müssen, ist, den Makroschritt durch die Zellen in Spalte A zu führen, um festzustellen, ob sich die Teilenummer ändert, und dann die richtige Formatierung basierend auf den Erkenntnissen anzuwenden. Hier ist ein Beispiel:

Sub ShadeRows()

Dim ThisOrder As Long     Dim PrvOrder As Long     Dim LastRow As Long     Dim Clr As Integer     Dim R As Long

LastRow = ActiveSheet.Range("A" & Rows.Count).End(xlUp).Row

' Enter desired color codes here     ' (24 is Lavender, 35 is Light Green)

RwColor = Array(24, 35)



Clr = 0  ' Used to toggle between the two colors

For R = 2 To LastRow         ThisOrder = Cells(R, 1).Value         PrvOrder = Cells(R - 1, 1).Value         If ThisOrder <> PrvOrder Then Clr = 1 - Clr

' Select only the columns that are used         Range("A" & R & ":M" & R).Select         Selection.Interior.ColorIndex = RwColor(Clr)

Next R End Sub

_Hinweis: _

Wenn Sie wissen möchten, wie die auf dieser Seite (oder auf einer anderen Seite der ExcelTips-Websites) beschriebenen Makros verwendet werden, habe ich eine spezielle Seite vorbereitet, die hilfreiche Informationen enthält.

ExcelTips ist Ihre Quelle für kostengünstige Microsoft Excel-Schulungen.

Dieser Tipp (10517) gilt für Microsoft Excel 97, 2000, 2002 und 2003.

Eine Version dieses Tippes für die Multifunktionsleistenoberfläche von Excel (Excel 2007 und höher) finden Sie hier: