Hallo.
Wie kann ich diese If-Anweisungen in eine Select Case-Anweisung
packen(schreiben)?
###################################################################Sub WochentagDelete()
Dim i As Integer
'Montag
If Weekday(Date) = 2 Then
For i = 41 To 12 Step -1
If Evaluate(Weekday(Cells(i, „B“), vbFriday) And _
Cells(i, „B“) + 3 = Date Or _
Cells(i, „B“) = Date - 1) = False Then _
Cells(i, „B“).EntireRow.delete shift:=xlUp ’
Hallo,
so:
Sub WochentagDeleteNeu()
Select Case Weekday(Date)
Case 2
'Anweisungen
Case 3
'Anweisungen
Case ...
'Anweisungen
Case Else
'Anweisungen
End Sub
Gruß, Bernd
[Bei dieser Antwort wurde das Vollzitat nachträglich automatisiert entfernt]
Wie kann ich diese If-Anweisungen in eine Select
Case-Anweisung
packen(schreiben)?
Hi Andreas,
was hast du vor?
Alle Zeilen die nicht gestern sind und ein Werktag, löschen? Bei Sa und So eine Meldung ausgeben?
Warum das Evaluate?
Gruß
Reinhard
Alle Zeilen die nicht gestern sind und ein Werktag, löschen?
Bei Sa und So eine Meldung ausgeben?
Warum das Evaluate?
Kurz = ich fasse 20 Tageszettel von Mitarbeitern in einem Tagesformular zusammen (Zellen mit richtigem Datum werden grün hinterlegt, Zellen mit falschem Datum werden grau hinterlegt).
Das Makro filtert dies raus und löscht die Zeilen mit einer grauen Zelle. Es funktioniert.
Am Montag werden alle Zellen grün die das Datum vom vergangenen Freitag und Sonntag haben (Samstag wird nicht gearbeitet)
Am Dienstag werden alle Zellen grün die das Datum vom Montag haben
usw…
Graue Zellen = Mitarbeiter krank, Urlaub oder Vergeßlichkeit
Das „Evaluate“ ist nicht von mir.
Gruß, Andreas
Hi Andreas,
in dem Fall ist m.E. If besser.
Probiers mal den nachfolgenden Code. Wen es nicht klappt, lade mal eine Beispieldatei bie www.hostarea.de o.ä. hoch, wo man in Blatt1 sieht was da in Zeile 12-41 steht wenn da die tagesdinger eingetragen sind und in Blatt2 wie es nach dem Makro aussehen soll.
Möglichst so, dass man in Blatt1 erkennt,was da alles für Falscheingaben möglich sind, z.B. falsches Jahr o.ä…
Gruß
Reinhard
Option Explicit
'
Sub test()
Dim N As Integer, Loesch As Boolean
On Error GoTo Fehler
For N = 41 To 12 Step -1
Loesch = True
Loesch = Not (W(Cells(N, "B"), vbTuesday) Gruß
Reinhard
OT Stick Probleme
Hier der Link:
http://www.hostarea.de/server-09/September-b4d2fa0a0…
Hi Andreas,
k.A. warum, Problem ist erkannt, ins hauptverzeichnis des Sticks krieg ich nichts mehr reinkopiert. In Unterverzeichnisse problemlos, Platz ist auch noch reichlich.
Früher gabs mal bei Dos Einschränkungen für die Datei- oder Verzeichnisanzahl im Huaptverzeichnis C:, in Unterverzeichnissen galt das nicht, entweder liegt sowas vor, oder irgendwas mir unbekanntes:frowning:
Aber egal, ich schau mal nachher auf deine Datei.
Gruß
Reinhard