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

Zeilen löschen unter Vorgabe bestimmter Inhalten

Zeilen löschen unter Vorgabe bestimmter Inhalten
04.04.2006 11:05:35
Mio
Hallo!
Ich bin ziemlich neu, was Makros und VBA angeht, hab aber ein (für mich) schweres Problem zu lösen.
Und zwar habe ich eine Exceltabelle, aus der bestimmte Zeilen auf Knopfdruck herausgelöscht werden sollen. Das "Script" soll dann eine Zeile löschen, wenn in den Zellen der Zeile bestimmte Inhalte vorkommen.
(zB. x und y kommen in den Zellen einer Zeile vor und dann diese Zeile löschen)
Es würde für mich schon reichen, wenn er nach nur 2 Argumenten sucht und dann entsprechende Zeile, wo diese beiden auftauchenen, löscht.
Ich wäre für Hilfe sehr dankbar!!!
Grüße
Mio

9
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Zeilen löschen unter Vorgabe bestimmter Inhalt
04.04.2006 13:31:13
Reinhard
Hi Mio,
ists egal in welchen Spalten x bzw y stehen?
Gruß
Reinhard
ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
AW: Zeilen löschen unter Vorgabe bestimmter Inhalt
04.04.2006 14:43:40
Mio
Hallo!
Ja, das ist egal, im Grunde genommen ists sogar "normal", dass man nicht davon ausgehen kann, dass diese "Ausschusswerte" immer in der gleichen Spalte stehen, sondern dass sich dass von Blatt zu Blatt durchaus mal änderen kann. Da müsste das Script "variabel" sein... ;)
Grüße
Mio
noch offen o.w.T.
04.04.2006 15:01:00
Reinhard

Gruß Reinhard ps: Ich freue mich über eine Rückmeldung ob diese Antwort hilfreich war oder nicht..
Anzeige
AW: noch offen o.w.T.
04.04.2006 16:36:57
Beni
Hallo Mio,
Gruss Beni

Sub y_x_löschen()
For i = 1 To Cells(65536, 1).End(xlUp).Row
Set c = Columns(i).Find(What:="x", LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
z = c.Row
Rows(z).Delete Shift:=xlUp
End If
Set c = Columns(i).Find(What:="y", LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then
z = c.Row
Rows(z).Delete Shift:=xlUp
End If
Next i
End Sub

AW: noch offen o.w.T.
04.04.2006 17:40:46
Mio
Hey Benni!
Dank dir erst mal ganz herzlich!
Hab das mal drüberlaufen lassen...
Scheint irgendwie zu funktionieren! :)
Musste leider aber festellen, dass er (beim ersten Durchlauf) nur die ersten
2 entsprechenden Zeilen gelöscht hat, obwohl es mehr zu löschen gibt.
Führt man es dann nochmal aus, löscht er wieder nur 2 usw..
Und dann tritt noch ein großeres Problem auf: Sind nach x-mal starten des Makros alle
"gewollten" Zeilen weg, dann löscht er scheinbar wahllos irgendwelche 2 Zeilen :(
Leider kenn ich mich wie gesagt nicht mit VBA aus, als dass ich selber auf Fehlersuche gehen könnte... Wäre schön, wenn du nochmal gucken könntest, wo der Fehler liegen könnte ;)
Wie gesagt: Im ersten Durchlauf löscht er die richtigen Zeilen, allerdings nur 2.
Sind weitere Zeilen vorhanden, dann löscht er die nächsten 2, wenn man es nochmal ausführt. Sind alle richtigen Zeilen weg. löscht er scheinbar wahllos jeweils 2 weitere Zeilen...
Wünsche einen schönen Abend!
Grüße
Mio
Anzeige
AW: noch offen o.w.T.
04.04.2006 19:39:47
Gerd
Option Explicit

Sub y_x_löschen()
Dim i As Long, c As Range
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
Set c = Columns(i).Find(What:="x", LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then Rows(c.Row).Delete
Next
For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
Set c = Columns(i).Find(What:="y", LookIn:=xlValues, LookAt:=xlWhole)
If Not c Is Nothing Then Rows(c.Row).Delete
Next
End Sub

mfg Gerd
immer noch :(
05.04.2006 08:45:09
Mio
Danke auch dir, aber das Problem ist leider das gleiche geblieben... :(
Grüße
Mio
AW: noch offen o.w.T.
05.04.2006 10:29:23
Tassos
Probier es so:
'In Spalte A Stehen die "x,y"Werte
Option Explicit

Sub y_x_löschen()
Dim x As String, c As Range, z As Range, i As Long
x = Cells(Rows.Count, 1).End(xlUp).Row
Set c = Range("A1" & ":" & "E" & x)
For i = 1 To x
If Cells(i, 1) = "x" Or Cells(i, 1) = "y" Then
Rows(i).Delete
i = i - 1
End If
Next i
End Sub
Gruss!
Tassos

Anzeige
AW: noch offen o.w.T.
06.04.2006 09:13:58
Mio
Danke Tassos...
hab durch eure viele Ideen mir ein passendes Script nun zusammenbauenkönnen, was auch halbwegs funktioniert ;)
Danke, hat mir sehr geholfen!!!
Gruß
Mio

299 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige