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

For Each Zelle_in_der_Schleife.... verkürzen

Forumthread: For Each Zelle_in_der_Schleife.... verkürzen

For Each Zelle_in_der_Schleife.... verkürzen
11.07.2007 02:46:00
Karsten
Hallo...
...kann mir jemand diese Aktion kürzer machen?
For Each Zelle_in_der_Schleife In Range("M5:c31")
If Zelle_in_der_Schleife.Value = "Montag" Then
With Zelle_in_der_Schleife.Offset(0, 0).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("M5:c31")
If Zelle_in_der_Schleife.Value = "Montag" Then
With Zelle_in_der_Schleife.Offset(0, -1).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Montag" Then
With Zelle_in_der_Schleife.Offset(0, -2).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Montag" Then
With Zelle_in_der_Schleife.Offset(0, -3).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Montag" Then
With Zelle_in_der_Schleife.Offset(0, -4).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Montag" Then
With Zelle_in_der_Schleife.Offset(0, -5).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Montag" Then
With Zelle_in_der_Schleife.Offset(0, -6).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Montag" Then
With Zelle_in_der_Schleife.Offset(0, -7).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Montag" Then
With Zelle_in_der_Schleife.Offset(0, -8).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Montag" Then
With Zelle_in_der_Schleife.Offset(0, -9).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Montag" Then
With Zelle_in_der_Schleife.Offset(0, -10).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Montag" Then
With Zelle_in_der_Schleife.Offset(0, -11).Interior
.ColorIndex = 6
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Dienstag" Then
With Zelle_in_der_Schleife.Offset(0, 0).Interior
.ColorIndex = 8
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Dienstag" Then
With Zelle_in_der_Schleife.Offset(0, -1).Interior
.ColorIndex = 8
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Dienstag" Then
With Zelle_in_der_Schleife.Offset(0, -2).Interior
.ColorIndex = 8
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Dienstag" Then
With Zelle_in_der_Schleife.Offset(0, -3).Interior
.ColorIndex = 8
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Dienstag" Then
With Zelle_in_der_Schleife.Offset(0, -4).Interior
.ColorIndex = 8
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Dienstag" Then
With Zelle_in_der_Schleife.Offset(0, -5).Interior
.ColorIndex = 8
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Dienstag" Then
With Zelle_in_der_Schleife.Offset(0, -6).Interior
.ColorIndex = 8
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Dienstag" Then
With Zelle_in_der_Schleife.Offset(0, -7).Interior
.ColorIndex = 8
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Dienstag" Then
With Zelle_in_der_Schleife.Offset(0, -8).Interior
.ColorIndex = 8
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Dienstag" Then
With Zelle_in_der_Schleife.Offset(0, -9).Interior
.ColorIndex = 8
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Dienstag" Then
With Zelle_in_der_Schleife.Offset(0, -10).Interior
.ColorIndex = 8
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Dienstag" Then
With Zelle_in_der_Schleife.Offset(0, -11).Interior
.ColorIndex = 8
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Mittwoch" Then
With Zelle_in_der_Schleife.Offset(0, 0).Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Mittwoch" Then
With Zelle_in_der_Schleife.Offset(0, -1).Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Mittwoch" Then
With Zelle_in_der_Schleife.Offset(0, -2).Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Mittwoch" Then
With Zelle_in_der_Schleife.Offset(0, -3).Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Mittwoch" Then
With Zelle_in_der_Schleife.Offset(0, -4).Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Mittwoch" Then
With Zelle_in_der_Schleife.Offset(0, -5).Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Mittwoch" Then
With Zelle_in_der_Schleife.Offset(0, -6).Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Mittwoch" Then
With Zelle_in_der_Schleife.Offset(0, -7).Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Mittwoch" Then
With Zelle_in_der_Schleife.Offset(0, -8).Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Mittwoch" Then
With Zelle_in_der_Schleife.Offset(0, -9).Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Mittwoch" Then
With Zelle_in_der_Schleife.Offset(0, -10).Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Mittwoch" Then
With Zelle_in_der_Schleife.Offset(0, -11).Interior
.ColorIndex = 40
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Donnerstag" Then
With Zelle_in_der_Schleife.Offset(0, 0).Interior
.ColorIndex = 35
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Donnerstag" Then
With Zelle_in_der_Schleife.Offset(0, -1).Interior
.ColorIndex = 35
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Donnerstag" Then
With Zelle_in_der_Schleife.Offset(0, -2).Interior
.ColorIndex = 35
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Donnerstag" Then
With Zelle_in_der_Schleife.Offset(0, -3).Interior
.ColorIndex = 35
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Donnerstag" Then
With Zelle_in_der_Schleife.Offset(0, -4).Interior
.ColorIndex = 35
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Donnerstag" Then
With Zelle_in_der_Schleife.Offset(0, -5).Interior
.ColorIndex = 35
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Donnerstag" Then
With Zelle_in_der_Schleife.Offset(0, -6).Interior
.ColorIndex = 35
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Donnerstag" Then
With Zelle_in_der_Schleife.Offset(0, -7).Interior
.ColorIndex = 35
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Donnerstag" Then
With Zelle_in_der_Schleife.Offset(0, -8).Interior
.ColorIndex = 35
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Donnerstag" Then
With Zelle_in_der_Schleife.Offset(0, -9).Interior
.ColorIndex = 35
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Donnerstag" Then
With Zelle_in_der_Schleife.Offset(0, -10).Interior
.ColorIndex = 35
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Donnerstag" Then
With Zelle_in_der_Schleife.Offset(0, -11).Interior
.ColorIndex = 35
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Freitag" Then
With Zelle_in_der_Schleife.Offset(0, 0).Interior
.ColorIndex = 39
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Freitag" Then
With Zelle_in_der_Schleife.Offset(0, -1).Interior
.ColorIndex = 39
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Freitag" Then
With Zelle_in_der_Schleife.Offset(0, -2).Interior
.ColorIndex = 39
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Freitag" Then
With Zelle_in_der_Schleife.Offset(0, -3).Interior
.ColorIndex = 39
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Freitag" Then
With Zelle_in_der_Schleife.Offset(0, -4).Interior
.ColorIndex = 39
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Freitag" Then
With Zelle_in_der_Schleife.Offset(0, -5).Interior
.ColorIndex = 39
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Freitag" Then
With Zelle_in_der_Schleife.Offset(0, -6).Interior
.ColorIndex = 39
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Freitag" Then
With Zelle_in_der_Schleife.Offset(0, -7).Interior
.ColorIndex = 39
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Freitag" Then
With Zelle_in_der_Schleife.Offset(0, -8).Interior
.ColorIndex = 39
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Freitag" Then
With Zelle_in_der_Schleife.Offset(0, -9).Interior
.ColorIndex = 39
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Freitag" Then
With Zelle_in_der_Schleife.Offset(0, -10).Interior
.ColorIndex = 39
.Pattern = xlSolid
End With
End If
Next
For Each Zelle_in_der_Schleife In Range("m5:c31")
If Zelle_in_der_Schleife.Value = "Freitag" Then
With Zelle_in_der_Schleife.Offset(0, -11).Interior
.ColorIndex = 39
.Pattern = xlSolid
End With
End If
Next
Mal wieder vielen Dank im voraus!
Gruß
Karsten

Anzeige

4
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: For Each Zelle_in_der_Schleife.... verkürzen
11.07.2007 05:37:00
Oberschlumpf
Hi Karsten
Nach deinem Code innerhalb der For/Next-Schleife kann nur in Spalte L oder M ein Wochentag stehen, oder? Wenn in Spalte K der Wochentag steht, würde spätestens bei .Offset(0,-11)... ein Fehler auftreten, weil Spalte K (11) - 11 = Spalte 0 wäre. Excel beginnt aber mit Spalte 1 (A).
Ich vermute jetzt mal, dass in deiner Tabelle nur in Spalte M der Werktag steht. So würde Spalte A leer bleiben.
Versuch es mal so:

Sub werktag()
For Each Zelle_in_der_Schleife In Range("M5:M31")
Zeile = Zelle_in_der_Schleife.Row
Select Case Zelle_in_der_Schleife.Value
Case "Montag"
Range("B" & Zeile & ":M" & Zeile).Interior.ColorIndex = 6
Case "Dienstag"
Range("B" & Zeile & ":M" & Zeile).Interior.ColorIndex = 8
Case "Mittwoch"
Range("B" & Zeile & ":M" & Zeile).Interior.ColorIndex = 40
Case "Donnerstag"
Range("B" & Zeile & ":M" & Zeile).Interior.ColorIndex = 35
Case "Freitag"
Range("B" & Zeile & ":M" & Zeile).Interior.ColorIndex = 39
End Select
Next
End Sub


Konnte ich denn helfen, oder kommt es wirklich vor, dass in jeder Zelle im Bereich C5:M31 ein Werktag stehen kann?
Ciao
Thorsten

Anzeige
AW: For Each Zelle_in_der_Schleife.... verkürzen
11.07.2007 17:29:15
Karsten
Hallo Torsten,
entschuldige, hab dich leider vergessen. Klappt.
Grus Karsten

und hier noch eine Variante ...
11.07.2007 08:09:00
Matthias
Hallo
Hier eine weiter Variante
Option Explicit

Sub TestKarsten()
Dim Zelle_in_der_Schleife As Variant
Dim X, Farbe As Byte
For Each Zelle_in_der_Schleife In Range("M5:M31")
If Zelle_in_der_Schleife.Value = "Montag" Then Farbe = 6
If Zelle_in_der_Schleife.Value = "Dienstag" Then Farbe = 8
If Zelle_in_der_Schleife.Value = "Mittwoch" Then Farbe = 40
If Zelle_in_der_Schleife.Value = "Donnerstag" Then Farbe = 35
If Zelle_in_der_Schleife.Value = "Freitag" Then Farbe = 39
For X = -11 To 0
Zelle_in_der_Schleife.Offset(0, X).Interior.ColorIndex = Farbe
Next
Farbe = 0
Next
End Sub


Userbild
Ich bin dabei, genau wie Thorsten davon ausgegangen das die Tage nur in Spalte M stehen.
Userbild

Anzeige
AW: und hier noch eine Variante ...
11.07.2007 17:31:29
Karsten
Hallo Matthias,
Klappt ebenfalls. Danke.
;

Forumthreads zu verwandten Themen

Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige