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

Mit "Find-Methode" löschen

Mit "Find-Methode" löschen
01.03.2007 16:14:32
Sophie
Hallo zusammen,
habe eine Excel-Mappe die viele Messdaten enthält.
Hieraus erstelle ich Diagramme, da es immer wieder vorkommt, daß in einzelnen Zeilen keine Werte drinstehen (anstatt eines Wertes steht eine Null drin "0" und dieses in mehreren Spalten der Zeile) möchte ich diese entfernen bzw. löschen bevor ich das Diagramm dazu erstelle.
Nun habe ich mir ein Programm erstellt, daß die Nullwerte super findet, aber ich komme nicht weiter wie ich die Zeilen gleich löschen kann. Habe mit der Find-Methode gearbeitet, bekomme aber es nicht hin, daß die Zeilen gleich gelöscht werden. (Vielleicht liegt daß Problem darin, daß die Find-Methode in der selben Zeile mehrere Nullwerte findet). Die Spalten F bis O möchte ich abfragen, wenn einer dieser Spalten einen Nullwert enthält möchte ich diese Spalte löschen.
With Worksheets("Daten").Range("F:O")
Set c = .Find("0", LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
firstaddress = c.Address
Do
If Zähler c.Row Then
Zähler = c.Row
.Rows(c.Row & ":" & c.Row).Delete
End If
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address firstaddress
End If
End With
End If
Für Euere Hilfe wäre ich Euch dankbar.
Gruß
Sophie

5
Beiträge zum Forumthread
Beiträge zu diesem Forumthread

Betreff
Datum
Anwender
Anzeige
AW: Mit "Find-Methode" löschen
01.03.2007 16:40:41
Peter
Hallo Sophie,
versuch es einmal so:
Public

Sub Loeschen()
Dim c             As Range
Dim firstaddress  As String
Dim rngSammel     As Range
With Worksheets("Daten").Range("F:O")
Set c = .Find("0", LookIn:=xlValues, lookat:=xlWhole)
If Not c Is Nothing Then
firstaddress = c.Address
Do
If rngSammel Is Nothing Then
Set rngSammel = c.Rows
Else
Set rngSammel = Union(rngSammel, c.Rows)
End If
Set c = .FindNext(c)
Loop While Not c Is Nothing And c.Address <> firstaddress
End If
End With
If Not rngSammel Is Nothing Then rngSammel.Delete
End Sub

Gruß Peter
Anzeige
AW: Mit "Find-Methode" löschen
01.03.2007 17:03:00
Sophie
Hallo Peter,
Dein Vorschlag würde super funktionieren, hat bloß einen Haken, es werden mir bloß die Spalten F:O gelöscht, die Spalten A:E bleiben die alten, die müßten auch mit gelöscht werden, sonst passt mir die Zuordnung nicht mehr.
Schönen Gruß
Sophie
AW: Mit "Find-Methode" löschen
01.03.2007 17:30:00
Peter
Hallo Sophie,
dann versuche es so:
Public

Sub Loeschen()
Dim Zelle         As Range
Dim firstaddress  As String
Dim rngSammel()   As Variant
Dim lAnzahl       As Long
With Worksheets("Daten").Range("F:O")
Set Zelle = .Find("0", LookIn:=xlValues, lookat:=xlWhole)
If Not Zelle Is Nothing Then
firstaddress = Zelle.Address
Do
lAnzahl = lAnzahl + 1
ReDim Preserve rngSammel(lAnzahl)
rngSammel(lAnzahl) = Zelle.Row
Set Zelle = .FindNext(Zelle)
Loop While Not Zelle Is Nothing And Zelle.Address <> firstaddress
End If
End With
On Error Resume Next
For lAnzahl = UBound(rngSammel) To 1 Step -1
Rows(rngSammel(lAnzahl)).Delete Shift:=xlUp
Next lAnzahl
End Sub

Gruß Peter
Anzeige
AW: Mit "Find-Methode" löschen
01.03.2007 17:53:00
Sophie
Hallo Peter,
vielen Dank für Deine Hilfe, klappt super.
Gruß
Sophie
AW: Mit "Find-Methode" löschen
02.03.2007 01:11:00
Daniel
Hallo Sophie
probier mal diese Methode:

Sub Zeilen_mit_0_löschen()
With Worksheets("Daten").Range("F:O")
.Replace What:="0", Replacement:="=0=0", LookAt:=xlWhole
.SpecialCells(xlCellTypeFormulas, 4).EntireRow.Delete
End With
End Sub

Sie basiert auf der der Methode, daß man mit GEHE ZU - INHALTE bestimmte Zellen gezielt auswählen kann, so zum Beispiel Wahrheitswerte (WAHR / FALSCH)
Das Makro ersetzt erst alle Zellen mit 0 durch einen Wahrheitswert, im 2. Schritt werden alle Zeilen, die einen Wahrheitswert (dh. vorher 0) enthalten gelöscht
Gruß, Daniel
Anzeige

300 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige