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

Zeilen Loeschen

Zeilen Loeschen
Josef
Hallo!
die Zeile mit
"iaR = ActiveSheet.UsedRange.Rows.Count"
lässt sich nicht kompilieren. Woran könnte das liegen und welche andere Möglichkeit gibt es?
Josef

Sub LoeschenWGT2()
Dim i As Long
Dim iaR As Long
Application.ScreenUpdating = False
Sheets("Funk").Select
iaR = ActiveSheet.UsedRange.Rows.Count
iaR = Cells(Row.Count, 5).End(xlUp).Row
For i = 1 To iaR
If Cells(i, 5).Text = "009-30" Then
Cells(i, 4).EntireRow.Delete
End If
Next i
Application.ScreenUpdating = True
End Sub

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

Betreff
Benutzer
Anzeige
AW: Zeilen Loeschen
ChrisL
Hi Josef

Sub LoeschenWGT2()
Dim i As Long
Application.ScreenUpdating = False
With Sheets("Funk")
For i = .UsedRange.Rows.Count To 1 Step -1
If .Cells(i, 5).Text = "009-30" Then .Rows(i).EntireRow.Delete
Next i
End With
Application.ScreenUpdating = True
End Sub

Generell versuchen auf Select zu verzichten...
http://xlfaq.herber.de/xlbasics/main_sel.htm
Ferner Zeilen immer von unten nach oben löschen (Step -1)
Gruss
Chris
AW: Zeilen Loeschen
Thomas
Hey!
Wäre super wenn du beim nächsten mal dazu schreibst was du möchtest, denn sonst ist es mühsam sich den Fehler herauszusuchen....
Ich würde es einmal statt long mit einem Integer versuchen für i (Dim i as Integer)
Thomas H.
Anzeige
AW: Zeilen Loeschen
ChrisL
Hi Thomas
Sorry, aber Long ist schon richtig, da es 65536 Zeilen gibt. Bei Integer besteht Gefahr von Überlauf.
Gruss
Chris
AW: Zeilen Loeschen
Bert
Das hier ist falsch:
Cells(Row.Count, 5).End(xlUp).Row
richtig:
Cells(Rows.Count, 5).End(xlUp).Row
Was macht es für einen Sinn der gleiche Variablen 2 mal nacheinabder
einen Wert zuzuweisen?
For i = iaR To 1 Step -1
If Cells(i, 5).Text = "009-30" Then
Rows(i).Delete
End If
Next i
Bert
AW: Zeilen Loeschen
Josef
Danke für die Hilfe,
jetzt zeigt es keinen kompilierfehler mehr an, aber es tut sich trotz dem nichts.
Zur Erläuterung: die Zahl 009-30 oder 009-58 befinden sich in der Spalte D und andere Zahlen vom gleichem Format. Nun sollen diese Zahlen durchsucht werden und wenn eben die Zahl 009-30 oder 009-58 auftaucht soll die ganze Spalte gelöscht werden.
Hier nochmal der Code.

Sub LoeschenWGT4()
'Loeschen von falschen WG
Dim i As Long
Dim iaR As Long
Application.ScreenUpdating = False
iaR = ActiveSheet.UsedRange.Rows.Count
For i = iaR To 1 Step -1
If Cells(i, 4).Text = "009-30" Then
Rows(i).Delete
End If
Next i
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Zeilen Loeschen
Bert
Du schreibst Zahlen suchst aber nach einem String. Lad doch einfach mal
ein abgespecktes Beispiel hoch.
Bert
AW: Zeilen Loeschen
ChrisL
Hi Josef
Erstens ist es Spalte 4 und nicht 5 und zweitens hast du hinter den Bezeichnungen noch einen Leerschlag zuviel.
Gruss
Chris

Sub LoeschenWGT2()
Dim i As Long
Application.ScreenUpdating = False
With Sheets("Funk")
For i = .UsedRange.Rows.Count To 1 Step -1
If .Cells(i, 4) = "009-30" Or .Cells(i, 4) = "009-30 " Then .Rows(i).EntireRow.Delete
Next i
End With
Application.ScreenUpdating = True
End Sub

Anzeige
AW: Zeilen Loeschen
06.04.2004 11:53:33
Josef
Hi Chris,
welche Bezeichnungen und welchen Leerschlag?
Es funktioniert im übrigen immer noch nicht. Ich vermute immer noch das Excel den Text in Spalte 4 (009-30) mit cell(i,4).value als Zahl interpretiert und deshalb nicht erkennt.
Gruß
Josef

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige