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

Daten von einer Woche berechnen

Daten von einer Woche berechnen
19.08.2004 10:29:28
einer
Hallo jetzt hatte mich eine Kolleging gefragt ob ich ihr ein Macro machen könnte der nur die Daten von heute bis in einer Woche (z.B. heute : 19.08-26.08) anzeigt und die restlichen Zeilen löscht. Ich habe schon mal die Zeilen nach Datum aufsteigend sortiert und bin am überlegen wie ich das mit einer Woche hinkriege. Die Spalte mit Datumsangaben ist D (d2-Dx). ES gibt Daten die weiter in Zukunft reichen als eine Woche und andere die in der Vergangenheit liegen. Hat jemand eine Idee?
Gruss
Ryu

10
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Daten von einer Woche berechnen
19.08.2004 11:18:31
einer
Hi,
versuchs mal hiermit:

Sub test()
For i = [D65536].End(xlUp).Row To 2 Step -1
If Cells(i, 4) - Date > 7 Or _
Date - Cells(i, 4) > 0 Then
Rows(i).Delete
End If
Next
End Sub

Marc (aus Köln)
AW: Daten von einer Woche berechnen
einer
Hallo Marc,
mische mich nicht gerne ein aber warum löschst du die Daten (die ja auch in der Zukunft liegen können!!) und blendest nicht einfach die entsprechenden Zeilen aus?
Gruß
Peter
AW: Daten von einer Woche berechnen
19.08.2004 11:36:05
einer
Hi Peter,
hier war Dein Einmischen aber auch angesagt. Habe nicht weit genug gedacht!
Danke!
Marc (aus Köln)
AW: Daten von einer Woche berechnen
einer
Hallo Ryu,
mit folgendem Code blendest du die Daten aus:

Sub Datumsbereich()
Dim lgzeile As Long
For lgzeile = 2 To Range("D65536").End(xlUp).Row
If Cells(lgzeile, 4) < Date Or Cells(lgzeile, 4) > Date + 6 Then
Rows(lgzeile).Hidden = True
End If
Next
End Sub

Und damit wieder ein:

Sub AlleTermine()
Rows.Hidden = False
End Sub

Gruß
Peter
Anzeige
AW: Daten von einer Woche berechnen
19.08.2004 13:02:00
einer
Hallo Peter,
was hälst Du hiervon?

Sub Datumsbereich()
Dim lgzeile As Long
For lgzeile = 2 To Range("D65536").End(xlUp).Row
Rows(lgzeile).Hidden = Cells(lgzeile, 4) < Date Or Cells(lgzeile, 4) > Date + 6
Next
End Sub

Marc (aus Köln)
AW: Daten von einer Woche berechnen
19.08.2004 13:32:53
einer
Hallo ihr beiden danek für eure Tips. Es klappt prima. Könnt ihr mir den Code bitte erklären?
[code]
Dim lgzeile As Long
[/code]
Die Zeile ist klar. Man definiert Variable lgzeile als Datentyp Long
[code]
For lgzeile = 2 To Range("D65536").End(xlUp).Row
[/code]
Hier markiert man glaube ich die Zeilen D2 bis D65536(höchste Zeile in excel)
MIr ist nicht klar warum lgzeile =2 und nicht z.B. "D2" und warum es "end(xlUp)" und nicht "end(xlDown) heisst. Man geht doch von D2 nach D65536 runter.
könnte man auch das so schreiben damit nicht alle Zeilen sondern nur die Zeilen mit Inhalt darauf überprüft werden?
[code]
For lgzeile = 2 To Range("D" & ActiveSheet.UsedRange.SpecialCells(xlCellTypeLastCell).Row ).End(xlUp).Row
[/code]
Und die Zeile ist noch unklar der Rest ist wieder klar
[code]
If Cells(lgzeile, 4) Date + 6 Then
[/code]
Wofür ist hier 4 und welche ROlle spielt 6? Warum sthen hiere date und cells, variablen können es ja nicht sein, die sind ja nicht definiert.
Gruss
Ryu
Anzeige
AW: Daten von einer Woche berechnen
19.08.2004 14:05:49
einer
For lgzeile = 2 To Range("D65536").End(xlUp).Row
Hier wird nicht markiert! Der Ausdruck Range("D65536").End(xlUp).Row liefert die letzte gefüllte Zelle in Spalte D
UsedRange und SpecialCells sind zum Teil etwas unzuverlässige Kandidaten!
If Cells(lgzeile, 4) Date + 6 Then
Die Syntax von Cells ist Cells(Zeilennr.,Spaltennummer), somit steht die 4 für Spalte D, über lgzeile wird die Zeilennummer gesteuert
Die 6 steht für die Anzahl der Tage über dem heutigen (Date) Datum!
Marc (aus Köln)
AW: Daten von einer Woche berechnen
einer
MIr ist nich nicht klar wofür Step in deiner ersten Version war und wofür "_" nach in der 3 Zeile stand.
Anzeige
AW: Daten von einer Woche berechnen
19.08.2004 14:26:03
einer
Hi,
da in meiner Version die Zeilen ja gelöscht wurden, habe ich die For-Schleife vom letzten Wert bis zum ersten Wert (also rückwärts, das ist bei Löschvorgängen besser)laufen lassen.
mit "_" kann man innerhalb einer Zeile einen Umbruch erzeugen
Marc (aus Köln)
AW: Daten von einer Woche berechnen
einer
Ah dann kann man also lange Zeilen mit "_" trennen. Gut. Danke.! Ich werde demnächst mal wieder eine Frage mit Datum haben, weil ich momentan selber einen Macro mache bei dem die Daen analysiert werden sollen z.B. für eltzte KW, letzten Monat, letzten Jahr usw. Ich werde mich dann wieder später melden. Bis dahin muss ich einen Teil von macro zuende schreiben und noch eine Fehlermöglichkeit abfangen.
Anzeige

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige