Live-Forum - Die aktuellen Beiträge
Anzeige
Archiv - Navigation
908to912
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
908to912
908to912
Aktuelles Verzeichnis
Verzeichnis Index
Verzeichnis Index
Übersicht Verzeichnisse
Zahlen suchen und zugehörige Zeile löschen
25.09.2007 13:07:23
Benjamin
Moin moin,
ich habe folgende Situation:
in Spalte A stehen Artikelnummern, in Spalte B der zugehörige Artikeltext, in Spalte C die Artikelmenge.
Einige der Artikelnummern enden mit einer 0 (die Hauptartikel).
Ist es möglich, genau diese Zeilen (in denen die Hauptartikel stehen) komplett mit Texten und allem, was dazu gehört, automatisch zu löschen? Die Liste ist einfach zu lang, um sie manuell nach Hauptartikeln zu durchsuchen.
Vielen Dank im Voraus für eure Hilfe.
Gruß
Ben

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

Betreff
Datum
Anwender
Anzeige
AW: Zahlen suchen und zugehörige Zeile löschen
25.09.2007 13:19:23
Worti
Hallo Ben,
so gehts:


Sub DelArtikel()
    Dim i As Long
    For i = Cells(Rows.Count, 1).End(xlUp).Row To 1 Step -1
        If Right(Cells(i, 1).Value, 1) = "0" Then
           Rows(i).Delete
        End If
    Next i
End Sub


Gruß Worti

Anzeige
AW: Zahlen suchen und zugehörige Zeile löschen
25.09.2007 13:20:50
Daniel
Hi,
so müsste es gehen:

Private Sub CommandButton1_Click()
Dim i As Integer
zeilenanzahl = ActiveSheet.Cells(Rows.Count, 1).End(xlUp).Row
For i = 1 To zeilenanzahl
If Right(Cells(i, 1), 1) = 0 Then
Rows(i).Delete Shift:=xlUp
End If
Next i
End Sub


Gruß
Daniel

AW: Zahlen suchen und zugehörige Zeile löschen
25.09.2007 13:27:27
Benjamin
Hallo Worti, hallo Daniel,
vielen Dank für die schnelle Hilfe. Ich werde es gleich mal ausprobieren.
Gruß
Ben

Kleiner Tipp ;-)
25.09.2007 13:36:00
Worti
Hallo Daniel,
beim Löschen von Zeilen in einer Schleife immer rückwärts gehen, sonst klappts bei 2 aufeinanderfolgenden Treffen nicht!
Gruß Worti

Anzeige
AW: noch ein Tip vom anderen Daniel
25.09.2007 21:44:00
Daniel
Hi
solche Aufgaben löst man auch mit VBA ohne Schleife, weil bei vielen Datensätzen bin ich ja von Hand schneller als so ein Schleifenmakro.
Lösungsschema:
- Hilfsspalte einfügen
- Fomel reinschreiben, die bei zu löschenden Zeilen das Ergebnis WAHR hat, ansonsten aber die Zielen-Nummer reinschreibt.
- Daten jetzt nach Hilfsspalte sortieren (verbessert die Performance bei grossen Datenmengen)
- über BEARBEITEN - GEHE ZU - INHALTE - WAHRHEITSWERTE die zu löschenden Zeilen selektiern und löschen.
- Hilfsspalte löschen.
Fertig.
funktioniert auch bei 60.0000 Zeilen problemlos und schnell
als Makro siehts dann so aus:

Sub Zeilen_löschen()
Columns(1).Insert
With Range("B1").CurrentRegion.Columns(1).Offset(0, -1)
.FormulaR1C1Local = "=WENN(RECHTS(ZS(1);1)=""0"";WAHR;ZEILE())"
.Formula = .Value
.CurrentRegion.Sort key1:=Range("A1"), order1:=xlAscending, header:=xlNo
.SpecialCells(xlCellTypeConstants, 4).EntireRow.Delete
.EntireColumn.Delete
End With
End Sub


Gruß, Daniel

Anzeige

305 Forumthreads zu ähnlichen Themen

Anzeige
Anzeige
Anzeige

Links zu Excel-Dialogen

Beliebteste Forumthreads (12 Monate)

Anzeige

Beliebteste Forumthreads (12 Monate)

Anzeige
Anzeige
Anzeige