Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
1332to1336
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 Wert in Spalte prüfen dann Zeile löschen

VBA Wert in Spalte prüfen dann Zeile löschen
17.10.2013 06:21:34
Michael
Hallo, ich habe mal wieder eine kleine Frage :)
ich habe in Spalte A Kundennummern stehen und in Spalte B ein Datum. Wie bekomme ich das per VBA gelöst:
Script prüft ob das Datum in Spalte B "jünger" als 30.09.2013 ist, wenn ja dann lösche die komplette Zeile.
Ich freue mich über eure Hilfe.

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

Betreff
Datum
Anwender
Anzeige
Datumsfilter reicht nicht ? owT
17.10.2013 07:31:46
robert

AW: Datumsfilter reicht nicht ? owT
17.10.2013 07:33:08
Michael
Hi, ne sorry, ich muss die Spalten löschen das ist so vorgegeben.

AW: Datumsfilter reicht nicht ?
17.10.2013 08:21:57
hary
Moin
Wenn deine Tabelle so aussieht und die Zeilen geloescht werden sollen.
Tabelle1
 AB
1IdDatum
2128.09.2013
3229.09.2013
4330.09.2013
5428.09.2013
6502.10.2013

Tabellendarstellung in Foren Version 5.30


dann geht es doch mit Filter. Probier mal in einer Mappenkopie.
Sub ZeilenLoeschen()
Dim i As Long
Application.ScreenUpdating = False
With Worksheets("Tabelle1") 'Name anpassen
i = .Cells(.Rows.Count, 1).End(xlUp).Row
Select Case Val(Application.Version)
Case 11, 12     'E2003, E2007
.Range("B1:B" & i).AutoFilter Field:=1, Criteria1:=Array(2, "

gruss hary

Anzeige
Wow ist das viel Code ;-)
17.10.2013 08:40:26
Matthias
Hallo
Warum nicht (für Dein Beispiel) einfach so ?
Dim x&
For x = 6 To 2 Step -1
If Cells(x, 2) > 41547 Then Rows(Cells(x, 2).Row).Delete
Next
Gruß Matthias

AW: Wow ist das viel Code ;-)
17.10.2013 08:54:55
hary
Moin Matthias
Ist doch nur ein Bsp., weil geschrieben wurde: "es geht nicht mit Filter"
Und weil ich immer fleissig uebe.
Ich wuerde es so schreiben. Kleiner 30.09.13 ;-)
Dim x As Long
For x = 6 To 2 Step -1
If Cells(x, 2) 

Bei vielen Zeilen evtl. erst in Union sammeln.
gruss hary

Anzeige
wieso Kleiner 30.09.13, das ist ja dann älter ...
17.10.2013 09:26:12
Matthias
Hallo hary
Zitat:
 Script prüft ob das Datum in Spalte B "jünger" als 30.09.2013 ist, wenn ja dann lösche die komplette Zeile.
Zitat Ende
Vielleicht interpretieren wir "jünger" anders
Ein jüngeres Datum ist für mich größer als der 30.09.2013 (Exceltechnisch - also als Zahl)
Ein älteres Datum liegt weiter in der Vergangenheit zurück.
Eindeutiger wäre die Frage gewesen hätte er geschrieben,
Lösche die Zeile wenn das Datum vor oder nach dem 30.09.2013 liegt.
an Michael:
Daran sieht man auch mal wunderschön, das es eigentlich sehr wichtig ist eine Frage präzise zu stellen!
Gruß Matthias

Anzeige
AW: Matthias,Jau hast recht. gruss owT
17.10.2013 09:32:01
hary
.

376 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige