Erstmal recht herzlichen Dank für Deine rasche Hilfe, aber irgendwie tut sich bei mir da gar nichts :-(
Nochmal kurz zur Erklärung:
sobald sich in der Spalte EF unter anderem der Eintrag "Mo" oder "Di", ... oder "Sa" und in der Spalte EE "LN" findet, soll der Inhalt der Spalten ED bis EG der jeweiligen Zeile in das betreffende Tabellenblatt kopiert werden - zum Beispiel: ED4 bis EG4 sollte in die Blätter "LN-MO", "LN-DI", "LN-MI", "LN-DO", "LN-FR" kopiert werden, da in der Zelle EF4 "MoDiMiDoFr" steht, ED7 bis EG7 hingegen nur in die Blätter "LN-DI" und "LN-DO", da in der Zelle EF7 "DiDo" steht.
Dein Vorschlag funktioniert, so glaube ich, deshalb nicht, weil nur nach "Mo", "Di" ... "Sa" gesucht wird - ich hab zwar schon versucht nach "*Mo*", "*Di*" ... "*Sa" suchen zu lassen, funktioniert aber auch nicht :-(
Hoffe, daß ich mich nun klar ausgedrückt habe.
Danke!
lg Andreas
Das war Deine Antwort:
hallo Andreas,
eigentlich sieht Dein Code in Ordnung aus,
ED bis EG werden gelöscht, weil Du am Anfang für die ersten vier Tabellenblätter definierst:
For i = 1 To 4
Worksheets(i).Range("ED4:EG3000").Value = ""
Next i
Ich habe Deinen Code nachprogrammiert und dabei zusammengefasst:
Sub test()
Spaltenbeginn = 145 'hier ändern für EO z.B. Spaltenbeginn = 145
Spaltenende = 152 'hier ändern für EV z.B. Spaltenende = 152
Worksheets("Alle").Select
For Each Tag In Array("Mo", "Di", "Mi", "Do", "Fr", "Sa")
Zeile = 3
For i = 3 To Range("EF65536").End(xlUp).Row
If Range("EE" & i) = "LN" And InStr(1, Range("EF" & i), Tag) > 0 Then
For j = Spaltenbeginn To Spaltenende
Worksheets("LN-" & UCase(Tag)).Cells(Zeile, j) = Cells(i, j)
Next j
Zeile = Zeile + 1
End If
Next i
Next Tag
End Sub
und es ist eigentlich alles in Ordnung. Findet er in EF den Wochentag, kopiert er EO bis EV auf das betroffene Tabellenblatt. Das war doch Dein Ziel, nicht?
viele Grüße. Heide