Dieses Forum nutzt Cookies
Dieses Forum verwendet Cookies, um deine Login-Informationen zu speichern, wenn du registriert bist, und deinen letzten Besuch, wenn du es nicht bist. Cookies sind kleine Textdokumente, die auf deinem Computer gespeichert werden. Die von diesem Forum gesetzten Cookies werden nur auf dieser Website verwendet und stellen kein Sicherheitsrisiko dar. Cookies aus diesem Forum speichern auch die spezifischen Themen, die du gelesen hast und wann du zum letzten Mal gelesen hast. Bitte bestätige, ob du diese Cookies akzeptierst oder ablehnst.

Ein Cookie wird in deinem Browser unabhängig von der Wahl gespeichert, um zu verhindern, dass dir diese Frage erneut gestellt wird. Du kannst deine Cookie-Einstellungen jederzeit über den Link in der Fußzeile ändern.

Gruppe nach Datum löschen
#1
Hallo Spezialisten
Ich habe eine Tabelle mit ca 15'000 Zeilen, welche gruppiert ist nach Spalte"E".
Gruppe ist immer durch eine Leerzeile getrennt.

Anforderung:
Ich möchte ein Datum definieren (über eine Aufforderung oder wie im Beispiel in der Zelle "G1"

Das Makro soll nun prüfen, wenn in einer Gruppe alle Daten in der Spalte "C" vor dem definierten Datum sind, wie z.B. 01.06.2018, dann sollen die Zeilen vom ganzen Block gelöscht werden. Bsp. Zeile 11-14

als 2. soll bei den stehen geliebenen Blöcke jene ungültig gekennzeichnet werden, welche das Datum dann vor den 01.06.2018 haben. Bsp. Zeile 6. Der Eintrag könnte in der Spalte "G" erfolgen.

Das wäre super, wenn dies so ginge
Gruss Norbert


Angehängte Dateien
.xlsx   Beispieltabelle.xlsx (Größe: 14,62 KB / Downloads: 6)
Antworten Top
#2
hat sich erledigt.
Grüße aus Nürnberg
Armin
Ich benutze WIN 10 (64bit) und Office 19 (32bit)
Antworten Top
#3
Hallo
wie z.B. Block Zeile 2-6, Eintrag "ungültig" in Zeile 6 und der ganze Block bleibt aber bestehen
Nur den ganzen Block löschen, wenn alle Daten älter sind als das vorgegebene Datum.
Antworten Top
#4
Hallo,

mit VBA und der Funktion "areas" ist es in jedem Fall lösbar, aber vielleicht gibt es noch einfachere Alternative.

mfg
Antworten Top
#5
Hallo,

versuche es mal mit:

Code:
Sub F_en()
Dim Tag As Date
Tag = Range("G1")

With Columns("C").SpecialCells(2, 1).Areas
    For i = .Count To 1 Step -1
        If Application.Max(.Item(i)) < Tag Then .Item(i).EntireRow.Delete
        For ii = 1 To .Item(i).Count
            If .Item(i).Cells(ii) < Tag Then Cells(.Item(i).Cells(ii).Row, "G") = "ungültig"
        Next ii
    Next i
End With
End Sub

Die Geschwindigkeit dürfte nicht so gut sein.

mfg
[-] Folgende(r) 1 Nutzer sagt Danke an Fennek für diesen Beitrag:
  • gbw-99
Antworten Top


Gehe zu:


Benutzer, die gerade dieses Thema anschauen: 1 Gast/Gäste