Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1620to1624
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
Inhaltsverzeichnis

VBA Wenn Datum in größer als dann Zeile löschen

VBA Wenn Datum in größer als dann Zeile löschen
18.04.2018 08:24:07
FR
Hallo Zusammen,
über die Forum/Google Suche habe ich bisher nichts passendes gefunden.
Ich habe eine Tabelle mit einem Datum TT/MM/JJJJ in Spalte E.
Hier muss ich oft Filtern und z. B. alles rausfiltern, wenn das Datum größer als letzter Freitag oder auch ein anderer Tag. Hier möchte ich mich aber nicht auf den Wochentag beziehen, sondern wirklich auf ein Datum TT/MM/JJJJ.
Bisher habe ich versucht ein VBA Code zufinden/erstellen, bei dem ich durch InputBox ein Datum eintrage und alles was größer ist als dieses Datum soll gelöscht werden. Also dann soll die ganze Zeile gelöscht werden. Alle meine Versuche sind gescheitert...
Hat vielleicht jemand einen guten Tipp?
Danke

7
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: VBA Wenn Datum in größer als dann Zeile löschen
18.04.2018 09:57:54
UweD
Hallo
Hier eine Lösung mit Filter.
Sub Lösche_Datum()
    Dim TB As Worksheet, Ez As Integer, SP As Integer, LR As Double, Datum As Date
    
    Set TB = Sheets("Tabelle1")
    Ez = 2 'ab Zeile 
    SP = 5 'Spalte mit Datum 

    Datum = InputBox("Grenzdatum?", "Löschen Datum", DateValue("01/01/2018"))
    
    If TB.AutoFilterMode Then TB.AutoFilterMode = False ' Autofilter ausschalten 
    With TB
        
        If WorksheetFunction.CountIf(.Columns(SP), Datum) > 0 Then 'sind überhaupt Daten da? 
            .Columns(SP).AutoFilter
            .Columns(SP).AutoFilter Field:=1, Criteria1:=">" & CDbl(Datum), Operator:=xlAnd
            
            LR = .Cells(.Rows.Count, SP).End(xlUp).Row 'letzte Zeile der Spalte 
            
            .Rows(Ez).Resize(LR - Ez + 1).Delete xlUp 'Zeilen löschen 
            
            .AutoFilterMode = False
        End If
        
    End With
End Sub

LG UweD
Anzeige
AW: VBA Wenn Datum in größer als dann Zeile löschen
18.04.2018 11:03:20
FR
Hallo UweD,
vielen Dank für deinen Vorschlag, leider wird der Vorgang bei --> .Columns(SP).AutoFilter Eine Info die ich noch vergessen habe: In einigen Zellen ist kein Datum vorhanden. Hat das eine Auswirkung auf den von dir vorgeschlagenen Code?
Beispieldatei?
18.04.2018 11:06:18
UweD
bitte Andere...
18.04.2018 16:27:49
UweD
Hallo
das liegt an deinem Tabellenobjekt und den Bereichen im sheet.
Das hebelt alle "normalen" Routinen aus.
Ich hab jetzt eine Stunde probiert und bekomm es nicht allgemein lauffähig hin.
Bin raus
LG UweD
Anzeige
AW: bitte Andere...
18.04.2018 16:41:58
Daniel
Hi
das funktioniert mit deiner Beispieldatei:
Sub löschen()
Dim Eingabe As String
Eingabe = InputBox("Datum")
If Not IsDate(Eingabe) Then
MsgBox "Bitte Datum korrekt eingeben"
Exit Sub
End If
With ActiveSheet.UsedRange
With .Columns(.Columns.Count).Offset(0, 2)
.FormulaR1C1 = "=IF(RC4>" & CLng(CDate(Eingabe)) & ",1,"""")"
.Cells(1, 1).ClearContents
If WorksheetFunction.Sum(.Cells) > 0 Then _
.SpecialCells(xlCellTypeFormulas, 1).EntireRow.Delete
.ClearContents
End With
End With
End Sub
wenn du mit "größer" "älter" gemeint hast, dann tausche in der Formelzeile (.FormulaR1C1) das Größer/Kleiner-Zeichen.
Gruß Daniel
Anzeige
AW: Beispieldatei?
19.04.2018 08:04:12
FR
Hallo Zusammen,
UweD riesen Danke für deine Hilfe.
Ich könnte die Tabellen-Formatierung auch nach dem löschen der Zeilen durchführen.
Auch an Daniel ein riesen Danke. Mit deinem Code schaffe ich es fast zum Ziel.
Eine Sache muss ich noch lösen: Der Code löscht leider auch Zeilen wo überhaupt kein Datum vorhanden ist.
Ich bastele später mal rum und berichte.
PS: In deinem Code habe ich noch etwas ergänzt: aus der 4 eine 5 bei "RC5", weil ich die Spalte E prüfen muss.
Nochmal Danke

440 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige