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

kleiner als aktuelles Jahr löschen

kleiner als aktuelles Jahr löschen
21.01.2019 20:33:53
Frank
Hallo,
ich habe in VBA eine Listbox mit vier Spalten, in der vierten Spalte wird eine Jahreszahl angezeigt.
Nun möchte ich, dass beim aktivieren des entsprechenden Buttons alle Zeilen aus der Tabelle entfernt werden, welche kleiner als das aktuelle Jahr sind...
Komme irgendwie nicht auf die Lösung, evtl. hat jemand eine Idee für mich.
Vielen Dank für eine Info!

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

Betreff
Datum
Anwender
Anzeige
AW: kleiner als aktuelles Jahr löschen
21.01.2019 20:36:32
Frank
PS: alle Zeilen löschen habe ich folgendermaßen gelöst:
If CheckBox1.Value = True Then
Sheets("Tabelle1").Range("A2:P500").ClearContents 'sind 500 Zeilen zum löschen ausreichend?
End If

AW: kleiner als aktuelles Jahr löschen
21.01.2019 21:01:08
onur
Hast du die Frage überhaupt richtig gelesen?
AW: kleiner als aktuelles Jahr löschen
21.01.2019 21:05:37
onur
Sorry, ich dachte, du wärest ein Helfer, der übereifrig was gepostet hat (so wie ich offensichtlich).
AW: kleiner als aktuelles Jahr löschen
21.01.2019 21:03:23
onur
Poste doch mal eine Musterdatei.
AW: kleiner als aktuelles Jahr löschen
22.01.2019 15:10:57
Frank
Einen Teilerfolg habe ich, aber es werden dabei alle Zeilen gelöscht.
For i = Cells(Rows.Count, 4).End(xlUp).Row To 2 Step -1
If CheckBox2.Value = True And Year(Cells(i, 4)) 
Vielen Dank für eine kleine Unterstützung!
Mfg. Frank
Anzeige
Cells(i,4) ohne Year !!! Gruß
22.01.2019 17:16:56
robert
AW: Cells(i,4) ohne Year !!! Gruß
22.01.2019 17:26:58
Frank

Cells(i,4) 

funktioniert, habe dabei aber noch das Problem, dass Zeilen welche mit "0" markiert sind ebenfalls gelöscht werden.
AW: Cells(i,4) ohne Year !!! Gruß
22.01.2019 17:31:47
Frank
Versuche das inzwischen mit der Funktion Formula zu lösen...
With Sheets("Tabelle1").Cells(1, 1).CurrentRegion
With .Columns(.Columns.Count + 1)
.FormulaR1C1 = "=if(AND(OR(RC4=0,RC4=Year(Today()))),row(),0)"
.Cells(1, 1) = 1
.EntireRow.RemoveDuplicates .Column, xlNo
'.ClearContents
End With
End With
es wird aber hierbei ein Duplikat nicht entfernt - wo liegt der Fehler?
Anzeige
AW: Cells(i,4) ohne Year !!! Gruß
22.01.2019 17:48:28
Frank
Folgend eine saubere Lösung:
Dim AnzahlZeilen As Long
With Sheets("Tabelle1").Cells(1, 1).CurrentRegion
With .Columns(.Columns.Count + 1)
If CheckBox2.Value = True Then
.FormulaR1C1 = "=IF(AND(OR(RC4=0,RC4=Year(Today()))),1,""x"")"
.Cells(1, 1) = 1
End If
.EntireRow.Sort key1:=.Cells(1, 1), order1:=xlAscending, Header:=xlYes
'AnzahlZeilen = WorksheetFunction.Sum(.Cells) + 1
'.ClearContents
End With
End With
aber wie bringe ich Excel dazu, dass die markierten Zeilen mit "x" gelöscht werden?
lt.Deiner Beispieldatei-so...
22.01.2019 19:02:45
robert

Private Sub CommandButton1_Click()
Dim i As Long
For i = Cells(Rows.Count, 4).End(xlUp).Row To 2 Step -1
If CheckBox2.Value = True And Cells(i, 4)  0 Then
Rows(i).Delete Shift:=xlUp
End If
Next
End Sub

Anzeige
AW: lt.Deiner Beispieldatei-so...
22.01.2019 20:56:42
Frank
Vielen Dank, funktioniert bestens!
AW: lt.Deiner Beispieldatei-so...
22.01.2019 20:58:13
Frank
Vielen Dank, funktioniert bestens!

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige