Excel 2003: vba Zeilen bis 1Woche zurück kopieren

Hallo,

Ich habe ein Problem.

Ich soll in Excel 2003 bzw. mit einem Makro oder über VB aus einem Tabellenblatt alle Zeilen in ein neues Tabellenblatt kopieren, die, angefangen mit dem aktuellen Datum, eine Woche zurückgehen.Die Daten sind natürlich nicht nach Datum sortiert.

Das ganze sollte durch Drücken auf einen Button realisiert werden, dem ich dann das Makro zuweisen würde.

Brauche dafür dringend hilfe.

Danke dafür schon mal.

Ich soll in Excel 2003 bzw. mit einem Makro oder über VB aus
einem Tabellenblatt alle Zeilen in ein neues Tabellenblatt
kopieren, die, angefangen mit dem aktuellen Datum, eine Woche
zurückgehen.Die Daten sind natürlich nicht nach Datum
sortiert.

Hallo Dance,

in deiner Tabelle stehen also in einer Spalte verschiedene Datümer.
Heute ist der 17.5.
Welche Zeilen willst du kopieren, nur die wo das Datum der 10.5 ist, oder alle wo das Datum zwischen 10.5 und 16.5 liegt oder wie was?

Existiert das neue Blatt schon oder soll es angelegt werden. Wenn es existiert sollen dann die neuen daten die alten überschreiben oder „unten“ angehängt werden?

Den Excel Spezialfilter kennst du?

Gruß
Reinhard

Hallo Reinhard,

Es soll eine gesamte Woche dargestellt werden.

Und zu deiner anderen Frage: Nein den Excel-Spezialfilter kenne ich nicht. Was ist das?.

Danke für deine Antwort.

Gruß

Hallo,

Die alten Daten sollen vollständig gelöscht werden und durch die neuen ersetzt werden.

Danke

Hallo Dance,

Es soll eine gesamte Woche dargestellt werden.

also wenn heute der 17.5 ist die Datümer von 11.5 bis 17.5 und morgen die von 12.5 bist 18.5?

Und zu deiner anderen Frage: Nein den Excel-Spezialfilter
kenne ich nicht. Was ist das?.

Genau das was du brauchen könntest. Daten—Filter—Spezialfilter…

Gruß
Reinhard

Genau so meinte ich das mit den Datümer.

Hi Dance100,
hast Du schon eine Lösung für Dein Problem?
Bin relativ neu in VBA, hätte aber ggf. eine Idee.
MfG Micha

Genau so meinte ich das mit den Datümer.

Hallo Dance,

in ein Standardmodul, Modul1 o.ä.

Option Explicit

Sub Filter()
Dim Zei1 As Long, Spa As Long, wks2 As Worksheet, Zei2 As Long
Set wks2 = Worksheets("Tabelle2")
With Worksheets("Tabelle1")
 Zei2 = 1
 wks2.UsedRange.ClearContents
 Zei1 = .Cells(Rows.Count, 1).End(xlUp).Row
 For Zei1 = 2 To .Cells(Rows.Count, 1).End(xlUp).Row
 If .Cells(Zei1, 1).Value = Date - 6 Then
 Zei2 = Zei2 + 1
 .Rows(Zei1).Copy Destination:=wks2.Cells(Zei2, 1)
 End If
 Next Zei1
 .Rows(1).Copy Destination:=wks2.Cells(1, 1)
End With
End Sub

Gruß
Reinhard