Live-Forum - Die aktuellen Beiträge
Anzeige
Anzeige
HERBERS
Excel-Forum (Archiv)
20+ Jahre Excel-Kompetenz: Von Anwendern, für Anwender

Forumthread: Inhalt mit VBA nur löschen wenn HEUTE oder älter

Inhalt mit VBA nur löschen wenn HEUTE oder älter
18.01.2017 16:22:08
Ralph
Hallo Zusammen
Ich bin mit meinem Tool leider immer noch nicht fertig und ich habe immer wieder zusätzliche Ideen.
Wie muss ich den CommandButton1 mit VBA ergänzen, damit es nur die Zelleninhalt löschte welche das heutige Datum aufweisen oder älter sind?
https://www.herber.de/bbs/user/110676.xlsm
Besten Dank für eure Unterstützung.
Gruss Ralph
Anzeige

13
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
Inhalt mit VBA nur löschen wenn HEUTE oder älter
18.01.2017 16:47:29
Hajo_Zi
Hallo Ralph,
mal aus mweinem Archiv.
Sub löschen()
‘ mit bestimmten Datum löschen, Heute =Date
Dim LoI As Long
Dim LoLetzte As Long
' letzte Zelle in Spalte A unabhängig von Version
LoLetzte = IIf(IsEmpty(Cells(Rows.Count, 1)), Cells(Rows.Count, 1).End(xlUp).Row, Rows. _
Count)
On Error Resume Next
For LoI = LoLetzte To 1 Step -1
If IsDate(Cells(LoI, 1)) Then
If CDate(Cells(LoI, 1)) = CDate("23.12.1989") Then Rows(LoI).Delete
End If
Next
On Error Goto 0
End Sub

Anzeige
Inhalt mit VBA nur löschen wenn HEUTE oder älter
18.01.2017 16:56:01
Ralph
Hallo Hajo
Muss ich den bestehenden löschen oder mit deinem ergänzen?
Gruss Ralph
Inhalt mit VBA nur löschen wenn HEUTE oder älter
18.01.2017 16:58:34
Hajo_Zi
Hallo Ralph,
ich habe mir Deine Datei nicht angeschaut, und da Du schon ein Programm geschrieben hast nin ich davon ausgegangen das Du Dich mit VBA auskennst.
Gruß Hajo
Anzeige
Inhalt mit VBA nur löschen wenn HEUTE oder älter
18.01.2017 17:02:22
Ralph
Hallo Hajo
Leider nein, den Code verstehe ich langsam, aber schreiben oder viel ändern kann ich noch nicht.
Könntest Du mir weiterhelfen?
Gruss Ralph
geänderter Code
18.01.2017 17:18:41
Hajo_Zi
Halo Ralph,
ich teste nichts.
Private Sub CommandButton1_Click()
Dim letzteZeile&, aktZeile&
'letzte Zeile in Spalte A bestimmen
letzteZeile = Cells(Rows.Count, 12).End(xlUp).Row
'Geschwindigkeitsoptimierung einschalten
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For aktZeile = 2 To letzteZeile
If Cells(aktZeile, 12)  "x" Then
Cells(aktZeile, 12) = ""
'                .AddComment
'                .Comment.Text Text:="bla"
End If
If IsDate(Cells(aktZeile, 12)) Then
If CDate(Cells(aktZeile, 12)) = CDate("23.12.1989") Then Rows(LoI).Delete
End If
Next
'Geschwindigkeitsoptimierung einschalten
Application.Calculation = xlCalculationAutomatic
Application.ScreenUpdating = True
End Sub
Gruß Hajo
Anzeige
AW: geänderter Code
18.01.2017 17:32:02
Ralph
Hoi Hajo
Leider löscht es mir wieder alle Datum heraus. Es sollte jedoch nur die löschen welche älter oder gleich Heute sind und das x sollte auch stehen bleiben.
Ich teste doch gerne, da ich froh um Euch bin.
Gruss Ralph
Danke
AW: geänderter Code
18.01.2017 17:35:30
Hajo_Zi
Hallo Ralph,

mein Code vergleicht mit = CDate("23.12.1989") lesen kannstz Du doch? da sollte 

Gruß Hajo
Anzeige
AW: geänderter Code
18.01.2017 17:42:25
Ralph
Sorry geht immer noch nicht. Hast Du noch mehr Ideen auf Lager?
Gruss Ralph
AW: geänderter Code
18.01.2017 17:45:59
Hajo_Zi
Hallo Ralph,
mir ist das nun nzu blöd, Du kannst nicht lesen.
Das Dein Datum niccht in Spalte 12 ist, fällt Dir nicht auf.
Ich bin dann raus. Da Du nicht lesen kannst.
Gruß Hajo
Anzeige
AW: geänderter Code
18.01.2017 19:03:19
Ralph
Hallo Hajo
Sorry wenn ich dich verärgert habe. Ich komme bei der Spalte L auf die Zahl 12.
Könnte mir sonst noch jemand helfen?
Gruss Ralph
Dank an Hajo
AW: geänderter Code
18.01.2017 19:19:53
Ralph
Hallo Zusammen
Endlich habe ich es geschafft auch mit der Hilfe von Hajo. Anbei der Code.
Private Sub Abgemacht_Click()
Dim letzteZeile&, aktZeile&
'letzte Zeile in Spalte A bestimmen
letzteZeile = Cells(Rows.Count, 12).End(xlUp).Row
'Geschwindigkeitsoptimierung einschalten
Application.ScreenUpdating = False
Application.Calculation = xlCalculationManual
For aktZeile = 2 To letzteZeile
If Cells(aktZeile, 12)  "x" And Cells(aktZeile, 12) 
Besten Dank an alle
Gruss Ralph
PS: Es war die Spalte 12 ;-)
Anzeige
AW: geänderter Code
18.01.2017 19:20:33
Ralph
So jetzt ist er geschlossen.
AW: geänderter Code
18.01.2017 19:21:01
Ralph
Jetzt
;

Forumthreads zu verwandten Themen

Anzeige
Anzeige
Anzeige
Entdecke relevante Threads

Schau dir verwandte Threads basierend auf dem aktuellen Thema an

Alle relevanten Threads mit Inhaltsvorschau entdecken
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Entdecke mehr
Finde genau, was du suchst

Die erweiterte Suchfunktion hilft dir, gezielt die besten Antworten zu finden

Suche nach den besten Antworten
Unsere beliebtesten Threads

Entdecke unsere meistgeklickten Beiträge in der Google Suche

Top 100 Threads jetzt ansehen
Anzeige