Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
260to264
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
260to264
260to264
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Inhaltsverzeichnis

Bestimmte Zeilen automatisch löschen

Bestimmte Zeilen automatisch löschen
31.05.2003 12:48:45
Rainer
Hallo!
Ich habe eine Datei die mir (durch ein Makro) automatisch eine Liste von Daten erstellt. Diese Daten ändern sich jeden Monat (werden aus einer Abfrage importiert)
In Spalte F wird eine Anzahl von Tagen angegeben. Das Makro sortiert die Liste nach Anzahl der Tage absteigend.
Nun hätte ich gerne, dass ein weiteres Makro die Spalte F durchforstet und jeden Datensatz (also jede Zeile)löscht, in der die Anzahl der Tage nicht 30 oder höher ist. Nur die Datensätze mit 30 Tagen oder mehr sind für mich relevant.
Wie krieg ich das hin?
Wäre dankbar für jeden Tip.

Rainer.

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

Betreff
Datum
Anwender
Anzeige
Re: Bestimmte Zeilen automatisch löschen
31.05.2003 13:26:47
th.heinrich

hallo Rainer,

als ansatz von Hans,

Subject: Zeile löschen, wenn ein bestimmter Wert vorkommt
Problem: Wie kann ich alle Zeilen löschen lassen, in denen der Wert "g" vorkommt?
Lösung: Geben Sie den nachfolgenden Code in ein Standardmodul ein und weisen Sie ihn einer Schaltfläche zu.

StandardModule: basMain

Sub DeleteIfG()
Dim var As Variant
Dim iRow As Integer, iRowL As Integer
iRowL = Cells(Rows.Count, 1).End(xlUp).Row
For iRow = iRowL To 1 Step -1
var = Application.Match("*g*", Rows(iRow), 0)
If Not IsError(var) Then
Rows(iRow).Delete
End If
Next iRow
End Sub

"*g*" durch "<30" ersetzen.

gruss thomas

Anzeige
Re: Bestimmte Zeilen automatisch löschen
31.05.2003 14:16:01
Rainer

Hallo Thomas!
Vielen Dank für die Antwort. Leider klappt es nicht ganz.
mit "<30" bin ich nicht weit gekommen; es wurde nichts gelöscht. es geht aber mit anderen zeichen, z.B. dem #-zeichen.
ich hab also in eine wenn-formel eingebaut, dass alles was kleiner als 30 ist als # angezeigt wird; dann kann auch jede zeile gelöscht werden.
problem: ich glaube er durchsucht jede zelle auf dem ganzen blatt nach dem #-zeichen. da die datenmenge recht umfangreich sein kann (bis zu 30000 zeilen à 7 Spalten, kann das SEHR lange dauern. mir wäre es lieber, wenn er nur die Spalte F nach dem zeichen durchsucht. geht das auch?

vielen Dank, gruß,
Rainer

Anzeige
Re: Bestimmte Zeilen automatisch löschen
31.05.2003 15:10:31
Rainer

Hallo Thomas!
Vielen Dank für die Antwort. Leider klappt es nicht ganz.
mit "<30" bin ich nicht weit gekommen; es wurde nichts gelöscht. es geht aber mit anderen zeichen, z.B. dem #-zeichen.
ich hab also in eine wenn-formel eingebaut, dass alles was kleiner als 30 ist als # angezeigt wird; dann kann auch jede zeile gelöscht werden.
problem: ich glaube er durchsucht jede zelle auf dem ganzen blatt nach dem #-zeichen. da die datenmenge recht umfangreich sein kann (bis zu 30000 zeilen à 7 Spalten, kann das SEHR lange dauern. mir wäre es lieber, wenn er nur die Spalte F nach dem zeichen durchsucht. geht das auch?

vielen Dank, gruß,
Rainer

Anzeige
Re: Bestimmte Zeilen automatisch löschen
31.05.2003 16:09:25
th.heinrich

hi Rainer,

wie gesagt, war nur als anregung gedacht.

wie sieht der CODE jetzt aus ? selbst bin ich eine VBA null, kenne mich aber mit den suchmoeglichkeiten hier im Forum aus.

den CODE zu posten macht deswegen sinn, weil ein crack damit etwas anfangen kann.

gruss thomas

danke
31.05.2003 17:44:18
Rainer

danke, das hat gehofen. der code sieht jetzt so aus, falls es jemanden interessiert:
Sub Delete()
Dim var As Variant
Dim iRow As Integer, iRowL As Integer
iRowL = Cells(Rows.Count, 1).End(xlUp).Row
For iRow = iRowL To 1 Step -1
var = Application.Match("*#*", Rows(iRow), Columns(6))
If Not IsError(var) Then
Rows(iRow).Delete
End If
Next iRow
End Sub

Anzeige
:-)) ot
01.06.2003 23:02:52
th.heinrich

.

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige