Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1532to1536
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

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

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

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
Anzeige
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
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
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

301 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige