Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
884to888
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
884to888
884to888
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

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

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.

152 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige