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

Datumsformat

Datumsformat
Joerg
Hallo,
Ich habe in einer Spalte das Datum folgendermaßen formatiert:
Mittwoch, 05.05.2004 (TTTT, TT.MM.JJJJ)
Jetzt möchte ich mit einem Makro erreichen, dass alle Reihen in denen z.B. "Mittwoch" vorkommt verschwinden.
Wer kann helfen?
Danke Joerg

18
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Benutzer
Anzeige
AW: Datumsformat
15.04.2004 18:57:45
Matthias
Hallo Joerg,
sollen die Zeilen gelöscht werden oder ausgeblendet?
Gruß Matthias
AW: Datumsformat - ausblenden
Matthias
Hallo Joerg,
hier die Variante ausblenden:

Sub WochentagAusblenden()
Const Spalte = 1 ' Datum in Spalte 1
Dim lz As Long, i As Long
lz = Cells(65536, Spalte).End(xlUp).Row 'letzte benutzte Zeile
Application.ScreenUpdating = False
For i = 1 To lz
Cells(i, 1).EntireRow.Hidden = (Weekday(Cells(i, Spalte)) = 4) 'Sonntag=1, ... Mittwoch=4
Next i
Application.ScreenUpdating = True
End Sub

Das Datumsformat ist hier übrigens egal, es muss nicht "Mittwoch" dastehen. Es reicht, wenn das Datum ein Mittwoch ist.
Gruß,
Matthias
Anzeige
Danke AW: Datumsformat - ausblenden
Joerg
Danke an alle für die Hilfe
werde die Variante ausblenden ausprobieren.
Gruss Joerg
Danke AW: Datumsformat - ausblenden
Winfried
Hi Matthias,
habe gerade rumgestöbert und kann Dein Makro abgewandelt auch brauchen.
Danke vom "Schmarotzer"
Winfried
AW: Bedien' dich! :-) - o.T.
16.04.2004 00:28:16
Matthias
-
und hier für löschen
ransi
hi jög
Public

Sub mittwoch_loeschen()
Dim zelle As Range
For Each zelle In ActiveSheet.UsedRange
If WorksheetFunction.Weekday(zelle.Value, 1) = 4 Then zelle.EntireRow.Delete
Next zelle
End Sub

oops, verkehrt.
ransi
sorry
AW: verkehrt.?
Matthias
Hallo Ransi,
also dein Code funktioniert auch...
Es wird halt jede Zeile mit einem Mittwoch gelöscht.
Gruß Matthias
Anzeige
AW: verkehrt.?
ransi
hat mir aber ne fehlermeldung gebracht, als ich eine zelle mit einer zahl formatiert habe.
AW: doch verkehrt...
Matthias
...ich hatte deinen Code in einer Tabelle getestet, in der nur 1 Spalte belegt war :-)
Gruß Matthias
ich auch ... :-(
ransi
.
*g*
Matthias
*g*
habs . (glaub ich)
ransi
Public

Sub mittwoch_loeschen()
Dim zelle As Range
For Each zelle In ActiveSheet.Range("a:A")
If zelle.Value = "" Then Exit Sub
If WorksheetFunction.Weekday(zelle.Value, 1) = 4 Then zelle.EntireRow.Delete
Next zelle
End Sub

AW: habs . (glaub ich)
Matthias
Hallo Ransi,
auch nicht ganz...
daas löschen von oben nach unten birgt die Gefahr, dass Zeilen übersprungen werden.
Setze mal zwei Mittwochs untereinander, dann wird einer "verschluckt", also nicht gelöscht. Deshalb beim zeilenweisen Löschen immer von unten nach oben löschen:

Sub mittwoch_loeschen()
Dim i As Long, lz As Long
lz = Range("A65536").End(xlUp).Row
For i = lz To 1 Step -1
If Weekday(Cells(i, 1).Value, 1) = 4 Then Rows(i).Delete
Next i
End Sub

Grüße,
Matthias
Anzeige
och nö.. :-((
ransi
und ich dachte alles ist ok.
aber danke für den tipp.
AW: seh es doch so:...
Matthias
...wieder was dazugelernt und vielleicht viel Ärger gespart beim nächsten eigenen Code!
:-)
Gruß Matthias
stimmt auch wieder
ransi
wenn man solche eigenarten nicht kennt, kann es wirklich schlimm werden....
man glaubt der code wär in ordnung (ist er ja eigentlich auch), und dann läuft er nicht.
man sucht und sucht und sucht...
naja, besten dank nochmal
AW: stimmt auch wieder
15.04.2004 21:20:54
Matthias
Hallo Ransi,
man glaubt der code wär in ordnung (ist er ja eigentlich auch),
ist er eben nicht ;-)
das lässt sich schon nachvollziehen mit dem Verschlucken:
von oben nach unten löschen

zelle 3 in schleife
___________________
1 Montag
2 Dienstag
3 Mittwoch --->
4 Donnerstag
5 Freitag
wird gelöscht:
______________
1 Montag
2 Dienstag
3 Donnerstag
4 Freitag
nächster wert:4 also Freitag
also ist der Donnerstag übersehen worden.

Gruß Matthias
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige